@wordpress/block-editor 12.23.0 → 12.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +5 -1
- package/build/autocompleters/block.js.map +1 -1
- package/build/autocompleters/link.js.map +1 -1
- package/build/components/alignment-control/index.js.map +1 -1
- package/build/components/alignment-control/ui.js +3 -1
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/constants.js.map +1 -1
- package/build/components/block-alignment-control/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.native.js.map +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-caption/index.native.js.map +1 -1
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-compare/block-view.js.map +1 -1
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-context/index.js.map +1 -1
- package/build/components/block-controls/fill.js.map +1 -1
- package/build/components/block-controls/groups.js.map +1 -1
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-controls/index.js.map +1 -1
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js.map +1 -1
- package/build/components/block-controls/use-has-block-controls.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build/components/block-draggable/dropping-insertion-point.native.js +1 -1
- package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +1 -1
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
- package/build/components/block-edit/context.js +2 -1
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-edit/edit.native.js.map +1 -1
- package/build/components/block-edit/index.js +4 -2
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-edit-visually-button/index.js.map +1 -1
- package/build/components/block-editing-mode/index.js.map +1 -1
- package/build/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-icon/index.native.js.map +1 -1
- package/build/components/block-info-slot-fill/index.js.map +1 -1
- package/build/components/block-inspector/index.js +5 -4
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
- package/build/components/block-list/block-crash-boundary.js.map +1 -1
- package/build/components/block-list/block-crash-boundary.native.js.map +1 -1
- package/build/components/block-list/block-crash-warning.js.map +1 -1
- package/build/components/block-list/block-crash-warning.native.js.map +1 -1
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build/components/block-list/block-list-context.native.js.map +1 -1
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-outline.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js +44 -35
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +2 -2
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/grid-item.native.js.map +1 -1
- package/build/components/block-list/index.js +18 -6
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +1 -9
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/insertion-point.native.js.map +1 -1
- package/build/components/block-list/layout.js.map +1 -1
- package/build/components/block-list/private-block-context.js.map +1 -1
- package/build/components/block-list/subdirectory-icon.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +8 -7
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-refs.js +17 -46
- package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +3 -2
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
- package/build/components/block-list/use-block-props/use-intersection-observer.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +10 -14
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -1
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-lock/index.js.map +1 -1
- package/build/components/block-lock/menu-item.js.map +1 -1
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-lock/use-block-lock.js.map +1 -1
- package/build/components/block-media-update-progress/index.native.js.map +1 -1
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +3 -1
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-mover/mover-description.js.map +1 -1
- package/build/components/block-mover/mover-description.native.js.map +1 -1
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/constants.js.map +1 -1
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +8 -4
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-popover/cover.js.map +1 -1
- package/build/components/block-popover/drop-zone.js.map +1 -1
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-popover/use-popover-scroll.js.map +1 -1
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-rename/index.js.map +1 -1
- package/build/components/block-rename/is-empty-string.js.map +1 -1
- package/build/components/block-rename/modal.js +13 -9
- package/build/components/block-rename/modal.js.map +1 -1
- package/build/components/block-rename/rename-control.js +3 -1
- package/build/components/block-rename/rename-control.js.map +1 -1
- package/build/components/block-rename/use-block-rename.js.map +1 -1
- package/build/components/block-selection-clearer/index.js.map +1 -1
- package/build/components/block-settings/button.native.js.map +1 -1
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings/index.native.js +1 -1
- package/build/components/block-settings/index.native.js.map +1 -1
- package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +0 -25
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-styles/menu-items.js.map +1 -1
- package/build/components/block-styles/preview-panel.js.map +1 -1
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-styles/use-styles-for-block.js.map +1 -1
- package/build/components/block-styles/utils.js.map +1 -1
- package/build/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +6 -2
- package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build/components/block-switcher/utils.js +15 -5
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-title/index.js.map +1 -1
- package/build/components/block-title/use-block-display-title.js.map +1 -1
- package/build/components/block-toolbar/block-name-context.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build/components/block-toolbar/index.js +1 -1
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/index.native.js.map +1 -1
- package/build/components/block-toolbar/shuffle.js.map +1 -1
- package/build/components/block-toolbar/use-has-block-toolbar.js +20 -12
- package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build/components/block-toolbar/utils.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +16 -12
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build/components/block-tools/index.js +4 -2
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +9 -18
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +5 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-types-list/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.js +3 -2
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +7 -2
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
- package/build/components/block-vertical-alignment-control/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/button-block-appender/index.native.js +11 -1
- package/build/components/button-block-appender/index.native.js.map +1 -1
- package/build/components/caption/index.native.js.map +1 -1
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/color-palette/control.js.map +1 -1
- package/build/components/color-palette/index.js.map +1 -1
- package/build/components/color-palette/with-color-context.js.map +1 -1
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors/index.js +1 -1
- package/build/components/colors/index.js.map +1 -1
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/contrast-checker/index.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/default-block-appender/index.native.js.map +1 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build/components/dimensions-tool/index.js.map +1 -1
- package/build/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build/components/dimensions-tool/width-height-tool.js +6 -2
- package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
- package/build/components/duotone/utils.js.map +1 -1
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/editable-text/index.js.map +1 -1
- package/build/components/editor-styles/index.js +2 -1
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/floating-toolbar/index.native.js +9 -5
- package/build/components/floating-toolbar/index.native.js.map +1 -1
- package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/font-sizes/font-size-picker.js.map +1 -1
- package/build/components/font-sizes/index.js.map +1 -1
- package/build/components/font-sizes/index.native.js.map +1 -1
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js.map +1 -1
- package/build/components/global-styles/background-panel.js +20 -17
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +3 -1
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.native.js.map +1 -1
- package/build/components/global-styles/context.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +16 -0
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build/components/global-styles/hooks.js +3 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js.map +1 -1
- package/build/components/global-styles/index.js +1 -1
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +23 -23
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/typography-utils.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +153 -136
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +45 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/gradients/index.js.map +1 -1
- package/build/components/gradients/index.native.js.map +1 -1
- package/build/components/gradients/use-gradient.js.map +1 -1
- package/build/components/gradients/with-gradient.js.map +1 -1
- package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build/components/grid-visualizer/index.js.map +1 -1
- package/build/components/grid-visualizer/utils.js.map +1 -1
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build/components/iframe/index.js +12 -13
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/constants.js.map +1 -1
- package/build/components/image-editor/context.js.map +1 -1
- package/build/components/image-editor/cropper.js +6 -2
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/form-controls.js.map +1 -1
- package/build/components/image-editor/index.js +0 -2
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/image-editor/rotation-button.js.map +1 -1
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/image-editor/use-transform-image.js.map +1 -1
- package/build/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build/components/image-link-destinations/index.native.js.map +1 -1
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build/components/index.js +1 -1
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +1 -1
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/constants.native.js.map +1 -1
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +16 -2
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-block-context.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
- package/build/components/inner-blocks/with-client-id.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +19 -25
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +2 -24
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -3
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +4 -0
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +56 -0
- package/build/components/inserter/category-tabs/index.js.map +1 -0
- package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js.map +1 -1
- package/build/components/inserter/media-tab/index.js +2 -2
- package/build/components/inserter/media-tab/index.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +0 -25
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +13 -3
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +15 -29
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/media-tab/utils.js.map +1 -1
- package/build/components/inserter/menu.js +73 -77
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build/components/inserter/no-results.js.map +1 -1
- package/build/components/inserter/no-results.native.js.map +1 -1
- package/build/components/inserter/panel.js.map +1 -1
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/inserter/tabs.js +13 -9
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inserter/tips.js.map +1 -1
- package/build/components/inserter/utils.native.js.map +1 -1
- package/build/components/inserter-button/index.native.js.map +1 -1
- package/build/components/inserter-button/sparkles.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inserter-listbox/context.js.map +1 -1
- package/build/components/inserter-listbox/group.js.map +1 -1
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inserter-listbox/row.js.map +1 -1
- package/build/components/inserter-menu-extension/index.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls/index.js.map +1 -1
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
- package/build/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build/components/inspector-popover-header/index.js.map +1 -1
- package/build/components/justify-content-control/index.js.map +1 -1
- package/build/components/justify-content-control/ui.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.js +6 -2
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/line-height-control/index.native.js.map +1 -1
- package/build/components/line-height-control/utils.js.map +1 -1
- package/build/components/link-control/constants.js.map +1 -1
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/is-url-like.js.map +1 -1
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-item.js +9 -3
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/settings.js.map +1 -1
- package/build/components/link-control/use-create-page.js.map +1 -1
- package/build/components/link-control/use-internal-value.js.map +1 -1
- package/build/components/link-control/use-rich-url-data.js.map +1 -1
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/link-control/viewer-slot.js.map +1 -1
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/aria-referenced-text.js.map +1 -1
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +5 -142
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +166 -14
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/context.js.map +1 -1
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/expander.js.map +1 -1
- package/build/components/list-view/index.js +1 -1
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/list-view/use-clipboard-handler.js.map +1 -1
- package/build/components/list-view/use-list-view-block-indexes.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/list-view/use-list-view-collapse-items.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +6 -1
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
- package/build/components/list-view/use-list-view-images.js.map +1 -1
- package/build/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
- package/build/components/list-view/utils.js +3 -1
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.js +3 -3
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-replace-flow/index.native.js.map +1 -1
- package/build/components/media-upload/check.js.map +1 -1
- package/build/components/media-upload/constants.native.js.map +1 -1
- package/build/components/media-upload/index.js.map +1 -1
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/media-upload-progress/constants.js.map +1 -1
- package/build/components/media-upload-progress/index.native.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +3 -1
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +3 -4
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-sync.js +3 -12
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/provider/with-registry-provider.js.map +1 -1
- package/build/components/publish-date-time-picker/index.js.map +1 -1
- package/build/components/recursion-provider/index.js +2 -2
- package/build/components/recursion-provider/index.js.map +1 -1
- package/build/components/resizable-box-popover/index.js.map +1 -1
- package/build/components/resolution-tool/index.js.map +1 -1
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/responsive-block-control/label.js.map +1 -1
- package/build/components/rich-text/content.js +26 -19
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build/components/rich-text/event-listeners/before-input-rules.js +93 -0
- package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
- package/build/components/rich-text/event-listeners/delete.js +58 -0
- package/build/components/rich-text/event-listeners/delete.js.map +1 -0
- package/build/components/rich-text/event-listeners/enter.js +98 -0
- package/build/components/rich-text/event-listeners/enter.js.map +1 -0
- package/build/components/rich-text/event-listeners/firefox-compat.js +36 -0
- package/build/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
- package/build/components/rich-text/event-listeners/index.js +44 -0
- package/build/components/rich-text/event-listeners/index.js.map +1 -0
- package/build/components/rich-text/event-listeners/input-events.js +22 -0
- package/build/components/rich-text/event-listeners/input-events.js.map +1 -0
- package/build/components/rich-text/event-listeners/input-rules.js +135 -0
- package/build/components/rich-text/event-listeners/input-rules.js.map +1 -0
- package/build/components/rich-text/event-listeners/insert-replacement-text.js +33 -0
- package/build/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
- package/build/components/rich-text/event-listeners/paste-handler.js +146 -0
- package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -0
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js +27 -0
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
- package/build/components/rich-text/event-listeners/shortcuts.js +22 -0
- package/build/components/rich-text/event-listeners/shortcuts.js.map +1 -0
- package/build/components/rich-text/event-listeners/undo-automatic-change.js +51 -0
- package/build/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
- package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build/components/rich-text/index.js +51 -31
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +16 -4
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/input-event.js.map +1 -1
- package/build/components/rich-text/input-event.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +6 -2
- package/build/components/rich-text/multiline.js.map +1 -1
- package/build/components/rich-text/native/format-edit.js.map +1 -1
- package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build/components/rich-text/native/index.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +12 -0
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
- package/build/components/rich-text/native/use-format-types.js.map +1 -1
- package/build/components/rich-text/prevent-event-discovery.js.map +1 -1
- package/build/components/rich-text/remove-browser-shortcuts.native.js.map +1 -1
- package/build/components/rich-text/shortcut.js.map +1 -1
- package/build/components/rich-text/shortcut.native.js.map +1 -1
- package/build/components/rich-text/split-value.js.map +1 -1
- package/build/components/rich-text/toolbar-button.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +8 -4
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/rich-text/with-deprecations.js.map +1 -1
- package/build/components/segmented-text-control/index.js +62 -0
- package/build/components/segmented-text-control/index.js.map +1 -0
- package/build/components/selection-scroll-into-view/index.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/text-alignment-control/index.js +76 -0
- package/build/components/text-alignment-control/index.js.map +1 -0
- package/build/components/text-decoration-control/index.js +21 -25
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +18 -22
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/ungroup-button/index.native.js.map +1 -1
- package/build/components/unit-control/index.js.map +1 -1
- package/build/components/unsupported-block-details/index.native.js.map +1 -1
- package/build/components/url-input/button.js.map +1 -1
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-input/index.native.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer-url.js.map +1 -1
- package/build/components/url-popover/link-viewer.js.map +1 -1
- package/build/components/use-block-commands/index.js +20 -2
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-display-information/index.js +9 -3
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build/components/use-flash-editable-blocks/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +3 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.native.js.map +1 -1
- package/build/components/use-on-block-drop/types.js.map +1 -1
- package/build/components/use-paste-styles/index.js +1 -0
- package/build/components/use-paste-styles/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/use-settings/index.js.map +1 -1
- package/build/components/use-unsupported-block-editor/index.native.js.map +1 -1
- package/build/components/video-player/gridicon-play.native.js.map +1 -1
- package/build/components/video-player/index.native.js.map +1 -1
- package/build/components/warning/index.js.map +1 -1
- package/build/components/warning/index.native.js.map +1 -1
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build/components/writing-flow/use-click-selection.js.map +1 -1
- package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +3 -1
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/components/writing-flow/use-select-all.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +3 -1
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-flow/utils.js.map +1 -1
- package/build/components/writing-mode-control/index.js +16 -20
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/elements/index.js.map +1 -1
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/align.native.js +1 -1
- package/build/hooks/align.native.js.map +1 -1
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/aria-label.js.map +1 -1
- package/build/hooks/background.js +3 -3
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-renaming.js +0 -37
- package/build/hooks/block-renaming.js.map +1 -1
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +1 -1
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/compat.js.map +1 -1
- package/build/hooks/content-lock-ui.js +5 -5
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/contrast-checker.js.map +1 -1
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +3 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/generated-class-name.js.map +1 -1
- package/build/hooks/index.js +6 -5
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/layout.js +38 -19
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/layout.native.js.map +1 -1
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/lock.js.map +1 -1
- package/build/hooks/metadata.js.map +1 -1
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/settings.js.map +1 -1
- package/build/hooks/spacing-visualizer.js.map +1 -1
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/supports.js +27 -4
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/text-align.js +156 -0
- package/build/hooks/text-align.js.map +1 -0
- package/build/hooks/typography.js +3 -2
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +66 -129
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/use-border-props.js.map +1 -1
- package/build/hooks/use-cached-truthy.js.map +1 -1
- package/build/hooks/use-color-props.js.map +1 -1
- package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -1
- package/build/hooks/use-shadow-props.js.map +1 -1
- package/build/hooks/use-spacing-props.js.map +1 -1
- package/build/hooks/use-typography-props.js +2 -1
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/use-zoom-out.js +22 -15
- package/build/hooks/use-zoom-out.js.map +1 -1
- package/build/hooks/utils.js +37 -8
- package/build/hooks/utils.js.map +1 -1
- package/build/index.js.map +1 -1
- package/build/index.native.js.map +1 -1
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/definitions.js +8 -6
- package/build/layouts/definitions.js.map +1 -1
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js.map +1 -1
- package/build/layouts/grid.js +52 -9
- package/build/layouts/grid.js.map +1 -1
- package/build/layouts/index.js.map +1 -1
- package/build/layouts/utils.js.map +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/private-apis.js +5 -3
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +1 -1
- package/build/private-apis.native.js.map +1 -1
- package/build/store/actions.js +47 -9
- package/build/store/actions.js.map +1 -1
- package/build/store/array.js.map +1 -1
- package/build/store/constants.js.map +1 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/defaults.native.js.map +1 -1
- package/build/store/get-block-settings.js.map +1 -1
- package/build/store/index.js +1 -1
- package/build/store/index.js.map +1 -1
- package/build/store/private-actions.js +5 -2
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-keys.js.map +1 -1
- package/build/store/private-selectors.js +121 -44
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +11 -8
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +143 -88
- package/build/store/selectors.js.map +1 -1
- package/build/store/undo-ignore.js.map +1 -1
- package/build/store/utils.js.map +1 -1
- package/build/utils/dom.js.map +1 -1
- package/build/utils/get-px-from-css-unit.js.map +1 -1
- package/build/utils/index.js.map +1 -1
- package/build/utils/math.js.map +1 -1
- package/build/utils/object.js +17 -0
- package/build/utils/object.js.map +1 -1
- package/build/utils/order-inserter-block-items.js +6 -2
- package/build/utils/order-inserter-block-items.js.map +1 -1
- package/build/utils/pasting.js +6 -2
- package/build/utils/pasting.js.map +1 -1
- package/build/utils/selection.js.map +1 -1
- package/build/utils/sorting.js.map +1 -1
- package/build/utils/transform-styles/index.js +1 -1
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build/utils/use-notify-copy.js.map +1 -1
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/autocompleters/link.js.map +1 -1
- package/build-module/components/alignment-control/index.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +3 -1
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/constants.js.map +1 -1
- package/build-module/components/block-alignment-control/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-caption/index.native.js.map +1 -1
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-compare/block-view.js.map +1 -1
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-context/index.js.map +1 -1
- package/build-module/components/block-controls/fill.js.map +1 -1
- package/build-module/components/block-controls/groups.js.map +1 -1
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-controls/index.js.map +1 -1
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-controls/slot.native.js.map +1 -1
- package/build-module/components/block-controls/use-has-block-controls.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
- package/build-module/components/block-edit/context.js +1 -0
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-edit/edit.native.js.map +1 -1
- package/build-module/components/block-edit/index.js +5 -3
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-edit-visually-button/index.js.map +1 -1
- package/build-module/components/block-editing-mode/index.js.map +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-icon/index.native.js.map +1 -1
- package/build-module/components/block-info-slot-fill/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +5 -4
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
- package/build-module/components/block-list/block-crash-boundary.js.map +1 -1
- package/build-module/components/block-list/block-crash-boundary.native.js.map +1 -1
- package/build-module/components/block-list/block-crash-warning.js.map +1 -1
- package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-list-context.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js +44 -35
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +2 -2
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/grid-item.native.js.map +1 -1
- package/build-module/components/block-list/index.js +18 -6
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +1 -9
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/insertion-point.native.js.map +1 -1
- package/build-module/components/block-list/layout.js.map +1 -1
- package/build-module/components/block-list/private-block-context.js.map +1 -1
- package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +8 -7
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-refs.js +19 -48
- package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +3 -2
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-intersection-observer.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +10 -14
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -1
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.native.js.map +1 -1
- package/build-module/components/block-lock/index.js.map +1 -1
- package/build-module/components/block-lock/menu-item.js.map +1 -1
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-lock/use-block-lock.js.map +1 -1
- package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +3 -1
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-mover/mover-description.js.map +1 -1
- package/build-module/components/block-mover/mover-description.native.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/constants.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +8 -4
- package/build-module/components/block-patterns-paging/index.js.map +1 -1
- package/build-module/components/block-popover/cover.js.map +1 -1
- package/build-module/components/block-popover/drop-zone.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-popover/use-popover-scroll.js.map +1 -1
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-rename/index.js.map +1 -1
- package/build-module/components/block-rename/is-empty-string.js.map +1 -1
- package/build-module/components/block-rename/modal.js +14 -10
- package/build-module/components/block-rename/modal.js.map +1 -1
- package/build-module/components/block-rename/rename-control.js +3 -1
- package/build-module/components/block-rename/rename-control.js.map +1 -1
- package/build-module/components/block-rename/use-block-rename.js.map +1 -1
- package/build-module/components/block-selection-clearer/index.js.map +1 -1
- package/build-module/components/block-settings/button.native.js.map +1 -1
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings/index.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -26
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-styles/menu-items.js.map +1 -1
- package/build-module/components/block-styles/preview-panel.js.map +1 -1
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-styles/use-styles-for-block.js.map +1 -1
- package/build-module/components/block-styles/utils.js.map +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js +6 -2
- package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +15 -5
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-title/index.js.map +1 -1
- package/build-module/components/block-title/use-block-display-title.js.map +1 -1
- package/build-module/components/block-toolbar/block-name-context.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +1 -1
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-toolbar/shuffle.js.map +1 -1
- package/build-module/components/block-toolbar/use-has-block-toolbar.js +20 -12
- package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build-module/components/block-toolbar/utils.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +16 -12
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build-module/components/block-tools/index.js +3 -1
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +9 -18
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +5 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-types-list/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +3 -2
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +7 -2
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.native.js +11 -1
- package/build-module/components/button-block-appender/index.native.js.map +1 -1
- package/build-module/components/caption/index.native.js.map +1 -1
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/color-palette/control.js.map +1 -1
- package/build-module/components/color-palette/index.js.map +1 -1
- package/build-module/components/color-palette/with-color-context.js.map +1 -1
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/colors/index.js.map +1 -1
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/contrast-checker/index.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.native.js.map +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build-module/components/dimensions-tool/index.js.map +1 -1
- package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
- package/build-module/components/duotone/utils.js.map +1 -1
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/editable-text/index.js.map +1 -1
- package/build-module/components/editor-styles/index.js +3 -2
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/floating-toolbar/index.native.js +9 -5
- package/build-module/components/floating-toolbar/index.native.js.map +1 -1
- package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
- package/build-module/components/font-sizes/index.js.map +1 -1
- package/build-module/components/font-sizes/index.native.js.map +1 -1
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +20 -17
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +3 -1
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.native.js.map +1 -1
- package/build-module/components/global-styles/context.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +17 -1
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +3 -2
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +24 -24
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-utils.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +153 -136
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +44 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/gradients/index.js.map +1 -1
- package/build-module/components/gradients/index.native.js.map +1 -1
- package/build-module/components/gradients/use-gradient.js.map +1 -1
- package/build-module/components/gradients/with-gradient.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build-module/components/grid-visualizer/index.js.map +1 -1
- package/build-module/components/grid-visualizer/utils.js.map +1 -1
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build-module/components/iframe/index.js +12 -13
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/constants.js.map +1 -1
- package/build-module/components/image-editor/context.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +7 -3
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/form-controls.js.map +1 -1
- package/build-module/components/image-editor/index.js +0 -2
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/image-editor/rotation-button.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-editor/use-transform-image.js.map +1 -1
- package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build-module/components/image-link-destinations/index.native.js.map +1 -1
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/constants.native.js.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +16 -2
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
- package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +20 -26
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +2 -24
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -4
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +4 -0
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +49 -0
- package/build-module/components/inserter/category-tabs/index.js.map +1 -0
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
- package/build-module/components/inserter/media-tab/index.js +1 -1
- package/build-module/components/inserter/media-tab/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +0 -24
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +13 -3
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +17 -31
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/media-tab/utils.js.map +1 -1
- package/build-module/components/inserter/menu.js +75 -79
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build-module/components/inserter/no-results.js.map +1 -1
- package/build-module/components/inserter/no-results.native.js.map +1 -1
- package/build-module/components/inserter/panel.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/search-results.native.js.map +1 -1
- package/build-module/components/inserter/tabs.js +13 -9
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inserter/tips.js.map +1 -1
- package/build-module/components/inserter/utils.native.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js.map +1 -1
- package/build-module/components/inserter-button/sparkles.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inserter-listbox/context.js.map +1 -1
- package/build-module/components/inserter-listbox/group.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inserter-listbox/row.js.map +1 -1
- package/build-module/components/inserter-menu-extension/index.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls/index.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build-module/components/inspector-popover-header/index.js.map +1 -1
- package/build-module/components/justify-content-control/index.js.map +1 -1
- package/build-module/components/justify-content-control/ui.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +6 -2
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.native.js.map +1 -1
- package/build-module/components/line-height-control/utils.js.map +1 -1
- package/build-module/components/link-control/constants.js.map +1 -1
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/is-url-like.js.map +1 -1
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-create-button.js.map +1 -1
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-item.js +9 -3
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/link-control/settings.js.map +1 -1
- package/build-module/components/link-control/use-create-page.js.map +1 -1
- package/build-module/components/link-control/use-internal-value.js.map +1 -1
- package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/link-control/viewer-slot.js.map +1 -1
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +7 -144
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +167 -15
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/context.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/expander.js.map +1 -1
- package/build-module/components/list-view/index.js +1 -1
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
- package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/list-view/use-list-view-collapse-items.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +6 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
- package/build-module/components/list-view/use-list-view-images.js.map +1 -1
- package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
- package/build-module/components/list-view/utils.js +3 -1
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +3 -3
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.native.js.map +1 -1
- package/build-module/components/media-upload/check.js.map +1 -1
- package/build-module/components/media-upload/constants.native.js.map +1 -1
- package/build-module/components/media-upload/index.js.map +1 -1
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/media-upload-progress/constants.js.map +1 -1
- package/build-module/components/media-upload-progress/index.native.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +3 -1
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/panel-color-settings/index.js.map +1 -1
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +3 -4
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +4 -13
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/provider/with-registry-provider.js.map +1 -1
- package/build-module/components/publish-date-time-picker/index.js.map +1 -1
- package/build-module/components/recursion-provider/index.js +2 -2
- package/build-module/components/recursion-provider/index.js.map +1 -1
- package/build-module/components/resizable-box-popover/index.js.map +1 -1
- package/build-module/components/resolution-tool/index.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js.map +1 -1
- package/build-module/components/responsive-block-control/label.js.map +1 -1
- package/build-module/components/rich-text/content.js +25 -19
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/before-input-rules.js +86 -0
- package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/delete.js +51 -0
- package/build-module/components/rich-text/event-listeners/delete.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/enter.js +92 -0
- package/build-module/components/rich-text/event-listeners/enter.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/firefox-compat.js +29 -0
- package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/index.js +36 -0
- package/build-module/components/rich-text/event-listeners/index.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/input-events.js +15 -0
- package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/input-rules.js +127 -0
- package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +27 -0
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/paste-handler.js +142 -0
- package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +21 -0
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/shortcuts.js +15 -0
- package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
- package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build-module/components/rich-text/index.js +54 -34
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +16 -4
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/input-event.js.map +1 -1
- package/build-module/components/rich-text/input-event.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +6 -2
- package/build-module/components/rich-text/multiline.js.map +1 -1
- package/build-module/components/rich-text/native/format-edit.js.map +1 -1
- package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build-module/components/rich-text/native/index.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +12 -0
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
- package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
- package/build-module/components/rich-text/prevent-event-discovery.js.map +1 -1
- package/build-module/components/rich-text/remove-browser-shortcuts.native.js.map +1 -1
- package/build-module/components/rich-text/shortcut.js.map +1 -1
- package/build-module/components/rich-text/shortcut.native.js.map +1 -1
- package/build-module/components/rich-text/split-value.js.map +1 -1
- package/build-module/components/rich-text/toolbar-button.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +8 -4
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/rich-text/with-deprecations.js.map +1 -1
- package/build-module/components/segmented-text-control/index.js +55 -0
- package/build-module/components/segmented-text-control/index.js.map +1 -0
- package/build-module/components/selection-scroll-into-view/index.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/text-alignment-control/index.js +68 -0
- package/build-module/components/text-alignment-control/index.js.map +1 -0
- package/build-module/components/text-decoration-control/index.js +21 -25
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +18 -22
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/ungroup-button/index.native.js.map +1 -1
- package/build-module/components/unit-control/index.js.map +1 -1
- package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
- package/build-module/components/url-input/button.js.map +1 -1
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-input/index.native.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +20 -2
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +9 -3
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +3 -1
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
- package/build-module/components/use-on-block-drop/types.js.map +1 -1
- package/build-module/components/use-paste-styles/index.js +2 -1
- package/build-module/components/use-paste-styles/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/components/use-unsupported-block-editor/index.native.js.map +1 -1
- package/build-module/components/video-player/gridicon-play.native.js.map +1 -1
- package/build-module/components/video-player/index.native.js.map +1 -1
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/warning/index.native.js.map +1 -1
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build-module/components/writing-flow/use-click-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +3 -1
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-select-all.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +3 -1
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-flow/utils.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +16 -20
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/elements/index.js.map +1 -1
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/align.native.js.map +1 -1
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/aria-label.js.map +1 -1
- package/build-module/hooks/background.js +2 -2
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-renaming.js +0 -36
- package/build-module/hooks/block-renaming.js.map +1 -1
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/compat.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +5 -5
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/contrast-checker.js.map +1 -1
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +3 -1
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/generated-class-name.js.map +1 -1
- package/build-module/hooks/index.js +5 -4
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/layout.js +38 -19
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/layout.native.js.map +1 -1
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/lock.js.map +1 -1
- package/build-module/hooks/metadata.js.map +1 -1
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/settings.js.map +1 -1
- package/build-module/hooks/spacing-visualizer.js.map +1 -1
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/supports.js +22 -1
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/text-align.js +145 -0
- package/build-module/hooks/text-align.js.map +1 -0
- package/build-module/hooks/typography.js +2 -1
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +68 -132
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/use-border-props.js.map +1 -1
- package/build-module/hooks/use-cached-truthy.js.map +1 -1
- package/build-module/hooks/use-color-props.js.map +1 -1
- package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -1
- package/build-module/hooks/use-shadow-props.js.map +1 -1
- package/build-module/hooks/use-spacing-props.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +2 -1
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +23 -16
- package/build-module/hooks/use-zoom-out.js.map +1 -1
- package/build-module/hooks/utils.js +38 -9
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/definitions.js +8 -6
- package/build-module/layouts/definitions.js.map +1 -1
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/layouts/grid.js +52 -9
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/layouts/index.js.map +1 -1
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/private-apis.js +4 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js.map +1 -1
- package/build-module/store/actions.js +47 -9
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/array.js.map +1 -1
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/defaults.native.js.map +1 -1
- package/build-module/store/get-block-settings.js.map +1 -1
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/private-actions.js +5 -2
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-keys.js.map +1 -1
- package/build-module/store/private-selectors.js +113 -37
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +11 -8
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +116 -62
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/undo-ignore.js.map +1 -1
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/dom.js.map +1 -1
- package/build-module/utils/get-px-from-css-unit.js.map +1 -1
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/object.js +16 -0
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/order-inserter-block-items.js +6 -2
- package/build-module/utils/order-inserter-block-items.js.map +1 -1
- package/build-module/utils/pasting.js +6 -2
- package/build-module/utils/pasting.js.map +1 -1
- package/build-module/utils/selection.js.map +1 -1
- package/build-module/utils/sorting.js.map +1 -1
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-module/utils/use-notify-copy.js.map +1 -1
- package/build-style/content-rtl.css +77 -86
- package/build-style/content.css +77 -86
- package/build-style/default-editor-styles-rtl.css +1 -1
- package/build-style/default-editor-styles.css +1 -1
- package/build-style/style-rtl.css +158 -242
- package/build-style/style.css +158 -242
- package/package.json +32 -33
- package/src/components/alignment-control/ui.js +3 -1
- package/src/components/block-bindings-toolbar-indicator/style.scss +2 -5
- package/src/components/block-canvas/style.scss +1 -3
- package/src/components/block-draggable/test/helpers.native.js +8 -8
- package/src/components/block-edit/context.js +1 -0
- package/src/components/block-edit/index.js +4 -0
- package/src/components/block-inspector/index.js +7 -6
- package/src/components/block-list/block.js +47 -35
- package/src/components/block-list/block.native.js +3 -2
- package/src/components/block-list/content.scss +46 -20
- package/src/components/block-list/index.js +26 -10
- package/src/components/block-list/index.native.js +1 -6
- package/src/components/block-list/use-block-props/index.js +17 -5
- package/src/components/block-list/use-block-props/use-block-refs.js +17 -57
- package/src/components/block-list/use-block-props/use-focus-first-element.js +7 -3
- package/src/components/block-list/use-block-props/use-is-hovered.js +11 -16
- package/src/components/block-mover/index.native.js +3 -1
- package/src/components/block-patterns-list/style.scss +1 -3
- package/src/components/block-patterns-paging/index.js +4 -0
- package/src/components/block-preview/style.scss +13 -15
- package/src/components/block-rename/modal.js +17 -13
- package/src/components/block-rename/rename-control.js +8 -1
- package/src/components/block-settings-menu/block-settings-dropdown.js +1 -51
- package/src/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/src/components/block-switcher/use-transformed-patterns.js +6 -2
- package/src/components/block-switcher/utils.js +14 -5
- package/src/components/block-toolbar/index.js +26 -22
- package/src/components/block-toolbar/style.scss +8 -11
- package/src/components/block-toolbar/use-has-block-toolbar.js +26 -19
- package/src/components/block-tools/block-selection-button.js +55 -43
- package/src/components/block-tools/index.js +3 -1
- package/src/components/block-tools/use-show-block-tools.js +36 -51
- package/src/components/block-tools/zoom-out-mode-inserters.js +5 -1
- package/src/components/block-variation-picker/content.scss +22 -72
- package/src/components/block-variation-picker/index.js +3 -2
- package/src/components/block-variation-transforms/index.js +6 -2
- package/src/components/button-block-appender/index.native.js +16 -1
- package/src/components/default-block-appender/content.scss +1 -1
- package/src/components/editor-styles/index.js +4 -2
- package/src/components/floating-toolbar/index.native.js +5 -2
- package/src/components/global-styles/background-panel.js +31 -29
- package/src/components/global-styles/color-panel.js +3 -1
- package/src/components/global-styles/dimensions-panel.js +18 -1
- package/src/components/global-styles/hooks.js +2 -0
- package/src/components/global-styles/style.scss +2 -8
- package/src/components/global-styles/test/use-global-styles-output.js +8 -17
- package/src/components/global-styles/test/utils.js +21 -0
- package/src/components/global-styles/typography-panel.js +27 -23
- package/src/components/global-styles/use-global-styles-output.js +216 -192
- package/src/components/global-styles/utils.js +55 -0
- package/src/components/iframe/index.js +20 -27
- package/src/components/image-editor/cropper.js +11 -2
- package/src/components/image-editor/index.js +0 -2
- package/src/components/inner-blocks/index.js +14 -1
- package/src/components/inserter/block-patterns-tab/index.js +32 -68
- package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +9 -36
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
- package/src/components/inserter/block-types-tab.js +5 -0
- package/src/components/inserter/category-tabs/index.js +74 -0
- package/src/components/inserter/media-tab/index.js +1 -1
- package/src/components/inserter/media-tab/media-panel.js +0 -22
- package/src/components/inserter/media-tab/media-preview.js +15 -7
- package/src/components/inserter/media-tab/media-tab.js +44 -83
- package/src/components/inserter/menu.js +155 -122
- package/src/components/inserter/style.scss +161 -217
- package/src/components/inserter/tabs.js +12 -15
- package/src/components/inspector-controls-tabs/styles-tab.js +1 -1
- package/src/components/line-height-control/index.js +6 -2
- package/src/components/link-control/search-item.js +9 -3
- package/src/components/link-control/style.scss +10 -2
- package/src/components/link-control/test/index.js +1 -1
- package/src/components/list-view/block-select-button.js +73 -237
- package/src/components/list-view/block.js +218 -28
- package/src/components/list-view/index.js +1 -1
- package/src/components/list-view/style.scss +20 -28
- package/src/components/list-view/use-list-view-drop-zone.js +6 -1
- package/src/components/list-view/utils.js +3 -1
- package/src/components/media-placeholder/content.scss +0 -11
- package/src/components/media-placeholder/index.js +3 -3
- package/src/components/navigable-toolbar/index.js +3 -1
- package/src/components/provider/block-refs-provider.js +3 -8
- package/src/components/provider/test/use-block-sync.js +7 -0
- package/src/components/provider/use-block-sync.js +3 -20
- package/src/components/recursion-provider/index.js +2 -2
- package/src/components/rich-text/README.md +4 -0
- package/src/components/rich-text/content.js +26 -19
- package/src/components/rich-text/event-listeners/before-input-rules.js +92 -0
- package/src/components/rich-text/event-listeners/delete.js +53 -0
- package/src/components/rich-text/event-listeners/enter.js +104 -0
- package/src/components/rich-text/event-listeners/firefox-compat.js +31 -0
- package/src/components/rich-text/event-listeners/index.js +56 -0
- package/src/components/rich-text/event-listeners/input-events.js +13 -0
- package/src/components/rich-text/event-listeners/input-rules.js +146 -0
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +28 -0
- package/src/components/rich-text/event-listeners/paste-handler.js +169 -0
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +24 -0
- package/src/components/rich-text/event-listeners/shortcuts.js +13 -0
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
- package/src/components/rich-text/index.js +53 -36
- package/src/components/rich-text/index.native.js +14 -1
- package/src/components/rich-text/multiline.js +6 -2
- package/src/components/rich-text/native/index.native.js +11 -0
- package/src/components/rich-text/use-format-types.js +6 -2
- package/src/components/segmented-text-control/index.js +63 -0
- package/src/components/{writing-mode-control → segmented-text-control}/style.scss +2 -5
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -1
- package/src/components/text-alignment-control/index.js +91 -0
- package/src/components/text-alignment-control/stories/index.story.js +39 -0
- package/src/components/text-decoration-control/index.js +20 -33
- package/src/components/text-transform-control/index.js +17 -30
- package/src/components/use-block-commands/index.js +46 -28
- package/src/components/use-block-display-information/index.js +9 -3
- package/src/components/use-on-block-drop/index.js +3 -1
- package/src/components/use-paste-styles/index.js +2 -0
- package/src/components/writing-flow/use-drag-selection.js +3 -1
- package/src/components/writing-flow/use-tab-nav.js +3 -1
- package/src/components/writing-mode-control/index.js +15 -28
- package/src/hooks/background.js +2 -2
- package/src/hooks/block-renaming.js +0 -33
- package/src/hooks/content-lock-ui.js +5 -7
- package/src/hooks/duotone.js +3 -1
- package/src/hooks/index.js +5 -2
- package/src/hooks/layout.js +57 -25
- package/src/hooks/supports.js +24 -0
- package/src/hooks/test/text-align.js +114 -0
- package/src/hooks/test/use-typography-props.js +3 -1
- package/src/hooks/text-align.js +178 -0
- package/src/hooks/typography.js +2 -0
- package/src/hooks/use-bindings-attributes.js +90 -161
- package/src/hooks/use-typography-props.js +4 -1
- package/src/hooks/use-zoom-out.js +25 -15
- package/src/hooks/utils.js +57 -5
- package/src/layouts/definitions.js +6 -6
- package/src/layouts/grid.js +106 -47
- package/src/private-apis.js +4 -2
- package/src/store/actions.js +52 -12
- package/src/store/private-actions.js +6 -3
- package/src/store/private-selectors.js +155 -39
- package/src/store/reducer.js +13 -23
- package/src/store/selectors.js +162 -93
- package/src/style.scss +1 -2
- package/src/utils/object.js +16 -0
- package/src/utils/order-inserter-block-items.js +6 -2
- package/src/utils/pasting.js +6 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -54
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
- package/build/components/rich-text/use-before-input-rules.js +0 -98
- package/build/components/rich-text/use-before-input-rules.js.map +0 -1
- package/build/components/rich-text/use-delete.js +0 -64
- package/build/components/rich-text/use-delete.js.map +0 -1
- package/build/components/rich-text/use-enter.js +0 -109
- package/build/components/rich-text/use-enter.js.map +0 -1
- package/build/components/rich-text/use-firefox-compat.js +0 -44
- package/build/components/rich-text/use-firefox-compat.js.map +0 -1
- package/build/components/rich-text/use-input-events.js +0 -25
- package/build/components/rich-text/use-input-events.js.map +0 -1
- package/build/components/rich-text/use-input-rules.js +0 -139
- package/build/components/rich-text/use-input-rules.js.map +0 -1
- package/build/components/rich-text/use-insert-replacement-text.js +0 -38
- package/build/components/rich-text/use-insert-replacement-text.js.map +0 -1
- package/build/components/rich-text/use-paste-handler.js +0 -158
- package/build/components/rich-text/use-paste-handler.js.map +0 -1
- package/build/components/rich-text/use-remove-browser-shortcuts.js +0 -32
- package/build/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
- package/build/components/rich-text/use-shortcuts.js +0 -25
- package/build/components/rich-text/use-shortcuts.js.map +0 -1
- package/build/components/rich-text/use-undo-automatic-change.js +0 -53
- package/build/components/rich-text/use-undo-automatic-change.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -47
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
- package/build-module/components/rich-text/use-before-input-rules.js +0 -92
- package/build-module/components/rich-text/use-before-input-rules.js.map +0 -1
- package/build-module/components/rich-text/use-delete.js +0 -57
- package/build-module/components/rich-text/use-delete.js.map +0 -1
- package/build-module/components/rich-text/use-enter.js +0 -102
- package/build-module/components/rich-text/use-enter.js.map +0 -1
- package/build-module/components/rich-text/use-firefox-compat.js +0 -37
- package/build-module/components/rich-text/use-firefox-compat.js.map +0 -1
- package/build-module/components/rich-text/use-input-events.js +0 -18
- package/build-module/components/rich-text/use-input-events.js.map +0 -1
- package/build-module/components/rich-text/use-input-rules.js +0 -132
- package/build-module/components/rich-text/use-input-rules.js.map +0 -1
- package/build-module/components/rich-text/use-insert-replacement-text.js +0 -32
- package/build-module/components/rich-text/use-insert-replacement-text.js.map +0 -1
- package/build-module/components/rich-text/use-paste-handler.js +0 -152
- package/build-module/components/rich-text/use-paste-handler.js.map +0 -1
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js +0 -26
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
- package/build-module/components/rich-text/use-shortcuts.js +0 -18
- package/build-module/components/rich-text/use-shortcuts.js.map +0 -1
- package/build-module/components/rich-text/use-undo-automatic-change.js +0 -46
- package/build-module/components/rich-text/use-undo-automatic-change.js.map +0 -1
- package/src/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -55
- package/src/components/rich-text/use-before-input-rules.js +0 -99
- package/src/components/rich-text/use-delete.js +0 -59
- package/src/components/rich-text/use-enter.js +0 -110
- package/src/components/rich-text/use-firefox-compat.js +0 -39
- package/src/components/rich-text/use-input-events.js +0 -19
- package/src/components/rich-text/use-input-rules.js +0 -150
- package/src/components/rich-text/use-insert-replacement-text.js +0 -31
- package/src/components/rich-text/use-paste-handler.js +0 -180
- package/src/components/rich-text/use-remove-browser-shortcuts.js +0 -29
- package/src/components/rich-text/use-shortcuts.js +0 -19
- package/src/components/rich-text/use-undo-automatic-change.js +0 -50
- package/src/components/text-decoration-control/style.scss +0 -18
- package/src/components/text-transform-control/style.scss +0 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","hasBlockSupport","__experimentalTreeGridCell","TreeGridCell","__experimentalTreeGridItem","TreeGridItem","useInstanceId","moreVertical","useCallback","useMemo","useState","useRef","memo","useDispatch","useSelect","__","ESCAPE","ListViewLeaf","useListViewScrollIntoView","BlockMoverUpButton","BlockMoverDownButton","ListViewBlockContents","useListViewContext","getBlockPositionDescription","getBlockPropertiesDescription","focusListItem","store","blockEditorStore","useBlockDisplayInformation","useBlockLock","AriaReferencedText","ListViewBlock","block","clientId","displacement","isAfterDraggedBlocks","isDragged","isNesting","isSelected","isBranchSelected","selectBlock","position","level","rowCount","siblingBlockCount","showBlockMovers","path","isExpanded","selectedClientIds","isSyncedBranch","cellRef","rowRef","settingsRef","isHovered","setIsHovered","settingsAnchorRect","setSettingsAnchorRect","isLocked","canEdit","canMove","isFirstSelectedBlock","isLastSelectedBlock","length","toggleBlockHighlight","blockInformation","blockName","blockEditingMode","select","getBlock","getBlockName","getBlockEditingMode","allowRightClickOverrides","getSettings","showBlockActions","instanceId","descriptionId","expand","collapse","BlockSettingsMenu","listViewInstanceId","expandedState","setInsertedBlock","treeGridElementRef","onKeyDown","event","keyCode","defaultPrevented","stopPropagation","preventDefault","undefined","onMouseEnter","onMouseLeave","selectEditorBlock","updateFocusAndSelection","focusClientId","shouldSelectBlock","current","toggleExpanded","onContextMenu","click","window","DOMRect","clientX","clientY","onMouseDown","button","settingsPopoverAnchor","ownerDocument","getBoundingClientRect","clearSettingsAnchorRect","rowItemRef","blockPositionDescription","blockPropertiesDescription","hasSiblings","hasRenderedMovers","moverCellClassName","listViewBlockSettingsClassName","colSpan","classes","isSynced","dropdownClientIds","includes","currentlyEditingBlockInCanvas","createElement","className","onFocus","onBlur","id","ref","tabIndex","onClick","onToggleExpanded","ariaDescribedBy","Fragment","withoutGridItem","orientation","clientIds","icon","label","popoverProps","anchor","toggleProps","disableOpenOnArrowDown","__experimentalSelectBlock"],"sources":["@wordpress/block-editor/src/components/list-view/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport {\n\t__experimentalTreeGridCell as TreeGridCell,\n\t__experimentalTreeGridItem as TreeGridItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ListViewLeaf from './leaf';\nimport useListViewScrollIntoView from './use-list-view-scroll-into-view';\nimport {\n\tBlockMoverUpButton,\n\tBlockMoverDownButton,\n} from '../block-mover/button';\nimport ListViewBlockContents from './block-contents';\nimport { useListViewContext } from './context';\nimport {\n\tgetBlockPositionDescription,\n\tgetBlockPropertiesDescription,\n\tfocusListItem,\n} from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { useBlockLock } from '../block-lock';\nimport AriaReferencedText from './aria-referenced-text';\n\nfunction ListViewBlock( {\n\tblock: { clientId },\n\tdisplacement,\n\tisAfterDraggedBlocks,\n\tisDragged,\n\tisNesting,\n\tisSelected,\n\tisBranchSelected,\n\tselectBlock,\n\tposition,\n\tlevel,\n\trowCount,\n\tsiblingBlockCount,\n\tshowBlockMovers,\n\tpath,\n\tisExpanded,\n\tselectedClientIds,\n\tisSyncedBranch,\n} ) {\n\tconst cellRef = useRef( null );\n\tconst rowRef = useRef( null );\n\tconst settingsRef = useRef( null );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ settingsAnchorRect, setSettingsAnchorRect ] = useState();\n\n\tconst { isLocked, canEdit, canMove } = useBlockLock( clientId );\n\n\tconst isFirstSelectedBlock =\n\t\tisSelected && selectedClientIds[ 0 ] === clientId;\n\tconst isLastSelectedBlock =\n\t\tisSelected &&\n\t\tselectedClientIds[ selectedClientIds.length - 1 ] === clientId;\n\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\tconst { block, blockName, blockEditingMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlockName, getBlockEditingMode } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\tblockName: getBlockName( clientId ),\n\t\t\t\tblockEditingMode: getBlockEditingMode( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst allowRightClickOverrides = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().allowRightClickOverrides,\n\t\t[]\n\t);\n\n\tconst showBlockActions =\n\t\t// When a block hides its toolbar it also hides the block settings menu,\n\t\t// since that menu is part of the toolbar in the editor canvas.\n\t\t// List View respects this by also hiding the block settings menu.\n\t\thasBlockSupport( blockName, '__experimentalToolbar', true ) &&\n\t\t// Don't show the settings menu if block is disabled or content only.\n\t\tblockEditingMode === 'default';\n\tconst instanceId = useInstanceId( ListViewBlock );\n\tconst descriptionId = `list-view-block-select-button__description-${ instanceId }`;\n\n\tconst {\n\t\texpand,\n\t\tcollapse,\n\t\tBlockSettingsMenu,\n\t\tlistViewInstanceId,\n\t\texpandedState,\n\t\tsetInsertedBlock,\n\t\ttreeGridElementRef,\n\t} = useListViewContext();\n\n\t// If multiple blocks are selected, deselect all blocks when the user\n\t// presses the escape key.\n\tconst onKeyDown = ( event ) => {\n\t\tif (\n\t\t\tevent.keyCode === ESCAPE &&\n\t\t\t! event.defaultPrevented &&\n\t\t\tselectedClientIds.length > 0\n\t\t) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tselectBlock( event, undefined );\n\t\t}\n\t};\n\n\tconst onMouseEnter = useCallback( () => {\n\t\tsetIsHovered( true );\n\t\ttoggleBlockHighlight( clientId, true );\n\t}, [ clientId, setIsHovered, toggleBlockHighlight ] );\n\tconst onMouseLeave = useCallback( () => {\n\t\tsetIsHovered( false );\n\t\ttoggleBlockHighlight( clientId, false );\n\t}, [ clientId, setIsHovered, toggleBlockHighlight ] );\n\n\tconst selectEditorBlock = useCallback(\n\t\t( event ) => {\n\t\t\tselectBlock( event, clientId );\n\t\t\tevent.preventDefault();\n\t\t},\n\t\t[ clientId, selectBlock ]\n\t);\n\n\tconst updateFocusAndSelection = useCallback(\n\t\t( focusClientId, shouldSelectBlock ) => {\n\t\t\tif ( shouldSelectBlock ) {\n\t\t\t\tselectBlock( undefined, focusClientId, null, null );\n\t\t\t}\n\n\t\t\tfocusListItem( focusClientId, treeGridElementRef?.current );\n\t\t},\n\t\t[ selectBlock, treeGridElementRef ]\n\t);\n\n\tconst toggleExpanded = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent shift+click from opening link in a new window when toggling.\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tif ( isExpanded === true ) {\n\t\t\t\tcollapse( clientId );\n\t\t\t} else if ( isExpanded === false ) {\n\t\t\t\texpand( clientId );\n\t\t\t}\n\t\t},\n\t\t[ clientId, expand, collapse, isExpanded ]\n\t);\n\n\t// Allow right-clicking an item in the List View to open up the block settings dropdown.\n\tconst onContextMenu = useCallback(\n\t\t( event ) => {\n\t\t\tif ( showBlockActions && allowRightClickOverrides ) {\n\t\t\t\tsettingsRef.current?.click();\n\t\t\t\t// Ensure the position of the settings dropdown is at the cursor.\n\t\t\t\tsetSettingsAnchorRect(\n\t\t\t\t\tnew window.DOMRect( event.clientX, event.clientY, 0, 0 )\n\t\t\t\t);\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides, settingsRef, showBlockActions ]\n\t);\n\n\tconst onMouseDown = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent right-click from focusing the block,\n\t\t\t// because focus will be handled when opening the block settings dropdown.\n\t\t\tif ( allowRightClickOverrides && event.button === 2 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides ]\n\t);\n\n\tconst settingsPopoverAnchor = useMemo( () => {\n\t\tconst { ownerDocument } = rowRef?.current || {};\n\n\t\t// If no custom position is set, the settings dropdown will be anchored to the\n\t\t// DropdownMenu toggle button.\n\t\tif ( ! settingsAnchorRect || ! ownerDocument ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Position the settings dropdown at the cursor when right-clicking a block.\n\t\treturn {\n\t\t\townerDocument,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn settingsAnchorRect;\n\t\t\t},\n\t\t};\n\t}, [ settingsAnchorRect ] );\n\n\tconst clearSettingsAnchorRect = useCallback( () => {\n\t\t// Clear the custom position for the settings dropdown so that it is restored back\n\t\t// to being anchored to the DropdownMenu toggle button.\n\t\tsetSettingsAnchorRect( undefined );\n\t}, [ setSettingsAnchorRect ] );\n\n\t// Pass in a ref to the row, so that it can be scrolled\n\t// into view when selected. For long lists, the placeholder for the\n\t// selected block is also observed, within ListViewLeafPlaceholder.\n\tuseListViewScrollIntoView( {\n\t\tisSelected,\n\t\trowItemRef: rowRef,\n\t\tselectedClientIds,\n\t} );\n\n\t// When switching between rendering modes (such as template preview and content only),\n\t// it is possible for a block to temporarily be unavailable. In this case, we should not\n\t// render the leaf, to avoid errors further down the tree.\n\tif ( ! block ) {\n\t\treturn null;\n\t}\n\n\tconst blockPositionDescription = getBlockPositionDescription(\n\t\tposition,\n\t\tsiblingBlockCount,\n\t\tlevel\n\t);\n\n\tconst blockPropertiesDescription =\n\t\tgetBlockPropertiesDescription( isLocked );\n\n\tconst hasSiblings = siblingBlockCount > 0;\n\tconst hasRenderedMovers = showBlockMovers && hasSiblings;\n\tconst moverCellClassName = classnames(\n\t\t'block-editor-list-view-block__mover-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\tconst listViewBlockSettingsClassName = classnames(\n\t\t'block-editor-list-view-block__menu-cell',\n\t\t{ 'is-visible': isHovered || isFirstSelectedBlock }\n\t);\n\n\tlet colSpan;\n\tif ( hasRenderedMovers ) {\n\t\tcolSpan = 2;\n\t} else if ( ! showBlockActions ) {\n\t\tcolSpan = 3;\n\t}\n\n\tconst classes = classnames( {\n\t\t'is-selected': isSelected,\n\t\t'is-first-selected': isFirstSelectedBlock,\n\t\t'is-last-selected': isLastSelectedBlock,\n\t\t'is-branch-selected': isBranchSelected,\n\t\t'is-synced-branch': isSyncedBranch,\n\t\t'is-dragging': isDragged,\n\t\t'has-single-cell': ! showBlockActions,\n\t\t'is-synced': blockInformation?.isSynced,\n\t\t'is-draggable': canMove,\n\t\t'is-displacement-normal': displacement === 'normal',\n\t\t'is-displacement-up': displacement === 'up',\n\t\t'is-displacement-down': displacement === 'down',\n\t\t'is-after-dragged-blocks': isAfterDraggedBlocks,\n\t\t'is-nesting': isNesting,\n\t} );\n\n\t// Only include all selected blocks if the currently clicked on block\n\t// is one of the selected blocks. This ensures that if a user attempts\n\t// to alter a block that isn't part of the selection, they're still able\n\t// to do so.\n\tconst dropdownClientIds = selectedClientIds.includes( clientId )\n\t\t? selectedClientIds\n\t\t: [ clientId ];\n\n\t// Detect if there is a block in the canvas currently being edited and multi-selection is not happening.\n\tconst currentlyEditingBlockInCanvas =\n\t\tisSelected && selectedClientIds.length === 1;\n\n\treturn (\n\t\t<ListViewLeaf\n\t\t\tclassName={ classes }\n\t\t\tisDragged={ isDragged }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\tonFocus={ onMouseEnter }\n\t\t\tonBlur={ onMouseLeave }\n\t\t\tlevel={ level }\n\t\t\tposition={ position }\n\t\t\trowCount={ rowCount }\n\t\t\tpath={ path }\n\t\t\tid={ `list-view-${ listViewInstanceId }-block-${ clientId }` }\n\t\t\tdata-block={ clientId }\n\t\t\tdata-expanded={ canEdit ? isExpanded : undefined }\n\t\t\tref={ rowRef }\n\t\t>\n\t\t\t<TreeGridCell\n\t\t\t\tclassName=\"block-editor-list-view-block__contents-cell\"\n\t\t\t\tcolSpan={ colSpan }\n\t\t\t\tref={ cellRef }\n\t\t\t\taria-selected={ !! isSelected }\n\t\t\t>\n\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t<div className=\"block-editor-list-view-block__contents-container\">\n\t\t\t\t\t\t<ListViewBlockContents\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\tonClick={ selectEditorBlock }\n\t\t\t\t\t\t\tonContextMenu={ onContextMenu }\n\t\t\t\t\t\t\tonMouseDown={ onMouseDown }\n\t\t\t\t\t\t\tonToggleExpanded={ toggleExpanded }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\t\tsiblingBlockCount={ siblingBlockCount }\n\t\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\ttabIndex={\n\t\t\t\t\t\t\t\tcurrentlyEditingBlockInCanvas ? 0 : tabIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tisExpanded={ canEdit ? isExpanded : undefined }\n\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\tariaDescribedBy={ descriptionId }\n\t\t\t\t\t\t\tupdateFocusAndSelection={ updateFocusAndSelection }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<AriaReferencedText id={ descriptionId }>\n\t\t\t\t\t\t\t{ `${ blockPositionDescription } ${ blockPropertiesDescription }` }\n\t\t\t\t\t\t</AriaReferencedText>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</TreeGridCell>\n\t\t\t{ hasRenderedMovers && (\n\t\t\t\t<>\n\t\t\t\t\t<TreeGridCell\n\t\t\t\t\t\tclassName={ moverCellClassName }\n\t\t\t\t\t\twithoutGridItem\n\t\t\t\t\t>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ showBlockActions && BlockSettingsMenu && (\n\t\t\t\t<TreeGridCell\n\t\t\t\t\tclassName={ listViewBlockSettingsClassName }\n\t\t\t\t\taria-selected={ !! isSelected }\n\t\t\t\t\tref={ settingsRef }\n\t\t\t\t>\n\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t<BlockSettingsMenu\n\t\t\t\t\t\t\tclientIds={ dropdownClientIds }\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\tanchor: settingsPopoverAnchor, // Used to position the settings at the cursor on right-click.\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tclassName: 'block-editor-list-view-block__menu',\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\tonClick: clearSettingsAnchorRect,\n\t\t\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisableOpenOnArrowDown\n\t\t\t\t\t\t\texpand={ expand }\n\t\t\t\t\t\t\texpandedState={ expandedState }\n\t\t\t\t\t\t\tsetInsertedBlock={ setInsertedBlock }\n\t\t\t\t\t\t\t__experimentalSelectBlock={\n\t\t\t\t\t\t\t\tupdateFocusAndSelection\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</TreeGridCell>\n\t\t\t) }\n\t\t</ListViewLeaf>\n\t);\n}\n\nexport default memo( ListViewBlock );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","hasBlockSupport","__experimentalTreeGridCell","TreeGridCell","__experimentalTreeGridItem","TreeGridItem","useInstanceId","moreVertical","useCallback","useMemo","useState","useRef","memo","useDispatch","useSelect","__","BACKSPACE","DELETE","isShallowEqual","__unstableUseShortcutEventMatch","useShortcutEventMatch","ListViewLeaf","useListViewScrollIntoView","BlockMoverUpButton","BlockMoverDownButton","ListViewBlockContents","useListViewContext","getBlockPositionDescription","getBlockPropertiesDescription","focusListItem","store","blockEditorStore","useBlockDisplayInformation","useBlockLock","AriaReferencedText","unlock","ListViewBlock","block","clientId","displacement","isAfterDraggedBlocks","isDragged","isNesting","isSelected","isBranchSelected","selectBlock","position","level","rowCount","siblingBlockCount","showBlockMovers","path","isExpanded","selectedClientIds","isSyncedBranch","cellRef","rowRef","settingsRef","isHovered","setIsHovered","settingsAnchorRect","setSettingsAnchorRect","isLocked","canEdit","canMove","isFirstSelectedBlock","isLastSelectedBlock","length","toggleBlockHighlight","duplicateBlocks","multiSelect","removeBlocks","insertAfterBlock","insertBeforeBlock","setOpenedBlockSettingsMenu","canInsertBlockType","getSelectedBlockClientIds","getPreviousBlockClientId","getBlockRootClientId","getBlockOrder","getBlockParents","getBlocksByClientId","canRemoveBlocks","blockInformation","blockName","blockEditingMode","allowRightClickOverrides","select","getBlock","getBlockName","getBlockEditingMode","getSettings","showBlockActions","instanceId","descriptionId","expand","collapse","collapseAll","BlockSettingsMenu","listViewInstanceId","expandedState","setInsertedBlock","treeGridElementRef","rootClientId","isMatch","getBlocksToUpdate","selectedBlockClientIds","isUpdatingSelectedBlocks","includes","firstBlockClientId","firstBlockRootClientId","blocksToUpdate","onKeyDown","event","defaultPrevented","stopPropagation","preventDefault","undefined","keyCode","_getPreviousBlockClie","blocksToDelete","blockToFocus","shouldUpdateSelection","updateFocusAndSelection","canDuplicate","every","blockToUpdate","name","updatedBlocks","newlySelectedBlocks","at","blockClientIds","blockParents","onMouseEnter","onMouseLeave","selectEditorBlock","focusClientId","shouldSelectBlock","current","toggleExpanded","onContextMenu","click","window","DOMRect","clientX","clientY","onMouseDown","button","settingsPopoverAnchor","ownerDocument","getBoundingClientRect","clearSettingsAnchorRect","rowItemRef","blockPositionDescription","blockPropertiesDescription","hasSiblings","hasRenderedMovers","moverCellClassName","listViewBlockSettingsClassName","colSpan","classes","isSynced","dropdownClientIds","currentlyEditingBlockInCanvas","createElement","className","onFocus","onBlur","id","ref","tabIndex","onClick","onToggleExpanded","ariaDescribedBy","Fragment","withoutGridItem","orientation","clientIds","icon","label","popoverProps","anchor","toggleProps","disableOpenOnArrowDown","__experimentalSelectBlock"],"sources":["@wordpress/block-editor/src/components/list-view/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport {\n\t__experimentalTreeGridCell as TreeGridCell,\n\t__experimentalTreeGridItem as TreeGridItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport ListViewLeaf from './leaf';\nimport useListViewScrollIntoView from './use-list-view-scroll-into-view';\nimport {\n\tBlockMoverUpButton,\n\tBlockMoverDownButton,\n} from '../block-mover/button';\nimport ListViewBlockContents from './block-contents';\nimport { useListViewContext } from './context';\nimport {\n\tgetBlockPositionDescription,\n\tgetBlockPropertiesDescription,\n\tfocusListItem,\n} from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { useBlockLock } from '../block-lock';\nimport AriaReferencedText from './aria-referenced-text';\nimport { unlock } from '../../lock-unlock';\n\nfunction ListViewBlock( {\n\tblock: { clientId },\n\tdisplacement,\n\tisAfterDraggedBlocks,\n\tisDragged,\n\tisNesting,\n\tisSelected,\n\tisBranchSelected,\n\tselectBlock,\n\tposition,\n\tlevel,\n\trowCount,\n\tsiblingBlockCount,\n\tshowBlockMovers,\n\tpath,\n\tisExpanded,\n\tselectedClientIds,\n\tisSyncedBranch,\n} ) {\n\tconst cellRef = useRef( null );\n\tconst rowRef = useRef( null );\n\tconst settingsRef = useRef( null );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ settingsAnchorRect, setSettingsAnchorRect ] = useState();\n\n\tconst { isLocked, canEdit, canMove } = useBlockLock( clientId );\n\n\tconst isFirstSelectedBlock =\n\t\tisSelected && selectedClientIds[ 0 ] === clientId;\n\tconst isLastSelectedBlock =\n\t\tisSelected &&\n\t\tselectedClientIds[ selectedClientIds.length - 1 ] === clientId;\n\n\tconst {\n\t\ttoggleBlockHighlight,\n\t\tduplicateBlocks,\n\t\tmultiSelect,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tsetOpenedBlockSettingsMenu,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetSelectedBlockClientIds,\n\t\tgetPreviousBlockClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockParents,\n\t\tgetBlocksByClientId,\n\t\tcanRemoveBlocks,\n\t} = useSelect( blockEditorStore );\n\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\tconst { block, blockName, blockEditingMode, allowRightClickOverrides } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlock,\n\t\t\t\t\tgetBlockName,\n\t\t\t\t\tgetBlockEditingMode,\n\t\t\t\t\tgetSettings,\n\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\treturn {\n\t\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\t\tblockName: getBlockName( clientId ),\n\t\t\t\t\tblockEditingMode: getBlockEditingMode( clientId ),\n\t\t\t\t\tallowRightClickOverrides:\n\t\t\t\t\t\tgetSettings().allowRightClickOverrides,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\n\tconst showBlockActions =\n\t\t// When a block hides its toolbar it also hides the block settings menu,\n\t\t// since that menu is part of the toolbar in the editor canvas.\n\t\t// List View respects this by also hiding the block settings menu.\n\t\thasBlockSupport( blockName, '__experimentalToolbar', true ) &&\n\t\t// Don't show the settings menu if block is disabled or content only.\n\t\tblockEditingMode === 'default';\n\tconst instanceId = useInstanceId( ListViewBlock );\n\tconst descriptionId = `list-view-block-select-button__description-${ instanceId }`;\n\n\tconst {\n\t\texpand,\n\t\tcollapse,\n\t\tcollapseAll,\n\t\tBlockSettingsMenu,\n\t\tlistViewInstanceId,\n\t\texpandedState,\n\t\tsetInsertedBlock,\n\t\ttreeGridElementRef,\n\t\trootClientId,\n\t} = useListViewContext();\n\tconst isMatch = useShortcutEventMatch();\n\n\t// Determine which blocks to update:\n\t// If the current (focused) block is part of the block selection, use the whole selection.\n\t// If the focused block is not part of the block selection, only update the focused block.\n\tfunction getBlocksToUpdate() {\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst isUpdatingSelectedBlocks =\n\t\t\tselectedBlockClientIds.includes( clientId );\n\t\tconst firstBlockClientId = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds[ 0 ]\n\t\t\t: clientId;\n\t\tconst firstBlockRootClientId =\n\t\t\tgetBlockRootClientId( firstBlockClientId );\n\n\t\tconst blocksToUpdate = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds\n\t\t\t: [ clientId ];\n\n\t\treturn {\n\t\t\tblocksToUpdate,\n\t\t\tfirstBlockClientId,\n\t\t\tfirstBlockRootClientId,\n\t\t\tselectedBlockClientIds,\n\t\t};\n\t}\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tasync function onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If multiple blocks are selected, deselect all blocks when the user\n\t\t// presses the escape key.\n\t\tif (\n\t\t\tisMatch( 'core/block-editor/unselect', event ) &&\n\t\t\tselectedClientIds.length > 0\n\t\t) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tselectBlock( event, undefined );\n\t\t} else if (\n\t\t\tevent.keyCode === BACKSPACE ||\n\t\t\tevent.keyCode === DELETE ||\n\t\t\tisMatch( 'core/block-editor/remove', event )\n\t\t) {\n\t\t\tconst {\n\t\t\t\tblocksToUpdate: blocksToDelete,\n\t\t\t\tfirstBlockClientId,\n\t\t\t\tfirstBlockRootClientId,\n\t\t\t\tselectedBlockClientIds,\n\t\t\t} = getBlocksToUpdate();\n\n\t\t\t// Don't update the selection if the blocks cannot be deleted.\n\t\t\tif ( ! canRemoveBlocks( blocksToDelete, firstBlockRootClientId ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet blockToFocus =\n\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ) ??\n\t\t\t\t// If the previous block is not found (when the first block is deleted),\n\t\t\t\t// fallback to focus the parent block.\n\t\t\t\tfirstBlockRootClientId;\n\n\t\t\tremoveBlocks( blocksToDelete, false );\n\n\t\t\t// Update the selection if the original selection has been removed.\n\t\t\tconst shouldUpdateSelection =\n\t\t\t\tselectedBlockClientIds.length > 0 &&\n\t\t\t\tgetSelectedBlockClientIds().length === 0;\n\n\t\t\t// If there's no previous block nor parent block, focus the first block.\n\t\t\tif ( ! blockToFocus ) {\n\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t}\n\n\t\t\tupdateFocusAndSelection( blockToFocus, shouldUpdateSelection );\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate, firstBlockRootClientId } =\n\t\t\t\tgetBlocksToUpdate();\n\n\t\t\tconst canDuplicate = getBlocksByClientId( blocksToUpdate ).every(\n\t\t\t\t( blockToUpdate ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!! blockToUpdate &&\n\t\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\t'multiple',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\tfirstBlockRootClientId\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( canDuplicate ) {\n\t\t\t\tconst updatedBlocks = await duplicateBlocks(\n\t\t\t\t\tblocksToUpdate,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\n\t\t\t\tif ( updatedBlocks?.length ) {\n\t\t\t\t\t// If blocks have been duplicated, focus the first duplicated block.\n\t\t\t\t\tupdateFocusAndSelection( updatedBlocks[ 0 ], false );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertBeforeBlock( blocksToUpdate[ 0 ] );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertAfterBlock( blocksToUpdate.at( -1 ) );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/select-all', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { firstBlockRootClientId, selectedBlockClientIds } =\n\t\t\t\tgetBlocksToUpdate();\n\t\t\tconst blockClientIds = getBlockOrder( firstBlockRootClientId );\n\t\t\tif ( ! blockClientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If we have selected all sibling nested blocks, try selecting up a level.\n\t\t\t// This is a similar implementation to that used by `useSelectAll`.\n\t\t\t// `isShallowEqual` is used for the list view instead of a length check,\n\t\t\t// as the array of siblings of the currently focused block may be a different\n\t\t\t// set of blocks from the current block selection if the user is focused\n\t\t\t// on a different part of the list view from the block selection.\n\t\t\tif ( isShallowEqual( selectedBlockClientIds, blockClientIds ) ) {\n\t\t\t\t// Only select up a level if the first block is not the root block.\n\t\t\t\t// This ensures that the block selection can't break out of the root block\n\t\t\t\t// used by the list view, if the list view is only showing a partial hierarchy.\n\t\t\t\tif (\n\t\t\t\t\tfirstBlockRootClientId &&\n\t\t\t\t\tfirstBlockRootClientId !== rootClientId\n\t\t\t\t) {\n\t\t\t\t\tupdateFocusAndSelection( firstBlockRootClientId, true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Select all while passing `null` to skip focusing to the editor canvas,\n\t\t\t// and retain focus within the list view.\n\t\t\tmultiSelect(\n\t\t\t\tblockClientIds[ 0 ],\n\t\t\t\tblockClientIds[ blockClientIds.length - 1 ],\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if ( isMatch( 'core/block-editor/collapse-list-view', event ) ) {\n\t\t\tevent.preventDefault();\n\t\t\tconst { firstBlockClientId } = getBlocksToUpdate();\n\t\t\tconst blockParents = getBlockParents( firstBlockClientId, false );\n\t\t\t// Collapse all blocks.\n\t\t\tcollapseAll();\n\t\t\t// Expand all parents of the current block.\n\t\t\texpand( blockParents );\n\t\t}\n\t}\n\n\tconst onMouseEnter = useCallback( () => {\n\t\tsetIsHovered( true );\n\t\ttoggleBlockHighlight( clientId, true );\n\t}, [ clientId, setIsHovered, toggleBlockHighlight ] );\n\tconst onMouseLeave = useCallback( () => {\n\t\tsetIsHovered( false );\n\t\ttoggleBlockHighlight( clientId, false );\n\t}, [ clientId, setIsHovered, toggleBlockHighlight ] );\n\n\tconst selectEditorBlock = useCallback(\n\t\t( event ) => {\n\t\t\tselectBlock( event, clientId );\n\t\t\tevent.preventDefault();\n\t\t},\n\t\t[ clientId, selectBlock ]\n\t);\n\n\tconst updateFocusAndSelection = useCallback(\n\t\t( focusClientId, shouldSelectBlock ) => {\n\t\t\tif ( shouldSelectBlock ) {\n\t\t\t\tselectBlock( undefined, focusClientId, null, null );\n\t\t\t}\n\n\t\t\tfocusListItem( focusClientId, treeGridElementRef?.current );\n\t\t},\n\t\t[ selectBlock, treeGridElementRef ]\n\t);\n\n\tconst toggleExpanded = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent shift+click from opening link in a new window when toggling.\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tif ( isExpanded === true ) {\n\t\t\t\tcollapse( clientId );\n\t\t\t} else if ( isExpanded === false ) {\n\t\t\t\texpand( clientId );\n\t\t\t}\n\t\t},\n\t\t[ clientId, expand, collapse, isExpanded ]\n\t);\n\n\t// Allow right-clicking an item in the List View to open up the block settings dropdown.\n\tconst onContextMenu = useCallback(\n\t\t( event ) => {\n\t\t\tif ( showBlockActions && allowRightClickOverrides ) {\n\t\t\t\tsettingsRef.current?.click();\n\t\t\t\t// Ensure the position of the settings dropdown is at the cursor.\n\t\t\t\tsetSettingsAnchorRect(\n\t\t\t\t\tnew window.DOMRect( event.clientX, event.clientY, 0, 0 )\n\t\t\t\t);\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides, settingsRef, showBlockActions ]\n\t);\n\n\tconst onMouseDown = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent right-click from focusing the block,\n\t\t\t// because focus will be handled when opening the block settings dropdown.\n\t\t\tif ( allowRightClickOverrides && event.button === 2 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides ]\n\t);\n\n\tconst settingsPopoverAnchor = useMemo( () => {\n\t\tconst { ownerDocument } = rowRef?.current || {};\n\n\t\t// If no custom position is set, the settings dropdown will be anchored to the\n\t\t// DropdownMenu toggle button.\n\t\tif ( ! settingsAnchorRect || ! ownerDocument ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Position the settings dropdown at the cursor when right-clicking a block.\n\t\treturn {\n\t\t\townerDocument,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn settingsAnchorRect;\n\t\t\t},\n\t\t};\n\t}, [ settingsAnchorRect ] );\n\n\tconst clearSettingsAnchorRect = useCallback( () => {\n\t\t// Clear the custom position for the settings dropdown so that it is restored back\n\t\t// to being anchored to the DropdownMenu toggle button.\n\t\tsetSettingsAnchorRect( undefined );\n\t}, [ setSettingsAnchorRect ] );\n\n\t// Pass in a ref to the row, so that it can be scrolled\n\t// into view when selected. For long lists, the placeholder for the\n\t// selected block is also observed, within ListViewLeafPlaceholder.\n\tuseListViewScrollIntoView( {\n\t\tisSelected,\n\t\trowItemRef: rowRef,\n\t\tselectedClientIds,\n\t} );\n\n\t// When switching between rendering modes (such as template preview and content only),\n\t// it is possible for a block to temporarily be unavailable. In this case, we should not\n\t// render the leaf, to avoid errors further down the tree.\n\tif ( ! block ) {\n\t\treturn null;\n\t}\n\n\tconst blockPositionDescription = getBlockPositionDescription(\n\t\tposition,\n\t\tsiblingBlockCount,\n\t\tlevel\n\t);\n\n\tconst blockPropertiesDescription =\n\t\tgetBlockPropertiesDescription( isLocked );\n\n\tconst hasSiblings = siblingBlockCount > 0;\n\tconst hasRenderedMovers = showBlockMovers && hasSiblings;\n\tconst moverCellClassName = classnames(\n\t\t'block-editor-list-view-block__mover-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\tconst listViewBlockSettingsClassName = classnames(\n\t\t'block-editor-list-view-block__menu-cell',\n\t\t{ 'is-visible': isHovered || isFirstSelectedBlock }\n\t);\n\n\tlet colSpan;\n\tif ( hasRenderedMovers ) {\n\t\tcolSpan = 2;\n\t} else if ( ! showBlockActions ) {\n\t\tcolSpan = 3;\n\t}\n\n\tconst classes = classnames( {\n\t\t'is-selected': isSelected,\n\t\t'is-first-selected': isFirstSelectedBlock,\n\t\t'is-last-selected': isLastSelectedBlock,\n\t\t'is-branch-selected': isBranchSelected,\n\t\t'is-synced-branch': isSyncedBranch,\n\t\t'is-dragging': isDragged,\n\t\t'has-single-cell': ! showBlockActions,\n\t\t'is-synced': blockInformation?.isSynced,\n\t\t'is-draggable': canMove,\n\t\t'is-displacement-normal': displacement === 'normal',\n\t\t'is-displacement-up': displacement === 'up',\n\t\t'is-displacement-down': displacement === 'down',\n\t\t'is-after-dragged-blocks': isAfterDraggedBlocks,\n\t\t'is-nesting': isNesting,\n\t} );\n\n\t// Only include all selected blocks if the currently clicked on block\n\t// is one of the selected blocks. This ensures that if a user attempts\n\t// to alter a block that isn't part of the selection, they're still able\n\t// to do so.\n\tconst dropdownClientIds = selectedClientIds.includes( clientId )\n\t\t? selectedClientIds\n\t\t: [ clientId ];\n\n\t// Detect if there is a block in the canvas currently being edited and multi-selection is not happening.\n\tconst currentlyEditingBlockInCanvas =\n\t\tisSelected && selectedClientIds.length === 1;\n\n\treturn (\n\t\t<ListViewLeaf\n\t\t\tclassName={ classes }\n\t\t\tisDragged={ isDragged }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\tonFocus={ onMouseEnter }\n\t\t\tonBlur={ onMouseLeave }\n\t\t\tlevel={ level }\n\t\t\tposition={ position }\n\t\t\trowCount={ rowCount }\n\t\t\tpath={ path }\n\t\t\tid={ `list-view-${ listViewInstanceId }-block-${ clientId }` }\n\t\t\tdata-block={ clientId }\n\t\t\tdata-expanded={ canEdit ? isExpanded : undefined }\n\t\t\tref={ rowRef }\n\t\t>\n\t\t\t<TreeGridCell\n\t\t\t\tclassName=\"block-editor-list-view-block__contents-cell\"\n\t\t\t\tcolSpan={ colSpan }\n\t\t\t\tref={ cellRef }\n\t\t\t\taria-selected={ !! isSelected }\n\t\t\t>\n\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t<div className=\"block-editor-list-view-block__contents-container\">\n\t\t\t\t\t\t<ListViewBlockContents\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\tonClick={ selectEditorBlock }\n\t\t\t\t\t\t\tonContextMenu={ onContextMenu }\n\t\t\t\t\t\t\tonMouseDown={ onMouseDown }\n\t\t\t\t\t\t\tonToggleExpanded={ toggleExpanded }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\t\tsiblingBlockCount={ siblingBlockCount }\n\t\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\ttabIndex={\n\t\t\t\t\t\t\t\tcurrentlyEditingBlockInCanvas ? 0 : tabIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tisExpanded={ canEdit ? isExpanded : undefined }\n\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\tariaDescribedBy={ descriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<AriaReferencedText id={ descriptionId }>\n\t\t\t\t\t\t\t{ `${ blockPositionDescription } ${ blockPropertiesDescription }` }\n\t\t\t\t\t\t</AriaReferencedText>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</TreeGridCell>\n\t\t\t{ hasRenderedMovers && (\n\t\t\t\t<>\n\t\t\t\t\t<TreeGridCell\n\t\t\t\t\t\tclassName={ moverCellClassName }\n\t\t\t\t\t\twithoutGridItem\n\t\t\t\t\t>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ showBlockActions && BlockSettingsMenu && (\n\t\t\t\t<TreeGridCell\n\t\t\t\t\tclassName={ listViewBlockSettingsClassName }\n\t\t\t\t\taria-selected={ !! isSelected }\n\t\t\t\t\tref={ settingsRef }\n\t\t\t\t>\n\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t<BlockSettingsMenu\n\t\t\t\t\t\t\tclientIds={ dropdownClientIds }\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\tanchor: settingsPopoverAnchor, // Used to position the settings at the cursor on right-click.\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tclassName: 'block-editor-list-view-block__menu',\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\tonClick: clearSettingsAnchorRect,\n\t\t\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisableOpenOnArrowDown\n\t\t\t\t\t\t\texpand={ expand }\n\t\t\t\t\t\t\texpandedState={ expandedState }\n\t\t\t\t\t\t\tsetInsertedBlock={ setInsertedBlock }\n\t\t\t\t\t\t\t__experimentalSelectBlock={\n\t\t\t\t\t\t\t\tupdateFocusAndSelection\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</TreeGridCell>\n\t\t\t) }\n\t\t</ListViewLeaf>\n\t);\n}\n\nexport default memo( ListViewBlock );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalTreeGridRow","TreeGridRow","__experimentalTreeGridCell","TreeGridCell","memo","AsyncModeProvider","useSelect","Appender","ListViewBlock","useListViewContext","getDragDisplacementValues","isClientIdSelected","store","blockEditorStore","useBlockDisplayInformation","countBlocks","block","expandedState","draggedClientIds","isExpandedByDefault","_expandedState$block$","isDragged","includes","clientId","isExpanded","innerBlocks","reduce","countReducer","count","_expandedState$block$2","length","noop","ListViewBranch","props","blocks","selectBlock","showBlockMovers","selectedClientIds","level","path","isBranchSelected","listPosition","fixedListWindow","parentId","shouldShowInnerBlocks","isSyncedBranch","showAppender","showAppenderProp","parentBlockInformation","syncedBranch","isSynced","canParentExpand","select","canEditBlock","blockDropPosition","blockDropTargetIndex","firstDraggedBlockIndex","blockIndexes","filteredBlocks","filter","Boolean","blockCount","rowCount","nextPosition","createElement","Fragment","map","index","_expandedState$client","displacement","isAfterDraggedBlocks","isNesting","itemInView","blockInView","position","updatedPath","hasNestedBlocks","shouldExpand","undefined","isSelected","isSelectedBranch","showBlock","key","value","siblingBlockCount","className","setSize","positionInSet","treeGridCellProps","nestingLevel"],"sources":["@wordpress/block-editor/src/components/list-view/branch.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalTreeGridRow as TreeGridRow,\n\t__experimentalTreeGridCell as TreeGridCell,\n} from '@wordpress/components';\nimport { memo } from '@wordpress/element';\nimport { AsyncModeProvider, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { Appender } from './appender';\nimport ListViewBlock from './block';\nimport { useListViewContext } from './context';\nimport { getDragDisplacementValues, isClientIdSelected } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\n\n/**\n * Given a block, returns the total number of blocks in that subtree. This is used to help determine\n * the list position of a block.\n *\n * When a block is collapsed, we do not count their children as part of that total. In the current drag\n * implementation dragged blocks and their children are not counted.\n *\n * @param {Object} block block tree\n * @param {Object} expandedState state that notes which branches are collapsed\n * @param {Array} draggedClientIds a list of dragged client ids\n * @param {boolean} isExpandedByDefault flag to determine the default fallback expanded state.\n * @return {number} block count\n */\nfunction countBlocks(\n\tblock,\n\texpandedState,\n\tdraggedClientIds,\n\tisExpandedByDefault\n) {\n\tconst isDragged = draggedClientIds?.includes( block.clientId );\n\tif ( isDragged ) {\n\t\treturn 0;\n\t}\n\tconst isExpanded = expandedState[ block.clientId ] ?? isExpandedByDefault;\n\n\tif ( isExpanded ) {\n\t\treturn (\n\t\t\t1 +\n\t\t\tblock.innerBlocks.reduce(\n\t\t\t\tcountReducer(\n\t\t\t\t\texpandedState,\n\t\t\t\t\tdraggedClientIds,\n\t\t\t\t\tisExpandedByDefault\n\t\t\t\t),\n\t\t\t\t0\n\t\t\t)\n\t\t);\n\t}\n\treturn 1;\n}\nconst countReducer =\n\t( expandedState, draggedClientIds, isExpandedByDefault ) =>\n\t( count, block ) => {\n\t\tconst isDragged = draggedClientIds?.includes( block.clientId );\n\t\tif ( isDragged ) {\n\t\t\treturn count;\n\t\t}\n\t\tconst isExpanded =\n\t\t\texpandedState[ block.clientId ] ?? isExpandedByDefault;\n\t\tif ( isExpanded && block.innerBlocks.length > 0 ) {\n\t\t\treturn (\n\t\t\t\tcount +\n\t\t\t\tcountBlocks(\n\t\t\t\t\tblock,\n\t\t\t\t\texpandedState,\n\t\t\t\t\tdraggedClientIds,\n\t\t\t\t\tisExpandedByDefault\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\treturn count + 1;\n\t};\n\nconst noop = () => {};\n\nfunction ListViewBranch( props ) {\n\tconst {\n\t\tblocks,\n\t\tselectBlock = noop,\n\t\tshowBlockMovers,\n\t\tselectedClientIds,\n\t\tlevel = 1,\n\t\tpath = '',\n\t\tisBranchSelected = false,\n\t\tlistPosition = 0,\n\t\tfixedListWindow,\n\t\tisExpanded,\n\t\tparentId,\n\t\tshouldShowInnerBlocks = true,\n\t\tisSyncedBranch = false,\n\t\tshowAppender: showAppenderProp = true,\n\t} = props;\n\n\tconst parentBlockInformation = useBlockDisplayInformation( parentId );\n\tconst syncedBranch = isSyncedBranch || !! parentBlockInformation?.isSynced;\n\n\tconst canParentExpand = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! parentId ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn select( blockEditorStore ).canEditBlock( parentId );\n\t\t},\n\t\t[ parentId ]\n\t);\n\n\tconst {\n\t\tblockDropPosition,\n\t\tblockDropTargetIndex,\n\t\tfirstDraggedBlockIndex,\n\t\tblockIndexes,\n\t\texpandedState,\n\t\tdraggedClientIds,\n\t} = useListViewContext();\n\n\tif ( ! canParentExpand ) {\n\t\treturn null;\n\t}\n\n\t// Only show the appender at the first level.\n\tconst showAppender = showAppenderProp && level === 1;\n\tconst filteredBlocks = blocks.filter( Boolean );\n\tconst blockCount = filteredBlocks.length;\n\t// The appender means an extra row in List View, so add 1 to the row count.\n\tconst rowCount = showAppender ? blockCount + 1 : blockCount;\n\tlet nextPosition = listPosition;\n\n\treturn (\n\t\t<>\n\t\t\t{ filteredBlocks.map( ( block, index ) => {\n\t\t\t\tconst { clientId, innerBlocks } = block;\n\n\t\t\t\tif ( index > 0 ) {\n\t\t\t\t\tnextPosition += countBlocks(\n\t\t\t\t\t\tfilteredBlocks[ index - 1 ],\n\t\t\t\t\t\texpandedState,\n\t\t\t\t\t\tdraggedClientIds,\n\t\t\t\t\t\tisExpanded\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst isDragged = !! draggedClientIds?.includes( clientId );\n\n\t\t\t\t// Determine the displacement of the block while dragging. This\n\t\t\t\t// works out whether the current block should be displaced up or\n\t\t\t\t// down, relative to the dragged blocks and the drop target.\n\t\t\t\tconst { displacement, isAfterDraggedBlocks, isNesting } =\n\t\t\t\t\tgetDragDisplacementValues( {\n\t\t\t\t\t\tblockIndexes,\n\t\t\t\t\t\tblockDropTargetIndex,\n\t\t\t\t\t\tblockDropPosition,\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\tfirstDraggedBlockIndex,\n\t\t\t\t\t\tisDragged,\n\t\t\t\t\t} );\n\n\t\t\t\tconst { itemInView } = fixedListWindow;\n\t\t\t\tconst blockInView = itemInView( nextPosition );\n\n\t\t\t\tconst position = index + 1;\n\t\t\t\tconst updatedPath =\n\t\t\t\t\tpath.length > 0\n\t\t\t\t\t\t? `${ path }_${ position }`\n\t\t\t\t\t\t: `${ position }`;\n\t\t\t\tconst hasNestedBlocks = !! innerBlocks?.length;\n\n\t\t\t\tconst shouldExpand =\n\t\t\t\t\thasNestedBlocks && shouldShowInnerBlocks\n\t\t\t\t\t\t? expandedState[ clientId ] ?? isExpanded\n\t\t\t\t\t\t: undefined;\n\n\t\t\t\t// Make updates to the selected or dragged blocks synchronous,\n\t\t\t\t// but asynchronous for any other block.\n\t\t\t\tconst isSelected = isClientIdSelected(\n\t\t\t\t\tclientId,\n\t\t\t\t\tselectedClientIds\n\t\t\t\t);\n\t\t\t\tconst isSelectedBranch =\n\t\t\t\t\tisBranchSelected || ( isSelected && hasNestedBlocks );\n\n\t\t\t\t// To avoid performance issues, we only render blocks that are in view,\n\t\t\t\t// or blocks that are selected or dragged. If a block is selected,\n\t\t\t\t// it is only counted if it is the first of the block selection.\n\t\t\t\t// This prevents the entire tree from being rendered when a branch is\n\t\t\t\t// selected, or a user selects all blocks, while still enabling scroll\n\t\t\t\t// into view behavior when selecting a block or opening the list view.\n\t\t\t\tconst showBlock =\n\t\t\t\t\tisDragged ||\n\t\t\t\t\tblockInView ||\n\t\t\t\t\t( isSelected && clientId === selectedClientIds[ 0 ] );\n\t\t\t\treturn (\n\t\t\t\t\t<AsyncModeProvider key={ clientId } value={ ! isSelected }>\n\t\t\t\t\t\t{ showBlock && (\n\t\t\t\t\t\t\t<ListViewBlock\n\t\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\t\tselectBlock={ selectBlock }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tisBranchSelected={ isSelectedBranch }\n\t\t\t\t\t\t\t\tisDragged={ isDragged }\n\t\t\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\t\t\trowCount={ rowCount }\n\t\t\t\t\t\t\t\tsiblingBlockCount={ blockCount }\n\t\t\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\t\t\tpath={ updatedPath }\n\t\t\t\t\t\t\t\tisExpanded={ isDragged ? false : shouldExpand }\n\t\t\t\t\t\t\t\tlistPosition={ nextPosition }\n\t\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\t\tisSyncedBranch={ syncedBranch }\n\t\t\t\t\t\t\t\tdisplacement={ displacement }\n\t\t\t\t\t\t\t\tisAfterDraggedBlocks={ isAfterDraggedBlocks }\n\t\t\t\t\t\t\t\tisNesting={ isNesting }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! showBlock && (\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td className=\"block-editor-list-view-placeholder\" />\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasNestedBlocks && shouldExpand && ! isDragged && (\n\t\t\t\t\t\t\t<ListViewBranch\n\t\t\t\t\t\t\t\tparentId={ clientId }\n\t\t\t\t\t\t\t\tblocks={ innerBlocks }\n\t\t\t\t\t\t\t\tselectBlock={ selectBlock }\n\t\t\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\t\t\tlevel={ level + 1 }\n\t\t\t\t\t\t\t\tpath={ updatedPath }\n\t\t\t\t\t\t\t\tlistPosition={ nextPosition + 1 }\n\t\t\t\t\t\t\t\tfixedListWindow={ fixedListWindow }\n\t\t\t\t\t\t\t\tisBranchSelected={ isSelectedBranch }\n\t\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tisSyncedBranch={ syncedBranch }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AsyncModeProvider>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ showAppender && (\n\t\t\t\t<TreeGridRow\n\t\t\t\t\tlevel={ level }\n\t\t\t\t\tsetSize={ rowCount }\n\t\t\t\t\tpositionInSet={ rowCount }\n\t\t\t\t\tisExpanded\n\t\t\t\t>\n\t\t\t\t\t<TreeGridCell>\n\t\t\t\t\t\t{ ( treeGridCellProps ) => (\n\t\t\t\t\t\t\t<Appender\n\t\t\t\t\t\t\t\tclientId={ parentId }\n\t\t\t\t\t\t\t\tnestingLevel={ level }\n\t\t\t\t\t\t\t\tblockCount={ blockCount }\n\t\t\t\t\t\t\t\t{ ...treeGridCellProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</TreeGridRow>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default memo( ListViewBranch );\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,yBAAyB,IAAIC,WAAW,EACxCC,0BAA0B,IAAIC,YAAY,QACpC,uBAAuB;AAC9B,SAASC,IAAI,QAAQ,oBAAoB;AACzC,SAASC,iBAAiB,EAAEC,SAAS,QAAQ,iBAAiB;;AAE9D;AACA;AACA;AACA,SAASC,QAAQ,QAAQ,YAAY;AACrC,OAAOC,aAAa,MAAM,SAAS;AACnC,SAASC,kBAAkB,QAAQ,WAAW;AAC9C,SAASC,yBAAyB,EAAEC,kBAAkB,QAAQ,SAAS;AACvE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,OAAOC,0BAA0B,MAAM,kCAAkC;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,WAAWA,CACnBC,KAAK,EACLC,aAAa,EACbC,gBAAgB,EAChBC,mBAAmB,EAClB;EAAA,IAAAC,qBAAA;EACD,MAAMC,SAAS,GAAGH,gBAAgB,EAAEI,QAAQ,CAAEN,KAAK,CAACO,QAAS,CAAC;EAC9D,IAAKF,SAAS,EAAG;IAChB,OAAO,CAAC;EACT;EACA,MAAMG,UAAU,IAAAJ,qBAAA,GAAGH,aAAa,CAAED,KAAK,CAACO,QAAQ,CAAE,cAAAH,qBAAA,cAAAA,qBAAA,GAAID,mBAAmB;EAEzE,IAAKK,UAAU,EAAG;IACjB,OACC,CAAC,GACDR,KAAK,CAACS,WAAW,CAACC,MAAM,CACvBC,YAAY,CACXV,aAAa,EACbC,gBAAgB,EAChBC,mBACD,CAAC,EACD,CACD,CAAC;EAEH;EACA,OAAO,CAAC;AACT;AACA,MAAMQ,YAAY,GACjBA,CAAEV,aAAa,EAAEC,gBAAgB,EAAEC,mBAAmB,KACtD,CAAES,KAAK,EAAEZ,KAAK,KAAM;EAAA,IAAAa,sBAAA;EACnB,MAAMR,SAAS,GAAGH,gBAAgB,EAAEI,QAAQ,CAAEN,KAAK,CAACO,QAAS,CAAC;EAC9D,IAAKF,SAAS,EAAG;IAChB,OAAOO,KAAK;EACb;EACA,MAAMJ,UAAU,IAAAK,sBAAA,GACfZ,aAAa,CAAED,KAAK,CAACO,QAAQ,CAAE,cAAAM,sBAAA,cAAAA,sBAAA,GAAIV,mBAAmB;EACvD,IAAKK,UAAU,IAAIR,KAAK,CAACS,WAAW,CAACK,MAAM,GAAG,CAAC,EAAG;IACjD,OACCF,KAAK,GACLb,WAAW,CACVC,KAAK,EACLC,aAAa,EACbC,gBAAgB,EAChBC,mBACD,CAAC;EAEH;EACA,OAAOS,KAAK,GAAG,CAAC;AACjB,CAAC;AAEF,MAAMG,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,SAASC,cAAcA,CAAEC,KAAK,EAAG;EAChC,MAAM;IACLC,MAAM;IACNC,WAAW,GAAGJ,IAAI;IAClBK,eAAe;IACfC,iBAAiB;IACjBC,KAAK,GAAG,CAAC;IACTC,IAAI,GAAG,EAAE;IACTC,gBAAgB,GAAG,KAAK;IACxBC,YAAY,GAAG,CAAC;IAChBC,eAAe;IACflB,UAAU;IACVmB,QAAQ;IACRC,qBAAqB,GAAG,IAAI;IAC5BC,cAAc,GAAG,KAAK;IACtBC,YAAY,EAAEC,gBAAgB,GAAG;EAClC,CAAC,GAAGd,KAAK;EAET,MAAMe,sBAAsB,GAAGlC,0BAA0B,CAAE6B,QAAS,CAAC;EACrE,MAAMM,YAAY,GAAGJ,cAAc,IAAI,CAAC,CAAEG,sBAAsB,EAAEE,QAAQ;EAE1E,MAAMC,eAAe,GAAG7C,SAAS,CAC9B8C,MAAM,IAAM;IACb,IAAK,CAAET,QAAQ,EAAG;MACjB,OAAO,IAAI;IACZ;IACA,OAAOS,MAAM,CAAEvC,gBAAiB,CAAC,CAACwC,YAAY,CAAEV,QAAS,CAAC;EAC3D,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,MAAM;IACLW,iBAAiB;IACjBC,oBAAoB;IACpBC,sBAAsB;IACtBC,YAAY;IACZxC,aAAa;IACbC;EACD,CAAC,GAAGT,kBAAkB,CAAC,CAAC;EAExB,IAAK,CAAE0C,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;;EAEA;EACA,MAAML,YAAY,GAAGC,gBAAgB,IAAIT,KAAK,KAAK,CAAC;EACpD,MAAMoB,cAAc,GAAGxB,MAAM,CAACyB,MAAM,CAAEC,OAAQ,CAAC;EAC/C,MAAMC,UAAU,GAAGH,cAAc,CAAC5B,MAAM;EACxC;EACA,MAAMgC,QAAQ,GAAGhB,YAAY,GAAGe,UAAU,GAAG,CAAC,GAAGA,UAAU;EAC3D,IAAIE,YAAY,GAAGtB,YAAY;EAE/B,OACCuB,aAAA,CAAAC,QAAA,QACGP,cAAc,CAACQ,GAAG,CAAE,CAAElD,KAAK,EAAEmD,KAAK,KAAM;IAAA,IAAAC,qBAAA;IACzC,MAAM;MAAE7C,QAAQ;MAAEE;IAAY,CAAC,GAAGT,KAAK;IAEvC,IAAKmD,KAAK,GAAG,CAAC,EAAG;MAChBJ,YAAY,IAAIhD,WAAW,CAC1B2C,cAAc,CAAES,KAAK,GAAG,CAAC,CAAE,EAC3BlD,aAAa,EACbC,gBAAgB,EAChBM,UACD,CAAC;IACF;IAEA,MAAMH,SAAS,GAAG,CAAC,CAAEH,gBAAgB,EAAEI,QAAQ,CAAEC,QAAS,CAAC;;IAE3D;IACA;IACA;IACA,MAAM;MAAE8C,YAAY;MAAEC,oBAAoB;MAAEC;IAAU,CAAC,GACtD7D,yBAAyB,CAAE;MAC1B+C,YAAY;MACZF,oBAAoB;MACpBD,iBAAiB;MACjB/B,QAAQ;MACRiC,sBAAsB;MACtBnC;IACD,CAAE,CAAC;IAEJ,MAAM;MAAEmD;IAAW,CAAC,GAAG9B,eAAe;IACtC,MAAM+B,WAAW,GAAGD,UAAU,CAAET,YAAa,CAAC;IAE9C,MAAMW,QAAQ,GAAGP,KAAK,GAAG,CAAC;IAC1B,MAAMQ,WAAW,GAChBpC,IAAI,CAACT,MAAM,GAAG,CAAC,GACX,GAAGS,IAAM,IAAImC,QAAU,EAAC,GACxB,GAAGA,QAAU,EAAC;IACnB,MAAME,eAAe,GAAG,CAAC,CAAEnD,WAAW,EAAEK,MAAM;IAE9C,MAAM+C,YAAY,GACjBD,eAAe,IAAIhC,qBAAqB,IAAAwB,qBAAA,GACrCnD,aAAa,CAAEM,QAAQ,CAAE,cAAA6C,qBAAA,cAAAA,qBAAA,GAAI5C,UAAU,GACvCsD,SAAS;;IAEb;IACA;IACA,MAAMC,UAAU,GAAGpE,kBAAkB,CACpCY,QAAQ,EACRc,iBACD,CAAC;IACD,MAAM2C,gBAAgB,GACrBxC,gBAAgB,IAAMuC,UAAU,IAAIH,eAAiB;;IAEtD;IACA;IACA;IACA;IACA;IACA;IACA,MAAMK,SAAS,GACd5D,SAAS,IACToD,WAAW,IACTM,UAAU,IAAIxD,QAAQ,KAAKc,iBAAiB,CAAE,CAAC,CAAI;IACtD,OACC2B,aAAA,CAAC3D,iBAAiB;MAAC6E,GAAG,EAAG3D,QAAU;MAAC4D,KAAK,EAAG,CAAEJ;IAAY,GACvDE,SAAS,IACVjB,aAAA,CAACxD,aAAa;MACbQ,KAAK,EAAGA,KAAO;MACfmB,WAAW,EAAGA,WAAa;MAC3B4C,UAAU,EAAGA,UAAY;MACzBvC,gBAAgB,EAAGwC,gBAAkB;MACrC3D,SAAS,EAAGA,SAAW;MACvBiB,KAAK,EAAGA,KAAO;MACfoC,QAAQ,EAAGA,QAAU;MACrBZ,QAAQ,EAAGA,QAAU;MACrBsB,iBAAiB,EAAGvB,UAAY;MAChCzB,eAAe,EAAGA,eAAiB;MACnCG,IAAI,EAAGoC,WAAa;MACpBnD,UAAU,EAAGH,SAAS,GAAG,KAAK,GAAGwD,YAAc;MAC/CpC,YAAY,EAAGsB,YAAc;MAC7B1B,iBAAiB,EAAGA,iBAAmB;MACvCQ,cAAc,EAAGI,YAAc;MAC/BoB,YAAY,EAAGA,YAAc;MAC7BC,oBAAoB,EAAGA,oBAAsB;MAC7CC,SAAS,EAAGA;IAAW,CACvB,CACD,EACC,CAAEU,SAAS,IACZjB,aAAA,aACCA,aAAA;MAAIqB,SAAS,EAAC;IAAoC,CAAE,CACjD,CACJ,EACCT,eAAe,IAAIC,YAAY,IAAI,CAAExD,SAAS,IAC/C2C,aAAA,CAAChC,cAAc;MACdW,QAAQ,EAAGpB,QAAU;MACrBW,MAAM,EAAGT,WAAa;MACtBU,WAAW,EAAGA,WAAa;MAC3BC,eAAe,EAAGA,eAAiB;MACnCE,KAAK,EAAGA,KAAK,GAAG,CAAG;MACnBC,IAAI,EAAGoC,WAAa;MACpBlC,YAAY,EAAGsB,YAAY,GAAG,CAAG;MACjCrB,eAAe,EAAGA,eAAiB;MACnCF,gBAAgB,EAAGwC,gBAAkB;MACrC3C,iBAAiB,EAAGA,iBAAmB;MACvCb,UAAU,EAAGA,UAAY;MACzBqB,cAAc,EAAGI;IAAc,CAC/B,CAEgB,CAAC;EAEtB,CAAE,CAAC,EACDH,YAAY,IACbkB,aAAA,CAAC/D,WAAW;IACXqC,KAAK,EAAGA,KAAO;IACfgD,OAAO,EAAGxB,QAAU;IACpByB,aAAa,EAAGzB,QAAU;IAC1BtC,UAAU;EAAA,GAEVwC,aAAA,CAAC7D,YAAY,QACRqF,iBAAiB,IACpBxB,aAAA,CAACzD,QAAQ;IACRgB,QAAQ,EAAGoB,QAAU;IACrB8C,YAAY,EAAGnD,KAAO;IACtBuB,UAAU,EAAGA,UAAY;IAAA,GACpB2B;EAAiB,CACtB,CAEW,CACF,CAEb,CAAC;AAEL;AAEA,eAAepF,IAAI,CAAE4B,cAAe,CAAC"}
|
|
1
|
+
{"version":3,"names":["__experimentalTreeGridRow","TreeGridRow","__experimentalTreeGridCell","TreeGridCell","memo","AsyncModeProvider","useSelect","Appender","ListViewBlock","useListViewContext","getDragDisplacementValues","isClientIdSelected","store","blockEditorStore","useBlockDisplayInformation","countBlocks","block","expandedState","draggedClientIds","isExpandedByDefault","_expandedState$block$","isDragged","includes","clientId","isExpanded","innerBlocks","reduce","countReducer","count","_expandedState$block$2","length","noop","ListViewBranch","props","blocks","selectBlock","showBlockMovers","selectedClientIds","level","path","isBranchSelected","listPosition","fixedListWindow","parentId","shouldShowInnerBlocks","isSyncedBranch","showAppender","showAppenderProp","parentBlockInformation","syncedBranch","isSynced","canParentExpand","select","canEditBlock","blockDropPosition","blockDropTargetIndex","firstDraggedBlockIndex","blockIndexes","filteredBlocks","filter","Boolean","blockCount","rowCount","nextPosition","createElement","Fragment","map","index","_expandedState$client","displacement","isAfterDraggedBlocks","isNesting","itemInView","blockInView","position","updatedPath","hasNestedBlocks","shouldExpand","undefined","isSelected","isSelectedBranch","showBlock","key","value","siblingBlockCount","className","setSize","positionInSet","treeGridCellProps","nestingLevel"],"sources":["@wordpress/block-editor/src/components/list-view/branch.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalTreeGridRow as TreeGridRow,\n\t__experimentalTreeGridCell as TreeGridCell,\n} from '@wordpress/components';\nimport { memo } from '@wordpress/element';\nimport { AsyncModeProvider, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { Appender } from './appender';\nimport ListViewBlock from './block';\nimport { useListViewContext } from './context';\nimport { getDragDisplacementValues, isClientIdSelected } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\n\n/**\n * Given a block, returns the total number of blocks in that subtree. This is used to help determine\n * the list position of a block.\n *\n * When a block is collapsed, we do not count their children as part of that total. In the current drag\n * implementation dragged blocks and their children are not counted.\n *\n * @param {Object} block block tree\n * @param {Object} expandedState state that notes which branches are collapsed\n * @param {Array} draggedClientIds a list of dragged client ids\n * @param {boolean} isExpandedByDefault flag to determine the default fallback expanded state.\n * @return {number} block count\n */\nfunction countBlocks(\n\tblock,\n\texpandedState,\n\tdraggedClientIds,\n\tisExpandedByDefault\n) {\n\tconst isDragged = draggedClientIds?.includes( block.clientId );\n\tif ( isDragged ) {\n\t\treturn 0;\n\t}\n\tconst isExpanded = expandedState[ block.clientId ] ?? isExpandedByDefault;\n\n\tif ( isExpanded ) {\n\t\treturn (\n\t\t\t1 +\n\t\t\tblock.innerBlocks.reduce(\n\t\t\t\tcountReducer(\n\t\t\t\t\texpandedState,\n\t\t\t\t\tdraggedClientIds,\n\t\t\t\t\tisExpandedByDefault\n\t\t\t\t),\n\t\t\t\t0\n\t\t\t)\n\t\t);\n\t}\n\treturn 1;\n}\nconst countReducer =\n\t( expandedState, draggedClientIds, isExpandedByDefault ) =>\n\t( count, block ) => {\n\t\tconst isDragged = draggedClientIds?.includes( block.clientId );\n\t\tif ( isDragged ) {\n\t\t\treturn count;\n\t\t}\n\t\tconst isExpanded =\n\t\t\texpandedState[ block.clientId ] ?? isExpandedByDefault;\n\t\tif ( isExpanded && block.innerBlocks.length > 0 ) {\n\t\t\treturn (\n\t\t\t\tcount +\n\t\t\t\tcountBlocks(\n\t\t\t\t\tblock,\n\t\t\t\t\texpandedState,\n\t\t\t\t\tdraggedClientIds,\n\t\t\t\t\tisExpandedByDefault\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\treturn count + 1;\n\t};\n\nconst noop = () => {};\n\nfunction ListViewBranch( props ) {\n\tconst {\n\t\tblocks,\n\t\tselectBlock = noop,\n\t\tshowBlockMovers,\n\t\tselectedClientIds,\n\t\tlevel = 1,\n\t\tpath = '',\n\t\tisBranchSelected = false,\n\t\tlistPosition = 0,\n\t\tfixedListWindow,\n\t\tisExpanded,\n\t\tparentId,\n\t\tshouldShowInnerBlocks = true,\n\t\tisSyncedBranch = false,\n\t\tshowAppender: showAppenderProp = true,\n\t} = props;\n\n\tconst parentBlockInformation = useBlockDisplayInformation( parentId );\n\tconst syncedBranch = isSyncedBranch || !! parentBlockInformation?.isSynced;\n\n\tconst canParentExpand = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! parentId ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn select( blockEditorStore ).canEditBlock( parentId );\n\t\t},\n\t\t[ parentId ]\n\t);\n\n\tconst {\n\t\tblockDropPosition,\n\t\tblockDropTargetIndex,\n\t\tfirstDraggedBlockIndex,\n\t\tblockIndexes,\n\t\texpandedState,\n\t\tdraggedClientIds,\n\t} = useListViewContext();\n\n\tif ( ! canParentExpand ) {\n\t\treturn null;\n\t}\n\n\t// Only show the appender at the first level.\n\tconst showAppender = showAppenderProp && level === 1;\n\tconst filteredBlocks = blocks.filter( Boolean );\n\tconst blockCount = filteredBlocks.length;\n\t// The appender means an extra row in List View, so add 1 to the row count.\n\tconst rowCount = showAppender ? blockCount + 1 : blockCount;\n\tlet nextPosition = listPosition;\n\n\treturn (\n\t\t<>\n\t\t\t{ filteredBlocks.map( ( block, index ) => {\n\t\t\t\tconst { clientId, innerBlocks } = block;\n\n\t\t\t\tif ( index > 0 ) {\n\t\t\t\t\tnextPosition += countBlocks(\n\t\t\t\t\t\tfilteredBlocks[ index - 1 ],\n\t\t\t\t\t\texpandedState,\n\t\t\t\t\t\tdraggedClientIds,\n\t\t\t\t\t\tisExpanded\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst isDragged = !! draggedClientIds?.includes( clientId );\n\n\t\t\t\t// Determine the displacement of the block while dragging. This\n\t\t\t\t// works out whether the current block should be displaced up or\n\t\t\t\t// down, relative to the dragged blocks and the drop target.\n\t\t\t\tconst { displacement, isAfterDraggedBlocks, isNesting } =\n\t\t\t\t\tgetDragDisplacementValues( {\n\t\t\t\t\t\tblockIndexes,\n\t\t\t\t\t\tblockDropTargetIndex,\n\t\t\t\t\t\tblockDropPosition,\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\tfirstDraggedBlockIndex,\n\t\t\t\t\t\tisDragged,\n\t\t\t\t\t} );\n\n\t\t\t\tconst { itemInView } = fixedListWindow;\n\t\t\t\tconst blockInView = itemInView( nextPosition );\n\n\t\t\t\tconst position = index + 1;\n\t\t\t\tconst updatedPath =\n\t\t\t\t\tpath.length > 0\n\t\t\t\t\t\t? `${ path }_${ position }`\n\t\t\t\t\t\t: `${ position }`;\n\t\t\t\tconst hasNestedBlocks = !! innerBlocks?.length;\n\n\t\t\t\tconst shouldExpand =\n\t\t\t\t\thasNestedBlocks && shouldShowInnerBlocks\n\t\t\t\t\t\t? expandedState[ clientId ] ?? isExpanded\n\t\t\t\t\t\t: undefined;\n\n\t\t\t\t// Make updates to the selected or dragged blocks synchronous,\n\t\t\t\t// but asynchronous for any other block.\n\t\t\t\tconst isSelected = isClientIdSelected(\n\t\t\t\t\tclientId,\n\t\t\t\t\tselectedClientIds\n\t\t\t\t);\n\t\t\t\tconst isSelectedBranch =\n\t\t\t\t\tisBranchSelected || ( isSelected && hasNestedBlocks );\n\n\t\t\t\t// To avoid performance issues, we only render blocks that are in view,\n\t\t\t\t// or blocks that are selected or dragged. If a block is selected,\n\t\t\t\t// it is only counted if it is the first of the block selection.\n\t\t\t\t// This prevents the entire tree from being rendered when a branch is\n\t\t\t\t// selected, or a user selects all blocks, while still enabling scroll\n\t\t\t\t// into view behavior when selecting a block or opening the list view.\n\t\t\t\tconst showBlock =\n\t\t\t\t\tisDragged ||\n\t\t\t\t\tblockInView ||\n\t\t\t\t\t( isSelected && clientId === selectedClientIds[ 0 ] );\n\t\t\t\treturn (\n\t\t\t\t\t<AsyncModeProvider key={ clientId } value={ ! isSelected }>\n\t\t\t\t\t\t{ showBlock && (\n\t\t\t\t\t\t\t<ListViewBlock\n\t\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\t\tselectBlock={ selectBlock }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tisBranchSelected={ isSelectedBranch }\n\t\t\t\t\t\t\t\tisDragged={ isDragged }\n\t\t\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\t\t\trowCount={ rowCount }\n\t\t\t\t\t\t\t\tsiblingBlockCount={ blockCount }\n\t\t\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\t\t\tpath={ updatedPath }\n\t\t\t\t\t\t\t\tisExpanded={ isDragged ? false : shouldExpand }\n\t\t\t\t\t\t\t\tlistPosition={ nextPosition }\n\t\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\t\tisSyncedBranch={ syncedBranch }\n\t\t\t\t\t\t\t\tdisplacement={ displacement }\n\t\t\t\t\t\t\t\tisAfterDraggedBlocks={ isAfterDraggedBlocks }\n\t\t\t\t\t\t\t\tisNesting={ isNesting }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! showBlock && (\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td className=\"block-editor-list-view-placeholder\" />\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasNestedBlocks && shouldExpand && ! isDragged && (\n\t\t\t\t\t\t\t<ListViewBranch\n\t\t\t\t\t\t\t\tparentId={ clientId }\n\t\t\t\t\t\t\t\tblocks={ innerBlocks }\n\t\t\t\t\t\t\t\tselectBlock={ selectBlock }\n\t\t\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\t\t\tlevel={ level + 1 }\n\t\t\t\t\t\t\t\tpath={ updatedPath }\n\t\t\t\t\t\t\t\tlistPosition={ nextPosition + 1 }\n\t\t\t\t\t\t\t\tfixedListWindow={ fixedListWindow }\n\t\t\t\t\t\t\t\tisBranchSelected={ isSelectedBranch }\n\t\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tisSyncedBranch={ syncedBranch }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AsyncModeProvider>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ showAppender && (\n\t\t\t\t<TreeGridRow\n\t\t\t\t\tlevel={ level }\n\t\t\t\t\tsetSize={ rowCount }\n\t\t\t\t\tpositionInSet={ rowCount }\n\t\t\t\t\tisExpanded\n\t\t\t\t>\n\t\t\t\t\t<TreeGridCell>\n\t\t\t\t\t\t{ ( treeGridCellProps ) => (\n\t\t\t\t\t\t\t<Appender\n\t\t\t\t\t\t\t\tclientId={ parentId }\n\t\t\t\t\t\t\t\tnestingLevel={ level }\n\t\t\t\t\t\t\t\tblockCount={ blockCount }\n\t\t\t\t\t\t\t\t{ ...treeGridCellProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</TreeGridRow>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default memo( ListViewBranch );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","ListViewContext","useListViewContext"],"sources":["@wordpress/block-editor/src/components/list-view/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n\nexport const ListViewContext = createContext( {} );\n\nexport const useListViewContext = () => useContext( ListViewContext );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,EAAEC,UAAU,QAAQ,oBAAoB;AAE9D,OAAO,MAAMC,eAAe,GAAGF,aAAa,CAAE,CAAC,CAAE,CAAC;AAElD,OAAO,MAAMG,kBAAkB,GAAGA,CAAA,KAAMF,UAAU,CAAEC,eAAgB,CAAC"}
|
|
1
|
+
{"version":3,"names":["createContext","useContext","ListViewContext","useListViewContext"],"sources":["@wordpress/block-editor/src/components/list-view/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n\nexport const ListViewContext = createContext( {} );\n\nexport const useListViewContext = () => useContext( ListViewContext );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,EAAEC,UAAU,QAAQ,oBAAoB;AAE9D,OAAO,MAAMC,eAAe,GAAGF,aAAa,CAAE,CAAC,CAAE,CAAC;AAElD,OAAO,MAAMG,kBAAkB,GAAGA,CAAA,KAAMF,UAAU,CAAEC,eAAgB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__experimentalHStack","HStack","__experimentalTruncate","Truncate","Popover","getScrollContainer","useCallback","useMemo","isRTL","BlockIcon","useBlockDisplayInformation","useBlockDisplayTitle","ListViewExpander","ListViewDropIndicatorPreview","draggedBlockClientId","listViewRef","blockDropTarget","blockInformation","blockTitle","clientId","context","rootClientId","dropPosition","rootBlockElement","blockElement","current","_rootBlockElement","querySelector","undefined","_blockElement","targetElement","rtl","getDropIndicatorWidth","targetElementRect","indent","width","offsetWidth","scrollContainer","ownerDocument","windowScroll","body","documentElement","scrollContainerRect","getBoundingClientRect","distanceBetweenContainerAndTarget","right","left","scrollContainerWidth","clientWidth","style","horizontalScrollOffsetStyle","transform","ariaLevel","_ariaLevel","parseInt","getAttribute","hasAdjacentSelectedBranch","classList","contains","popoverAnchor","isValidDropPosition","contextElement","rect","top","doc","scrollbarWidth","height","window","DOMRect","createElement","animate","anchor","focusOnMount","className","variant","flip","resize","onClick","icon","showColors","alignment","justify","spacing","ellipsizeMode"],"sources":["@wordpress/block-editor/src/components/list-view/drop-indicator.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n\tPopover,\n} from '@wordpress/components';\n\nimport { getScrollContainer } from '@wordpress/dom';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport ListViewExpander from './expander';\n\nexport default function ListViewDropIndicatorPreview( {\n\tdraggedBlockClientId,\n\tlistViewRef,\n\tblockDropTarget,\n} ) {\n\tconst blockInformation = useBlockDisplayInformation( draggedBlockClientId );\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: draggedBlockClientId,\n\t\tcontext: 'list-view',\n\t} );\n\n\tconst { rootClientId, clientId, dropPosition } = blockDropTarget || {};\n\n\tconst [ rootBlockElement, blockElement ] = useMemo( () => {\n\t\tif ( ! listViewRef.current ) {\n\t\t\treturn [];\n\t\t}\n\n\t\t// The rootClientId will be defined whenever dropping into inner\n\t\t// block lists, but is undefined when dropping at the root level.\n\t\tconst _rootBlockElement = rootClientId\n\t\t\t? listViewRef.current.querySelector(\n\t\t\t\t\t`[data-block=\"${ rootClientId }\"]`\n\t\t\t )\n\t\t\t: undefined;\n\n\t\t// The clientId represents the sibling block, the dragged block will\n\t\t// usually be inserted adjacent to it. It will be undefined when\n\t\t// dropping a block into an empty block list.\n\t\tconst _blockElement = clientId\n\t\t\t? listViewRef.current.querySelector(\n\t\t\t\t\t`[data-block=\"${ clientId }\"]`\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn [ _rootBlockElement, _blockElement ];\n\t}, [ listViewRef, rootClientId, clientId ] );\n\n\t// The targetElement is the element that the drop indicator will appear\n\t// before or after. When dropping into an empty block list, blockElement\n\t// is undefined, so the indicator will appear after the rootBlockElement.\n\tconst targetElement = blockElement || rootBlockElement;\n\n\tconst rtl = isRTL();\n\n\tconst getDropIndicatorWidth = useCallback(\n\t\t( targetElementRect, indent ) => {\n\t\t\tif ( ! targetElement ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// Default to assuming that the width of the drop indicator\n\t\t\t// should be the same as the target element.\n\t\t\tlet width = targetElement.offsetWidth;\n\n\t\t\t// In deeply nested lists, where a scrollbar is present,\n\t\t\t// the width of the drop indicator should be the width of\n\t\t\t// the scroll container, minus the distance from the left\n\t\t\t// edge of the scroll container to the left edge of the\n\t\t\t// target element.\n\t\t\tconst scrollContainer = getScrollContainer(\n\t\t\t\ttargetElement,\n\t\t\t\t'horizontal'\n\t\t\t);\n\n\t\t\tconst ownerDocument = targetElement.ownerDocument;\n\t\t\tconst windowScroll =\n\t\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\t\tscrollContainer === ownerDocument.documentElement;\n\n\t\t\tif ( scrollContainer && ! windowScroll ) {\n\t\t\t\tconst scrollContainerRect =\n\t\t\t\t\tscrollContainer.getBoundingClientRect();\n\n\t\t\t\tconst distanceBetweenContainerAndTarget = isRTL()\n\t\t\t\t\t? scrollContainerRect.right - targetElementRect.right\n\t\t\t\t\t: targetElementRect.left - scrollContainerRect.left;\n\n\t\t\t\tconst scrollContainerWidth = scrollContainer.clientWidth;\n\n\t\t\t\tif (\n\t\t\t\t\tscrollContainerWidth <\n\t\t\t\t\twidth + distanceBetweenContainerAndTarget\n\t\t\t\t) {\n\t\t\t\t\twidth =\n\t\t\t\t\t\tscrollContainerWidth -\n\t\t\t\t\t\tdistanceBetweenContainerAndTarget;\n\t\t\t\t}\n\n\t\t\t\t// LTR logic for ensuring the drop indicator does not extend\n\t\t\t\t// beyond the right edge of the scroll container.\n\t\t\t\tif (\n\t\t\t\t\t! rtl &&\n\t\t\t\t\ttargetElementRect.left + indent < scrollContainerRect.left\n\t\t\t\t) {\n\t\t\t\t\twidth -= scrollContainerRect.left - targetElementRect.left;\n\t\t\t\t\treturn width;\n\t\t\t\t}\n\n\t\t\t\t// RTL logic for ensuring the drop indicator does not extend\n\t\t\t\t// beyond the right edge of the scroll container.\n\t\t\t\tif (\n\t\t\t\t\trtl &&\n\t\t\t\t\ttargetElementRect.right - indent > scrollContainerRect.right\n\t\t\t\t) {\n\t\t\t\t\twidth -=\n\t\t\t\t\t\ttargetElementRect.right - scrollContainerRect.right;\n\t\t\t\t\treturn width;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Subtract the indent from the final width of the indicator.\n\t\t\treturn width - indent;\n\t\t},\n\t\t[ rtl, targetElement ]\n\t);\n\n\tconst style = useMemo( () => {\n\t\tif ( ! targetElement ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst targetElementRect = targetElement.getBoundingClientRect();\n\n\t\treturn {\n\t\t\twidth: getDropIndicatorWidth( targetElementRect, 0 ),\n\t\t};\n\t}, [ getDropIndicatorWidth, targetElement ] );\n\n\tconst horizontalScrollOffsetStyle = useMemo( () => {\n\t\tif ( ! targetElement ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst scrollContainer = getScrollContainer( targetElement );\n\t\tconst ownerDocument = targetElement.ownerDocument;\n\t\tconst windowScroll =\n\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\tscrollContainer === ownerDocument.documentElement;\n\n\t\tif ( scrollContainer && ! windowScroll ) {\n\t\t\tconst scrollContainerRect = scrollContainer.getBoundingClientRect();\n\t\t\tconst targetElementRect = targetElement.getBoundingClientRect();\n\n\t\t\tconst distanceBetweenContainerAndTarget = rtl\n\t\t\t\t? scrollContainerRect.right - targetElementRect.right\n\t\t\t\t: targetElementRect.left - scrollContainerRect.left;\n\n\t\t\tif ( ! rtl && scrollContainerRect.left > targetElementRect.left ) {\n\t\t\t\treturn {\n\t\t\t\t\ttransform: `translateX( ${ distanceBetweenContainerAndTarget }px )`,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( rtl && scrollContainerRect.right < targetElementRect.right ) {\n\t\t\t\treturn {\n\t\t\t\t\ttransform: `translateX( ${\n\t\t\t\t\t\tdistanceBetweenContainerAndTarget * -1\n\t\t\t\t\t}px )`,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn {};\n\t}, [ rtl, targetElement ] );\n\n\tconst ariaLevel = useMemo( () => {\n\t\tif ( ! rootBlockElement ) {\n\t\t\treturn 1;\n\t\t}\n\n\t\tconst _ariaLevel = parseInt(\n\t\t\trootBlockElement.getAttribute( 'aria-level' ),\n\t\t\t10\n\t\t);\n\n\t\treturn _ariaLevel ? _ariaLevel + 1 : 1;\n\t}, [ rootBlockElement ] );\n\n\tconst hasAdjacentSelectedBranch = useMemo( () => {\n\t\tif ( ! targetElement ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn targetElement.classList.contains( 'is-branch-selected' );\n\t}, [ targetElement ] );\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tconst isValidDropPosition =\n\t\t\tdropPosition === 'top' ||\n\t\t\tdropPosition === 'bottom' ||\n\t\t\tdropPosition === 'inside';\n\t\tif ( ! targetElement || ! isValidDropPosition ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tcontextElement: targetElement,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst rect = targetElement.getBoundingClientRect();\n\t\t\t\t// In RTL languages, the drop indicator should be positioned\n\t\t\t\t// to the left of the target element, with the width of the\n\t\t\t\t// indicator determining the indent at the right edge of the\n\t\t\t\t// target element. In LTR languages, the drop indicator should\n\t\t\t\t// end at the right edge of the target element, with the indent\n\t\t\t\t// added to the position of the left edge of the target element.\n\t\t\t\t// let left = rtl ? rect.left : rect.left + indent;\n\t\t\t\tlet left = rect.left;\n\t\t\t\tlet top = 0;\n\n\t\t\t\t// In deeply nested lists, where a scrollbar is present,\n\t\t\t\t// the width of the drop indicator should be the width of\n\t\t\t\t// the visible area of the scroll container. Additionally,\n\t\t\t\t// the left edge of the drop indicator line needs to be\n\t\t\t\t// offset by the distance the left edge of the target element\n\t\t\t\t// and the left edge of the scroll container. The ensures\n\t\t\t\t// that the drop indicator position never breaks out of the\n\t\t\t\t// visible area of the scroll container.\n\t\t\t\tconst scrollContainer = getScrollContainer(\n\t\t\t\t\ttargetElement,\n\t\t\t\t\t'horizontal'\n\t\t\t\t);\n\n\t\t\t\tconst doc = targetElement.ownerDocument;\n\t\t\t\tconst windowScroll =\n\t\t\t\t\tscrollContainer === doc.body ||\n\t\t\t\t\tscrollContainer === doc.documentElement;\n\n\t\t\t\t// If the scroll container is not the window, offset the left position, if need be.\n\t\t\t\tif ( scrollContainer && ! windowScroll ) {\n\t\t\t\t\tconst scrollContainerRect =\n\t\t\t\t\t\tscrollContainer.getBoundingClientRect();\n\n\t\t\t\t\t// In RTL languages, a vertical scrollbar is present on the\n\t\t\t\t\t// left edge of the scroll container. The width of the\n\t\t\t\t\t// scrollbar needs to be accounted for when positioning the\n\t\t\t\t\t// drop indicator.\n\t\t\t\t\tconst scrollbarWidth = rtl\n\t\t\t\t\t\t? scrollContainer.offsetWidth -\n\t\t\t\t\t\t scrollContainer.clientWidth\n\t\t\t\t\t\t: 0;\n\n\t\t\t\t\tif ( left < scrollContainerRect.left + scrollbarWidth ) {\n\t\t\t\t\t\tleft = scrollContainerRect.left + scrollbarWidth;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( dropPosition === 'top' ) {\n\t\t\t\t\ttop = rect.top - rect.height * 2;\n\t\t\t\t} else {\n\t\t\t\t\t// `dropPosition` is either `bottom` or `inside`\n\t\t\t\t\ttop = rect.top;\n\t\t\t\t}\n\n\t\t\t\tconst width = getDropIndicatorWidth( rect, 0 );\n\t\t\t\tconst height = rect.height;\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t};\n\t}, [ targetElement, dropPosition, getDropIndicatorWidth, rtl ] );\n\n\tif ( ! targetElement ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tanimate={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\tfocusOnMount={ false }\n\t\t\tclassName=\"block-editor-list-view-drop-indicator--preview\"\n\t\t\tvariant=\"unstyled\"\n\t\t\tflip={ false }\n\t\t\tresize\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={ style }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-list-view-drop-indicator__line',\n\t\t\t\t\t{\n\t\t\t\t\t\t'block-editor-list-view-drop-indicator__line--darker':\n\t\t\t\t\t\t\thasAdjacentSelectedBranch,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"block-editor-list-view-leaf\"\n\t\t\t\t\taria-level={ ariaLevel }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-list-view-block-select-button',\n\t\t\t\t\t\t\t'block-editor-list-view-block-contents'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ horizontalScrollOffsetStyle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ListViewExpander onClick={ () => {} } />\n\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\ticon={ blockInformation?.icon }\n\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\tcontext=\"list-view\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\talignment=\"center\"\n\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__label-wrapper\"\n\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__title\">\n\t\t\t\t\t\t\t\t<Truncate ellipsizeMode=\"auto\">\n\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"block-editor-list-view-block__menu-cell\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Popover>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__experimentalHStack","HStack","__experimentalTruncate","Truncate","Popover","getScrollContainer","useCallback","useMemo","isRTL","BlockIcon","useBlockDisplayInformation","useBlockDisplayTitle","ListViewExpander","ListViewDropIndicatorPreview","draggedBlockClientId","listViewRef","blockDropTarget","blockInformation","blockTitle","clientId","context","rootClientId","dropPosition","rootBlockElement","blockElement","current","_rootBlockElement","querySelector","undefined","_blockElement","targetElement","rtl","getDropIndicatorWidth","targetElementRect","indent","width","offsetWidth","scrollContainer","ownerDocument","windowScroll","body","documentElement","scrollContainerRect","getBoundingClientRect","distanceBetweenContainerAndTarget","right","left","scrollContainerWidth","clientWidth","style","horizontalScrollOffsetStyle","transform","ariaLevel","_ariaLevel","parseInt","getAttribute","hasAdjacentSelectedBranch","classList","contains","popoverAnchor","isValidDropPosition","contextElement","rect","top","doc","scrollbarWidth","height","window","DOMRect","createElement","animate","anchor","focusOnMount","className","variant","flip","resize","onClick","icon","showColors","alignment","justify","spacing","ellipsizeMode"],"sources":["@wordpress/block-editor/src/components/list-view/drop-indicator.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n\tPopover,\n} from '@wordpress/components';\n\nimport { getScrollContainer } from '@wordpress/dom';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport ListViewExpander from './expander';\n\nexport default function ListViewDropIndicatorPreview( {\n\tdraggedBlockClientId,\n\tlistViewRef,\n\tblockDropTarget,\n} ) {\n\tconst blockInformation = useBlockDisplayInformation( draggedBlockClientId );\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: draggedBlockClientId,\n\t\tcontext: 'list-view',\n\t} );\n\n\tconst { rootClientId, clientId, dropPosition } = blockDropTarget || {};\n\n\tconst [ rootBlockElement, blockElement ] = useMemo( () => {\n\t\tif ( ! listViewRef.current ) {\n\t\t\treturn [];\n\t\t}\n\n\t\t// The rootClientId will be defined whenever dropping into inner\n\t\t// block lists, but is undefined when dropping at the root level.\n\t\tconst _rootBlockElement = rootClientId\n\t\t\t? listViewRef.current.querySelector(\n\t\t\t\t\t`[data-block=\"${ rootClientId }\"]`\n\t\t\t )\n\t\t\t: undefined;\n\n\t\t// The clientId represents the sibling block, the dragged block will\n\t\t// usually be inserted adjacent to it. It will be undefined when\n\t\t// dropping a block into an empty block list.\n\t\tconst _blockElement = clientId\n\t\t\t? listViewRef.current.querySelector(\n\t\t\t\t\t`[data-block=\"${ clientId }\"]`\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn [ _rootBlockElement, _blockElement ];\n\t}, [ listViewRef, rootClientId, clientId ] );\n\n\t// The targetElement is the element that the drop indicator will appear\n\t// before or after. When dropping into an empty block list, blockElement\n\t// is undefined, so the indicator will appear after the rootBlockElement.\n\tconst targetElement = blockElement || rootBlockElement;\n\n\tconst rtl = isRTL();\n\n\tconst getDropIndicatorWidth = useCallback(\n\t\t( targetElementRect, indent ) => {\n\t\t\tif ( ! targetElement ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// Default to assuming that the width of the drop indicator\n\t\t\t// should be the same as the target element.\n\t\t\tlet width = targetElement.offsetWidth;\n\n\t\t\t// In deeply nested lists, where a scrollbar is present,\n\t\t\t// the width of the drop indicator should be the width of\n\t\t\t// the scroll container, minus the distance from the left\n\t\t\t// edge of the scroll container to the left edge of the\n\t\t\t// target element.\n\t\t\tconst scrollContainer = getScrollContainer(\n\t\t\t\ttargetElement,\n\t\t\t\t'horizontal'\n\t\t\t);\n\n\t\t\tconst ownerDocument = targetElement.ownerDocument;\n\t\t\tconst windowScroll =\n\t\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\t\tscrollContainer === ownerDocument.documentElement;\n\n\t\t\tif ( scrollContainer && ! windowScroll ) {\n\t\t\t\tconst scrollContainerRect =\n\t\t\t\t\tscrollContainer.getBoundingClientRect();\n\n\t\t\t\tconst distanceBetweenContainerAndTarget = isRTL()\n\t\t\t\t\t? scrollContainerRect.right - targetElementRect.right\n\t\t\t\t\t: targetElementRect.left - scrollContainerRect.left;\n\n\t\t\t\tconst scrollContainerWidth = scrollContainer.clientWidth;\n\n\t\t\t\tif (\n\t\t\t\t\tscrollContainerWidth <\n\t\t\t\t\twidth + distanceBetweenContainerAndTarget\n\t\t\t\t) {\n\t\t\t\t\twidth =\n\t\t\t\t\t\tscrollContainerWidth -\n\t\t\t\t\t\tdistanceBetweenContainerAndTarget;\n\t\t\t\t}\n\n\t\t\t\t// LTR logic for ensuring the drop indicator does not extend\n\t\t\t\t// beyond the right edge of the scroll container.\n\t\t\t\tif (\n\t\t\t\t\t! rtl &&\n\t\t\t\t\ttargetElementRect.left + indent < scrollContainerRect.left\n\t\t\t\t) {\n\t\t\t\t\twidth -= scrollContainerRect.left - targetElementRect.left;\n\t\t\t\t\treturn width;\n\t\t\t\t}\n\n\t\t\t\t// RTL logic for ensuring the drop indicator does not extend\n\t\t\t\t// beyond the right edge of the scroll container.\n\t\t\t\tif (\n\t\t\t\t\trtl &&\n\t\t\t\t\ttargetElementRect.right - indent > scrollContainerRect.right\n\t\t\t\t) {\n\t\t\t\t\twidth -=\n\t\t\t\t\t\ttargetElementRect.right - scrollContainerRect.right;\n\t\t\t\t\treturn width;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Subtract the indent from the final width of the indicator.\n\t\t\treturn width - indent;\n\t\t},\n\t\t[ rtl, targetElement ]\n\t);\n\n\tconst style = useMemo( () => {\n\t\tif ( ! targetElement ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst targetElementRect = targetElement.getBoundingClientRect();\n\n\t\treturn {\n\t\t\twidth: getDropIndicatorWidth( targetElementRect, 0 ),\n\t\t};\n\t}, [ getDropIndicatorWidth, targetElement ] );\n\n\tconst horizontalScrollOffsetStyle = useMemo( () => {\n\t\tif ( ! targetElement ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst scrollContainer = getScrollContainer( targetElement );\n\t\tconst ownerDocument = targetElement.ownerDocument;\n\t\tconst windowScroll =\n\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\tscrollContainer === ownerDocument.documentElement;\n\n\t\tif ( scrollContainer && ! windowScroll ) {\n\t\t\tconst scrollContainerRect = scrollContainer.getBoundingClientRect();\n\t\t\tconst targetElementRect = targetElement.getBoundingClientRect();\n\n\t\t\tconst distanceBetweenContainerAndTarget = rtl\n\t\t\t\t? scrollContainerRect.right - targetElementRect.right\n\t\t\t\t: targetElementRect.left - scrollContainerRect.left;\n\n\t\t\tif ( ! rtl && scrollContainerRect.left > targetElementRect.left ) {\n\t\t\t\treturn {\n\t\t\t\t\ttransform: `translateX( ${ distanceBetweenContainerAndTarget }px )`,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( rtl && scrollContainerRect.right < targetElementRect.right ) {\n\t\t\t\treturn {\n\t\t\t\t\ttransform: `translateX( ${\n\t\t\t\t\t\tdistanceBetweenContainerAndTarget * -1\n\t\t\t\t\t}px )`,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn {};\n\t}, [ rtl, targetElement ] );\n\n\tconst ariaLevel = useMemo( () => {\n\t\tif ( ! rootBlockElement ) {\n\t\t\treturn 1;\n\t\t}\n\n\t\tconst _ariaLevel = parseInt(\n\t\t\trootBlockElement.getAttribute( 'aria-level' ),\n\t\t\t10\n\t\t);\n\n\t\treturn _ariaLevel ? _ariaLevel + 1 : 1;\n\t}, [ rootBlockElement ] );\n\n\tconst hasAdjacentSelectedBranch = useMemo( () => {\n\t\tif ( ! targetElement ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn targetElement.classList.contains( 'is-branch-selected' );\n\t}, [ targetElement ] );\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tconst isValidDropPosition =\n\t\t\tdropPosition === 'top' ||\n\t\t\tdropPosition === 'bottom' ||\n\t\t\tdropPosition === 'inside';\n\t\tif ( ! targetElement || ! isValidDropPosition ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tcontextElement: targetElement,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst rect = targetElement.getBoundingClientRect();\n\t\t\t\t// In RTL languages, the drop indicator should be positioned\n\t\t\t\t// to the left of the target element, with the width of the\n\t\t\t\t// indicator determining the indent at the right edge of the\n\t\t\t\t// target element. In LTR languages, the drop indicator should\n\t\t\t\t// end at the right edge of the target element, with the indent\n\t\t\t\t// added to the position of the left edge of the target element.\n\t\t\t\t// let left = rtl ? rect.left : rect.left + indent;\n\t\t\t\tlet left = rect.left;\n\t\t\t\tlet top = 0;\n\n\t\t\t\t// In deeply nested lists, where a scrollbar is present,\n\t\t\t\t// the width of the drop indicator should be the width of\n\t\t\t\t// the visible area of the scroll container. Additionally,\n\t\t\t\t// the left edge of the drop indicator line needs to be\n\t\t\t\t// offset by the distance the left edge of the target element\n\t\t\t\t// and the left edge of the scroll container. The ensures\n\t\t\t\t// that the drop indicator position never breaks out of the\n\t\t\t\t// visible area of the scroll container.\n\t\t\t\tconst scrollContainer = getScrollContainer(\n\t\t\t\t\ttargetElement,\n\t\t\t\t\t'horizontal'\n\t\t\t\t);\n\n\t\t\t\tconst doc = targetElement.ownerDocument;\n\t\t\t\tconst windowScroll =\n\t\t\t\t\tscrollContainer === doc.body ||\n\t\t\t\t\tscrollContainer === doc.documentElement;\n\n\t\t\t\t// If the scroll container is not the window, offset the left position, if need be.\n\t\t\t\tif ( scrollContainer && ! windowScroll ) {\n\t\t\t\t\tconst scrollContainerRect =\n\t\t\t\t\t\tscrollContainer.getBoundingClientRect();\n\n\t\t\t\t\t// In RTL languages, a vertical scrollbar is present on the\n\t\t\t\t\t// left edge of the scroll container. The width of the\n\t\t\t\t\t// scrollbar needs to be accounted for when positioning the\n\t\t\t\t\t// drop indicator.\n\t\t\t\t\tconst scrollbarWidth = rtl\n\t\t\t\t\t\t? scrollContainer.offsetWidth -\n\t\t\t\t\t\t scrollContainer.clientWidth\n\t\t\t\t\t\t: 0;\n\n\t\t\t\t\tif ( left < scrollContainerRect.left + scrollbarWidth ) {\n\t\t\t\t\t\tleft = scrollContainerRect.left + scrollbarWidth;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( dropPosition === 'top' ) {\n\t\t\t\t\ttop = rect.top - rect.height * 2;\n\t\t\t\t} else {\n\t\t\t\t\t// `dropPosition` is either `bottom` or `inside`\n\t\t\t\t\ttop = rect.top;\n\t\t\t\t}\n\n\t\t\t\tconst width = getDropIndicatorWidth( rect, 0 );\n\t\t\t\tconst height = rect.height;\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t};\n\t}, [ targetElement, dropPosition, getDropIndicatorWidth, rtl ] );\n\n\tif ( ! targetElement ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tanimate={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\tfocusOnMount={ false }\n\t\t\tclassName=\"block-editor-list-view-drop-indicator--preview\"\n\t\t\tvariant=\"unstyled\"\n\t\t\tflip={ false }\n\t\t\tresize\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={ style }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-list-view-drop-indicator__line',\n\t\t\t\t\t{\n\t\t\t\t\t\t'block-editor-list-view-drop-indicator__line--darker':\n\t\t\t\t\t\t\thasAdjacentSelectedBranch,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"block-editor-list-view-leaf\"\n\t\t\t\t\taria-level={ ariaLevel }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-list-view-block-select-button',\n\t\t\t\t\t\t\t'block-editor-list-view-block-contents'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ horizontalScrollOffsetStyle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ListViewExpander onClick={ () => {} } />\n\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\ticon={ blockInformation?.icon }\n\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\tcontext=\"list-view\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\talignment=\"center\"\n\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__label-wrapper\"\n\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__title\">\n\t\t\t\t\t\t\t\t<Truncate ellipsizeMode=\"auto\">\n\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"block-editor-list-view-block__menu-cell\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Popover>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["chevronRightSmall","chevronLeftSmall","Icon","isRTL","ListViewExpander","onClick","createElement","className","event","forceToggle","icon"],"sources":["@wordpress/block-editor/src/components/list-view/expander.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { chevronRightSmall, chevronLeftSmall, Icon } from '@wordpress/icons';\nimport { isRTL } from '@wordpress/i18n';\n\nexport default function ListViewExpander( { onClick } ) {\n\treturn (\n\t\t// Keyboard events are handled by TreeGrid see: components/src/tree-grid/index.js\n\t\t//\n\t\t// The expander component is implemented as a pseudo element in the w3 example\n\t\t// https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html\n\t\t//\n\t\t// We've mimicked this by adding an icon with aria-hidden set to true to hide this from the accessibility tree.\n\t\t// For the current tree grid implementation, please do not try to make this a button.\n\t\t//\n\t\t// eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n\t\t<span\n\t\t\tclassName=\"block-editor-list-view__expander\"\n\t\t\tonClick={ ( event ) => onClick( event, { forceToggle: true } ) }\n\t\t\taria-hidden=\"true\"\n\t\t\tdata-testid=\"list-view-expander\"\n\t\t>\n\t\t\t<Icon icon={ isRTL() ? chevronLeftSmall : chevronRightSmall } />\n\t\t</span>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,iBAAiB,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,kBAAkB;AAC5E,SAASC,KAAK,QAAQ,iBAAiB;AAEvC,eAAe,SAASC,gBAAgBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EACvD;IACC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACAC,aAAA;MACCC,SAAS,EAAC,kCAAkC;MAC5CF,OAAO,EAAKG,KAAK,IAAMH,OAAO,CAAEG,KAAK,EAAE;QAAEC,WAAW,EAAE;MAAK,CAAE,CAAG;MAChE,eAAY,MAAM;MAClB,eAAY;IAAoB,GAEhCH,aAAA,CAACJ,IAAI;MAACQ,IAAI,EAAGP,KAAK,CAAC,CAAC,GAAGF,gBAAgB,GAAGD;IAAmB,CAAE,CAC1D;EAAC;AAET"}
|
|
1
|
+
{"version":3,"names":["chevronRightSmall","chevronLeftSmall","Icon","isRTL","ListViewExpander","onClick","createElement","className","event","forceToggle","icon"],"sources":["@wordpress/block-editor/src/components/list-view/expander.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { chevronRightSmall, chevronLeftSmall, Icon } from '@wordpress/icons';\nimport { isRTL } from '@wordpress/i18n';\n\nexport default function ListViewExpander( { onClick } ) {\n\treturn (\n\t\t// Keyboard events are handled by TreeGrid see: components/src/tree-grid/index.js\n\t\t//\n\t\t// The expander component is implemented as a pseudo element in the w3 example\n\t\t// https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html\n\t\t//\n\t\t// We've mimicked this by adding an icon with aria-hidden set to true to hide this from the accessibility tree.\n\t\t// For the current tree grid implementation, please do not try to make this a button.\n\t\t//\n\t\t// eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n\t\t<span\n\t\t\tclassName=\"block-editor-list-view__expander\"\n\t\t\tonClick={ ( event ) => onClick( event, { forceToggle: true } ) }\n\t\t\taria-hidden=\"true\"\n\t\t\tdata-testid=\"list-view-expander\"\n\t\t>\n\t\t\t<Icon icon={ isRTL() ? chevronLeftSmall : chevronRightSmall } />\n\t\t</span>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,iBAAiB,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,kBAAkB;AAC5E,SAASC,KAAK,QAAQ,iBAAiB;AAEvC,eAAe,SAASC,gBAAgBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EACvD;IACC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACAC,aAAA;MACCC,SAAS,EAAC,kCAAkC;MAC5CF,OAAO,EAAKG,KAAK,IAAMH,OAAO,CAAEG,KAAK,EAAE;QAAEC,WAAW,EAAE;MAAK,CAAE,CAAG;MAChE,eAAY,MAAM;MAClB,eAAY;IAAoB,GAEhCH,aAAA,CAACJ,IAAI;MAACQ,IAAI,EAAGP,KAAK,CAAC,CAAC,GAAGF,gBAAgB,GAAGD;IAAmB,CAAE,CAC1D;EAAC;AAET","ignoreList":[]}
|
|
@@ -45,7 +45,7 @@ const expanded = (state, action) => {
|
|
|
45
45
|
}
|
|
46
46
|
return state;
|
|
47
47
|
};
|
|
48
|
-
export const BLOCK_LIST_ITEM_HEIGHT =
|
|
48
|
+
export const BLOCK_LIST_ITEM_HEIGHT = 32;
|
|
49
49
|
|
|
50
50
|
/** @typedef {import('react').ComponentType} ComponentType */
|
|
51
51
|
/** @typedef {import('react').Ref<HTMLElement>} Ref */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useInstanceId","useMergeRefs","__experimentalUseFixedWindowList","useFixedWindowList","__experimentalTreeGrid","TreeGrid","VisuallyHidden","AsyncModeProvider","useSelect","deprecated","useCallback","useEffect","useMemo","useRef","useReducer","forwardRef","useState","__","ListViewBranch","ListViewContext","ListViewDropIndicatorPreview","useBlockSelection","useListViewBlockIndexes","useListViewClientIds","useListViewCollapseItems","useListViewDropZone","useListViewExpandSelectedItem","store","blockEditorStore","BlockSettingsDropdown","focusListItem","useClipboardHandler","expanded","state","action","type","Array","isArray","clientIds","reduce","newState","id","BLOCK_LIST_ITEM_HEIGHT","ListViewComponent","blocks","dropZoneElement","showBlockMovers","isExpanded","showAppender","blockSettingsMenu","BlockSettingsMenu","rootClientId","description","onSelect","additionalBlockContent","AdditionalBlockContent","ref","since","alternative","instanceId","clientIdsTree","draggedClientIds","selectedClientIds","blockIndexes","getBlock","visibleBlockCount","shouldShowInnerBlocks","select","getGlobalBlockCount","getClientIdsOfDescendants","__unstableGetEditorMode","draggedBlockCount","length","updateBlockSelection","expandedState","setExpandedState","insertedBlock","setInsertedBlock","setSelectedTreeId","firstSelectedBlockClientId","selectEditorBlock","event","blockClientId","focusPosition","dropZoneRef","target","blockDropTarget","elementRef","clipBoardRef","selectBlock","treeGridRef","current","expand","clientId","collapse","collapseAll","expandRow","row","dataset","block","collapseRow","focusRow","startRow","endRow","shiftKey","firstDraggedBlockClientId","blockDropTargetIndex","blockDropPosition","firstDraggedBlockIndex","_blockDropTargetIndex","_firstDraggedBlockIndex","foundBlockIndex","undefined","dropPosition","contextValue","listViewInstanceId","treeGridElementRef","fixedListWindow","useWindowing","windowOverscan","describedById","createElement","value","draggedBlockClientId","listViewRef","className","onCollapseRow","onExpandRow","onFocusRow","applicationAriaLabel","style","Provider","parentId","PrivateListView","props"],"sources":["@wordpress/block-editor/src/components/list-view/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseInstanceId,\n\tuseMergeRefs,\n\t__experimentalUseFixedWindowList as useFixedWindowList,\n} from '@wordpress/compose';\nimport {\n\t__experimentalTreeGrid as TreeGrid,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { AsyncModeProvider, useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseReducer,\n\tforwardRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ListViewBranch from './branch';\nimport { ListViewContext } from './context';\nimport ListViewDropIndicatorPreview from './drop-indicator';\nimport useBlockSelection from './use-block-selection';\nimport useListViewBlockIndexes from './use-list-view-block-indexes';\nimport useListViewClientIds from './use-list-view-client-ids';\nimport useListViewCollapseItems from './use-list-view-collapse-items';\nimport useListViewDropZone from './use-list-view-drop-zone';\nimport useListViewExpandSelectedItem from './use-list-view-expand-selected-item';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockSettingsDropdown } from '../block-settings-menu/block-settings-dropdown';\nimport { focusListItem } from './utils';\nimport useClipboardHandler from './use-clipboard-handler';\n\nconst expanded = ( state, action ) => {\n\tif ( action.type === 'clear' ) {\n\t\treturn {};\n\t}\n\tif ( Array.isArray( action.clientIds ) ) {\n\t\treturn {\n\t\t\t...state,\n\t\t\t...action.clientIds.reduce(\n\t\t\t\t( newState, id ) => ( {\n\t\t\t\t\t...newState,\n\t\t\t\t\t[ id ]: action.type === 'expand',\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t\t),\n\t\t};\n\t}\n\treturn state;\n};\n\nexport const BLOCK_LIST_ITEM_HEIGHT = 36;\n\n/** @typedef {import('react').ComponentType} ComponentType */\n/** @typedef {import('react').Ref<HTMLElement>} Ref */\n\n/**\n * Show a hierarchical list of blocks.\n *\n * @param {Object} props Components props.\n * @param {string} props.id An HTML element id for the root element of ListView.\n * @param {Array} props.blocks _deprecated_ Custom subset of block client IDs to be used instead of the default hierarchy.\n * @param {?HTMLElement} props.dropZoneElement Optional element to be used as the drop zone.\n * @param {?boolean} props.showBlockMovers Flag to enable block movers. Defaults to `false`.\n * @param {?boolean} props.isExpanded Flag to determine whether nested levels are expanded by default. Defaults to `false`.\n * @param {?boolean} props.showAppender Flag to show or hide the block appender. Defaults to `false`.\n * @param {?ComponentType} props.blockSettingsMenu Optional more menu substitution. Defaults to the standard `BlockSettingsDropdown` component.\n * @param {string} props.rootClientId The client id of the root block from which we determine the blocks to show in the list.\n * @param {string} props.description Optional accessible description for the tree grid component.\n * @param {?Function} props.onSelect Optional callback to be invoked when a block is selected. Receives the block object that was selected.\n * @param {?ComponentType} props.additionalBlockContent Component that renders additional block content UI.\n * @param {Ref} ref Forwarded ref\n */\nfunction ListViewComponent(\n\t{\n\t\tid,\n\t\tblocks,\n\t\tdropZoneElement,\n\t\tshowBlockMovers = false,\n\t\tisExpanded = false,\n\t\tshowAppender = false,\n\t\tblockSettingsMenu: BlockSettingsMenu = BlockSettingsDropdown,\n\t\trootClientId,\n\t\tdescription,\n\t\tonSelect,\n\t\tadditionalBlockContent: AdditionalBlockContent,\n\t},\n\tref\n) {\n\t// This can be removed once we no longer need to support the blocks prop.\n\tif ( blocks ) {\n\t\tdeprecated(\n\t\t\t'`blocks` property in `wp.blockEditor.__experimentalListView`',\n\t\t\t{\n\t\t\t\tsince: '6.3',\n\t\t\t\talternative: '`rootClientId` property',\n\t\t\t}\n\t\t);\n\t}\n\n\tconst instanceId = useInstanceId( ListViewComponent );\n\tconst { clientIdsTree, draggedClientIds, selectedClientIds } =\n\t\tuseListViewClientIds( { blocks, rootClientId } );\n\tconst blockIndexes = useListViewBlockIndexes( clientIdsTree );\n\n\tconst { getBlock } = useSelect( blockEditorStore );\n\tconst { visibleBlockCount, shouldShowInnerBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst draggedBlockCount =\n\t\t\t\tdraggedClientIds?.length > 0\n\t\t\t\t\t? getClientIdsOfDescendants( draggedClientIds ).length + 1\n\t\t\t\t\t: 0;\n\t\t\treturn {\n\t\t\t\tvisibleBlockCount: getGlobalBlockCount() - draggedBlockCount,\n\t\t\t\tshouldShowInnerBlocks: __unstableGetEditorMode() !== 'zoom-out',\n\t\t\t};\n\t\t},\n\t\t[ draggedClientIds ]\n\t);\n\n\tconst { updateBlockSelection } = useBlockSelection();\n\n\tconst [ expandedState, setExpandedState ] = useReducer( expanded, {} );\n\n\tconst [ insertedBlock, setInsertedBlock ] = useState( null );\n\n\tconst { setSelectedTreeId } = useListViewExpandSelectedItem( {\n\t\tfirstSelectedBlockClientId: selectedClientIds[ 0 ],\n\t\tsetExpandedState,\n\t} );\n\tconst selectEditorBlock = useCallback(\n\t\t/**\n\t\t * @param {MouseEvent | KeyboardEvent | undefined} event\n\t\t * @param {string} blockClientId\n\t\t * @param {null | undefined | -1 | 1} focusPosition\n\t\t */\n\t\t( event, blockClientId, focusPosition ) => {\n\t\t\tupdateBlockSelection( event, blockClientId, null, focusPosition );\n\t\t\tsetSelectedTreeId( blockClientId );\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect( getBlock( blockClientId ) );\n\t\t\t}\n\t\t},\n\t\t[ setSelectedTreeId, updateBlockSelection, onSelect, getBlock ]\n\t);\n\n\tconst { ref: dropZoneRef, target: blockDropTarget } = useListViewDropZone( {\n\t\tdropZoneElement,\n\t\texpandedState,\n\t\tsetExpandedState,\n\t} );\n\tconst elementRef = useRef();\n\n\t// Allow handling of copy, cut, and paste events.\n\tconst clipBoardRef = useClipboardHandler( {\n\t\tselectBlock: selectEditorBlock,\n\t} );\n\n\tconst treeGridRef = useMergeRefs( [\n\t\tclipBoardRef,\n\t\telementRef,\n\t\tdropZoneRef,\n\t\tref,\n\t] );\n\n\tuseEffect( () => {\n\t\t// If a blocks are already selected when the list view is initially\n\t\t// mounted, shift focus to the first selected block.\n\t\tif ( selectedClientIds?.length ) {\n\t\t\tfocusListItem( selectedClientIds[ 0 ], elementRef?.current );\n\t\t}\n\t\t// Disable reason: Only focus on the selected item when the list view is mounted.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tconst expand = useCallback(\n\t\t( clientId ) => {\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst clientIds = Array.isArray( clientId )\n\t\t\t\t? clientId\n\t\t\t\t: [ clientId ];\n\t\t\tsetExpandedState( { type: 'expand', clientIds } );\n\t\t},\n\t\t[ setExpandedState ]\n\t);\n\tconst collapse = useCallback(\n\t\t( clientId ) => {\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetExpandedState( { type: 'collapse', clientIds: [ clientId ] } );\n\t\t},\n\t\t[ setExpandedState ]\n\t);\n\tconst collapseAll = useCallback( () => {\n\t\tsetExpandedState( { type: 'clear' } );\n\t}, [ setExpandedState ] );\n\tconst expandRow = useCallback(\n\t\t( row ) => {\n\t\t\texpand( row?.dataset?.block );\n\t\t},\n\t\t[ expand ]\n\t);\n\tconst collapseRow = useCallback(\n\t\t( row ) => {\n\t\t\tcollapse( row?.dataset?.block );\n\t\t},\n\t\t[ collapse ]\n\t);\n\tconst focusRow = useCallback(\n\t\t( event, startRow, endRow ) => {\n\t\t\tif ( event.shiftKey ) {\n\t\t\t\tupdateBlockSelection(\n\t\t\t\t\tevent,\n\t\t\t\t\tstartRow?.dataset?.block,\n\t\t\t\t\tendRow?.dataset?.block\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ updateBlockSelection ]\n\t);\n\n\tuseListViewCollapseItems( {\n\t\tcollapseAll,\n\t\texpand,\n\t} );\n\n\tconst firstDraggedBlockClientId = draggedClientIds?.[ 0 ];\n\n\t// Convert a blockDropTarget into indexes relative to the blocks in the list view.\n\t// These values are used to determine which blocks should be displaced to make room\n\t// for the drop indicator. See `ListViewBranch` and `getDragDisplacementValues`.\n\tconst { blockDropTargetIndex, blockDropPosition, firstDraggedBlockIndex } =\n\t\tuseMemo( () => {\n\t\t\tlet _blockDropTargetIndex, _firstDraggedBlockIndex;\n\n\t\t\tif ( blockDropTarget?.clientId ) {\n\t\t\t\tconst foundBlockIndex =\n\t\t\t\t\tblockIndexes[ blockDropTarget.clientId ];\n\t\t\t\t// If dragging below or inside the block, treat the drop target as the next block.\n\t\t\t\t_blockDropTargetIndex =\n\t\t\t\t\tfoundBlockIndex === undefined ||\n\t\t\t\t\tblockDropTarget?.dropPosition === 'top'\n\t\t\t\t\t\t? foundBlockIndex\n\t\t\t\t\t\t: foundBlockIndex + 1;\n\t\t\t} else if ( blockDropTarget === null ) {\n\t\t\t\t// A `null` value is used to indicate that the user is dragging outside of the list view.\n\t\t\t\t_blockDropTargetIndex = null;\n\t\t\t}\n\n\t\t\tif ( firstDraggedBlockClientId ) {\n\t\t\t\tconst foundBlockIndex =\n\t\t\t\t\tblockIndexes[ firstDraggedBlockClientId ];\n\t\t\t\t_firstDraggedBlockIndex =\n\t\t\t\t\tfoundBlockIndex === undefined ||\n\t\t\t\t\tblockDropTarget?.dropPosition === 'top'\n\t\t\t\t\t\t? foundBlockIndex\n\t\t\t\t\t\t: foundBlockIndex + 1;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tblockDropTargetIndex: _blockDropTargetIndex,\n\t\t\t\tblockDropPosition: blockDropTarget?.dropPosition,\n\t\t\t\tfirstDraggedBlockIndex: _firstDraggedBlockIndex,\n\t\t\t};\n\t\t}, [ blockDropTarget, blockIndexes, firstDraggedBlockClientId ] );\n\n\tconst contextValue = useMemo(\n\t\t() => ( {\n\t\t\tblockDropPosition,\n\t\t\tblockDropTargetIndex,\n\t\t\tblockIndexes,\n\t\t\tdraggedClientIds,\n\t\t\texpandedState,\n\t\t\texpand,\n\t\t\tfirstDraggedBlockIndex,\n\t\t\tcollapse,\n\t\t\tcollapseAll,\n\t\t\tBlockSettingsMenu,\n\t\t\tlistViewInstanceId: instanceId,\n\t\t\tAdditionalBlockContent,\n\t\t\tinsertedBlock,\n\t\t\tsetInsertedBlock,\n\t\t\ttreeGridElementRef: elementRef,\n\t\t\trootClientId,\n\t\t} ),\n\t\t[\n\t\t\tblockDropPosition,\n\t\t\tblockDropTargetIndex,\n\t\t\tblockIndexes,\n\t\t\tdraggedClientIds,\n\t\t\texpandedState,\n\t\t\texpand,\n\t\t\tfirstDraggedBlockIndex,\n\t\t\tcollapse,\n\t\t\tcollapseAll,\n\t\t\tBlockSettingsMenu,\n\t\t\tinstanceId,\n\t\t\tAdditionalBlockContent,\n\t\t\tinsertedBlock,\n\t\t\tsetInsertedBlock,\n\t\t\trootClientId,\n\t\t]\n\t);\n\n\t// List View renders a fixed number of items and relies on each having a fixed item height of 36px.\n\t// If this value changes, we should also change the itemHeight value set in useFixedWindowList.\n\t// See: https://github.com/WordPress/gutenberg/pull/35230 for additional context.\n\tconst [ fixedListWindow ] = useFixedWindowList(\n\t\telementRef,\n\t\tBLOCK_LIST_ITEM_HEIGHT,\n\t\tvisibleBlockCount,\n\t\t{\n\t\t\t// Ensure that the windowing logic is recalculated when the expanded state changes.\n\t\t\t// This is necessary because expanding a collapsed block in a short list view can\n\t\t\t// switch the list view to a tall list view with a scrollbar, and vice versa.\n\t\t\t// When this happens, the windowing logic needs to be recalculated to ensure that\n\t\t\t// the correct number of blocks are rendered, by rechecking for a scroll container.\n\t\t\texpandedState,\n\t\t\tuseWindowing: true,\n\t\t\twindowOverscan: 40,\n\t\t}\n\t);\n\n\t// If there are no blocks to show and we're not showing the appender, do not render the list view.\n\tif ( ! clientIdsTree.length && ! showAppender ) {\n\t\treturn null;\n\t}\n\n\tconst describedById =\n\t\tdescription && `block-editor-list-view-description-${ instanceId }`;\n\n\treturn (\n\t\t<AsyncModeProvider value>\n\t\t\t<ListViewDropIndicatorPreview\n\t\t\t\tdraggedBlockClientId={ firstDraggedBlockClientId }\n\t\t\t\tlistViewRef={ elementRef }\n\t\t\t\tblockDropTarget={ blockDropTarget }\n\t\t\t/>\n\t\t\t{ description && (\n\t\t\t\t<VisuallyHidden id={ describedById }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t\t<TreeGrid\n\t\t\t\tid={ id }\n\t\t\t\tclassName={ classnames( 'block-editor-list-view-tree', {\n\t\t\t\t\t'is-dragging':\n\t\t\t\t\t\tdraggedClientIds?.length > 0 &&\n\t\t\t\t\t\tblockDropTargetIndex !== undefined,\n\t\t\t\t} ) }\n\t\t\t\taria-label={ __( 'Block navigation structure' ) }\n\t\t\t\tref={ treeGridRef }\n\t\t\t\tonCollapseRow={ collapseRow }\n\t\t\t\tonExpandRow={ expandRow }\n\t\t\t\tonFocusRow={ focusRow }\n\t\t\t\tapplicationAriaLabel={ __( 'Block navigation structure' ) }\n\t\t\t\taria-describedby={ describedById }\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--wp-admin--list-view-dragged-items-height':\n\t\t\t\t\t\tdraggedClientIds?.length\n\t\t\t\t\t\t\t? `${\n\t\t\t\t\t\t\t\t\tBLOCK_LIST_ITEM_HEIGHT *\n\t\t\t\t\t\t\t\t\t( draggedClientIds.length - 1 )\n\t\t\t\t\t\t\t }px`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ListViewContext.Provider value={ contextValue }>\n\t\t\t\t\t<ListViewBranch\n\t\t\t\t\t\tblocks={ clientIdsTree }\n\t\t\t\t\t\tparentId={ rootClientId }\n\t\t\t\t\t\tselectBlock={ selectEditorBlock }\n\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\tfixedListWindow={ fixedListWindow }\n\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\tshouldShowInnerBlocks={ shouldShowInnerBlocks }\n\t\t\t\t\t\tshowAppender={ showAppender }\n\t\t\t\t\t/>\n\t\t\t\t</ListViewContext.Provider>\n\t\t\t</TreeGrid>\n\t\t</AsyncModeProvider>\n\t);\n}\n\n// This is the private API for the ListView component.\n// It allows access to all props, not just the public ones.\nexport const PrivateListView = forwardRef( ListViewComponent );\n\n// This is the public API for the ListView component.\n// We wrap the PrivateListView component to hide some props from the public API.\nexport default forwardRef( ( props, ref ) => {\n\treturn (\n\t\t<PrivateListView\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tshowAppender={ false }\n\t\t\trootClientId={ null }\n\t\t\tonSelect={ null }\n\t\t\tadditionalBlockContent={ null }\n\t\t\tblockSettingsMenu={ undefined }\n\t\t/>\n\t);\n} );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useInstanceId","useMergeRefs","__experimentalUseFixedWindowList","useFixedWindowList","__experimentalTreeGrid","TreeGrid","VisuallyHidden","AsyncModeProvider","useSelect","deprecated","useCallback","useEffect","useMemo","useRef","useReducer","forwardRef","useState","__","ListViewBranch","ListViewContext","ListViewDropIndicatorPreview","useBlockSelection","useListViewBlockIndexes","useListViewClientIds","useListViewCollapseItems","useListViewDropZone","useListViewExpandSelectedItem","store","blockEditorStore","BlockSettingsDropdown","focusListItem","useClipboardHandler","expanded","state","action","type","Array","isArray","clientIds","reduce","newState","id","BLOCK_LIST_ITEM_HEIGHT","ListViewComponent","blocks","dropZoneElement","showBlockMovers","isExpanded","showAppender","blockSettingsMenu","BlockSettingsMenu","rootClientId","description","onSelect","additionalBlockContent","AdditionalBlockContent","ref","since","alternative","instanceId","clientIdsTree","draggedClientIds","selectedClientIds","blockIndexes","getBlock","visibleBlockCount","shouldShowInnerBlocks","select","getGlobalBlockCount","getClientIdsOfDescendants","__unstableGetEditorMode","draggedBlockCount","length","updateBlockSelection","expandedState","setExpandedState","insertedBlock","setInsertedBlock","setSelectedTreeId","firstSelectedBlockClientId","selectEditorBlock","event","blockClientId","focusPosition","dropZoneRef","target","blockDropTarget","elementRef","clipBoardRef","selectBlock","treeGridRef","current","expand","clientId","collapse","collapseAll","expandRow","row","dataset","block","collapseRow","focusRow","startRow","endRow","shiftKey","firstDraggedBlockClientId","blockDropTargetIndex","blockDropPosition","firstDraggedBlockIndex","_blockDropTargetIndex","_firstDraggedBlockIndex","foundBlockIndex","undefined","dropPosition","contextValue","listViewInstanceId","treeGridElementRef","fixedListWindow","useWindowing","windowOverscan","describedById","createElement","value","draggedBlockClientId","listViewRef","className","onCollapseRow","onExpandRow","onFocusRow","applicationAriaLabel","style","Provider","parentId","PrivateListView","props"],"sources":["@wordpress/block-editor/src/components/list-view/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseInstanceId,\n\tuseMergeRefs,\n\t__experimentalUseFixedWindowList as useFixedWindowList,\n} from '@wordpress/compose';\nimport {\n\t__experimentalTreeGrid as TreeGrid,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { AsyncModeProvider, useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseReducer,\n\tforwardRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ListViewBranch from './branch';\nimport { ListViewContext } from './context';\nimport ListViewDropIndicatorPreview from './drop-indicator';\nimport useBlockSelection from './use-block-selection';\nimport useListViewBlockIndexes from './use-list-view-block-indexes';\nimport useListViewClientIds from './use-list-view-client-ids';\nimport useListViewCollapseItems from './use-list-view-collapse-items';\nimport useListViewDropZone from './use-list-view-drop-zone';\nimport useListViewExpandSelectedItem from './use-list-view-expand-selected-item';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockSettingsDropdown } from '../block-settings-menu/block-settings-dropdown';\nimport { focusListItem } from './utils';\nimport useClipboardHandler from './use-clipboard-handler';\n\nconst expanded = ( state, action ) => {\n\tif ( action.type === 'clear' ) {\n\t\treturn {};\n\t}\n\tif ( Array.isArray( action.clientIds ) ) {\n\t\treturn {\n\t\t\t...state,\n\t\t\t...action.clientIds.reduce(\n\t\t\t\t( newState, id ) => ( {\n\t\t\t\t\t...newState,\n\t\t\t\t\t[ id ]: action.type === 'expand',\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t\t),\n\t\t};\n\t}\n\treturn state;\n};\n\nexport const BLOCK_LIST_ITEM_HEIGHT = 32;\n\n/** @typedef {import('react').ComponentType} ComponentType */\n/** @typedef {import('react').Ref<HTMLElement>} Ref */\n\n/**\n * Show a hierarchical list of blocks.\n *\n * @param {Object} props Components props.\n * @param {string} props.id An HTML element id for the root element of ListView.\n * @param {Array} props.blocks _deprecated_ Custom subset of block client IDs to be used instead of the default hierarchy.\n * @param {?HTMLElement} props.dropZoneElement Optional element to be used as the drop zone.\n * @param {?boolean} props.showBlockMovers Flag to enable block movers. Defaults to `false`.\n * @param {?boolean} props.isExpanded Flag to determine whether nested levels are expanded by default. Defaults to `false`.\n * @param {?boolean} props.showAppender Flag to show or hide the block appender. Defaults to `false`.\n * @param {?ComponentType} props.blockSettingsMenu Optional more menu substitution. Defaults to the standard `BlockSettingsDropdown` component.\n * @param {string} props.rootClientId The client id of the root block from which we determine the blocks to show in the list.\n * @param {string} props.description Optional accessible description for the tree grid component.\n * @param {?Function} props.onSelect Optional callback to be invoked when a block is selected. Receives the block object that was selected.\n * @param {?ComponentType} props.additionalBlockContent Component that renders additional block content UI.\n * @param {Ref} ref Forwarded ref\n */\nfunction ListViewComponent(\n\t{\n\t\tid,\n\t\tblocks,\n\t\tdropZoneElement,\n\t\tshowBlockMovers = false,\n\t\tisExpanded = false,\n\t\tshowAppender = false,\n\t\tblockSettingsMenu: BlockSettingsMenu = BlockSettingsDropdown,\n\t\trootClientId,\n\t\tdescription,\n\t\tonSelect,\n\t\tadditionalBlockContent: AdditionalBlockContent,\n\t},\n\tref\n) {\n\t// This can be removed once we no longer need to support the blocks prop.\n\tif ( blocks ) {\n\t\tdeprecated(\n\t\t\t'`blocks` property in `wp.blockEditor.__experimentalListView`',\n\t\t\t{\n\t\t\t\tsince: '6.3',\n\t\t\t\talternative: '`rootClientId` property',\n\t\t\t}\n\t\t);\n\t}\n\n\tconst instanceId = useInstanceId( ListViewComponent );\n\tconst { clientIdsTree, draggedClientIds, selectedClientIds } =\n\t\tuseListViewClientIds( { blocks, rootClientId } );\n\tconst blockIndexes = useListViewBlockIndexes( clientIdsTree );\n\n\tconst { getBlock } = useSelect( blockEditorStore );\n\tconst { visibleBlockCount, shouldShowInnerBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst draggedBlockCount =\n\t\t\t\tdraggedClientIds?.length > 0\n\t\t\t\t\t? getClientIdsOfDescendants( draggedClientIds ).length + 1\n\t\t\t\t\t: 0;\n\t\t\treturn {\n\t\t\t\tvisibleBlockCount: getGlobalBlockCount() - draggedBlockCount,\n\t\t\t\tshouldShowInnerBlocks: __unstableGetEditorMode() !== 'zoom-out',\n\t\t\t};\n\t\t},\n\t\t[ draggedClientIds ]\n\t);\n\n\tconst { updateBlockSelection } = useBlockSelection();\n\n\tconst [ expandedState, setExpandedState ] = useReducer( expanded, {} );\n\n\tconst [ insertedBlock, setInsertedBlock ] = useState( null );\n\n\tconst { setSelectedTreeId } = useListViewExpandSelectedItem( {\n\t\tfirstSelectedBlockClientId: selectedClientIds[ 0 ],\n\t\tsetExpandedState,\n\t} );\n\tconst selectEditorBlock = useCallback(\n\t\t/**\n\t\t * @param {MouseEvent | KeyboardEvent | undefined} event\n\t\t * @param {string} blockClientId\n\t\t * @param {null | undefined | -1 | 1} focusPosition\n\t\t */\n\t\t( event, blockClientId, focusPosition ) => {\n\t\t\tupdateBlockSelection( event, blockClientId, null, focusPosition );\n\t\t\tsetSelectedTreeId( blockClientId );\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect( getBlock( blockClientId ) );\n\t\t\t}\n\t\t},\n\t\t[ setSelectedTreeId, updateBlockSelection, onSelect, getBlock ]\n\t);\n\n\tconst { ref: dropZoneRef, target: blockDropTarget } = useListViewDropZone( {\n\t\tdropZoneElement,\n\t\texpandedState,\n\t\tsetExpandedState,\n\t} );\n\tconst elementRef = useRef();\n\n\t// Allow handling of copy, cut, and paste events.\n\tconst clipBoardRef = useClipboardHandler( {\n\t\tselectBlock: selectEditorBlock,\n\t} );\n\n\tconst treeGridRef = useMergeRefs( [\n\t\tclipBoardRef,\n\t\telementRef,\n\t\tdropZoneRef,\n\t\tref,\n\t] );\n\n\tuseEffect( () => {\n\t\t// If a blocks are already selected when the list view is initially\n\t\t// mounted, shift focus to the first selected block.\n\t\tif ( selectedClientIds?.length ) {\n\t\t\tfocusListItem( selectedClientIds[ 0 ], elementRef?.current );\n\t\t}\n\t\t// Disable reason: Only focus on the selected item when the list view is mounted.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tconst expand = useCallback(\n\t\t( clientId ) => {\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst clientIds = Array.isArray( clientId )\n\t\t\t\t? clientId\n\t\t\t\t: [ clientId ];\n\t\t\tsetExpandedState( { type: 'expand', clientIds } );\n\t\t},\n\t\t[ setExpandedState ]\n\t);\n\tconst collapse = useCallback(\n\t\t( clientId ) => {\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetExpandedState( { type: 'collapse', clientIds: [ clientId ] } );\n\t\t},\n\t\t[ setExpandedState ]\n\t);\n\tconst collapseAll = useCallback( () => {\n\t\tsetExpandedState( { type: 'clear' } );\n\t}, [ setExpandedState ] );\n\tconst expandRow = useCallback(\n\t\t( row ) => {\n\t\t\texpand( row?.dataset?.block );\n\t\t},\n\t\t[ expand ]\n\t);\n\tconst collapseRow = useCallback(\n\t\t( row ) => {\n\t\t\tcollapse( row?.dataset?.block );\n\t\t},\n\t\t[ collapse ]\n\t);\n\tconst focusRow = useCallback(\n\t\t( event, startRow, endRow ) => {\n\t\t\tif ( event.shiftKey ) {\n\t\t\t\tupdateBlockSelection(\n\t\t\t\t\tevent,\n\t\t\t\t\tstartRow?.dataset?.block,\n\t\t\t\t\tendRow?.dataset?.block\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ updateBlockSelection ]\n\t);\n\n\tuseListViewCollapseItems( {\n\t\tcollapseAll,\n\t\texpand,\n\t} );\n\n\tconst firstDraggedBlockClientId = draggedClientIds?.[ 0 ];\n\n\t// Convert a blockDropTarget into indexes relative to the blocks in the list view.\n\t// These values are used to determine which blocks should be displaced to make room\n\t// for the drop indicator. See `ListViewBranch` and `getDragDisplacementValues`.\n\tconst { blockDropTargetIndex, blockDropPosition, firstDraggedBlockIndex } =\n\t\tuseMemo( () => {\n\t\t\tlet _blockDropTargetIndex, _firstDraggedBlockIndex;\n\n\t\t\tif ( blockDropTarget?.clientId ) {\n\t\t\t\tconst foundBlockIndex =\n\t\t\t\t\tblockIndexes[ blockDropTarget.clientId ];\n\t\t\t\t// If dragging below or inside the block, treat the drop target as the next block.\n\t\t\t\t_blockDropTargetIndex =\n\t\t\t\t\tfoundBlockIndex === undefined ||\n\t\t\t\t\tblockDropTarget?.dropPosition === 'top'\n\t\t\t\t\t\t? foundBlockIndex\n\t\t\t\t\t\t: foundBlockIndex + 1;\n\t\t\t} else if ( blockDropTarget === null ) {\n\t\t\t\t// A `null` value is used to indicate that the user is dragging outside of the list view.\n\t\t\t\t_blockDropTargetIndex = null;\n\t\t\t}\n\n\t\t\tif ( firstDraggedBlockClientId ) {\n\t\t\t\tconst foundBlockIndex =\n\t\t\t\t\tblockIndexes[ firstDraggedBlockClientId ];\n\t\t\t\t_firstDraggedBlockIndex =\n\t\t\t\t\tfoundBlockIndex === undefined ||\n\t\t\t\t\tblockDropTarget?.dropPosition === 'top'\n\t\t\t\t\t\t? foundBlockIndex\n\t\t\t\t\t\t: foundBlockIndex + 1;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tblockDropTargetIndex: _blockDropTargetIndex,\n\t\t\t\tblockDropPosition: blockDropTarget?.dropPosition,\n\t\t\t\tfirstDraggedBlockIndex: _firstDraggedBlockIndex,\n\t\t\t};\n\t\t}, [ blockDropTarget, blockIndexes, firstDraggedBlockClientId ] );\n\n\tconst contextValue = useMemo(\n\t\t() => ( {\n\t\t\tblockDropPosition,\n\t\t\tblockDropTargetIndex,\n\t\t\tblockIndexes,\n\t\t\tdraggedClientIds,\n\t\t\texpandedState,\n\t\t\texpand,\n\t\t\tfirstDraggedBlockIndex,\n\t\t\tcollapse,\n\t\t\tcollapseAll,\n\t\t\tBlockSettingsMenu,\n\t\t\tlistViewInstanceId: instanceId,\n\t\t\tAdditionalBlockContent,\n\t\t\tinsertedBlock,\n\t\t\tsetInsertedBlock,\n\t\t\ttreeGridElementRef: elementRef,\n\t\t\trootClientId,\n\t\t} ),\n\t\t[\n\t\t\tblockDropPosition,\n\t\t\tblockDropTargetIndex,\n\t\t\tblockIndexes,\n\t\t\tdraggedClientIds,\n\t\t\texpandedState,\n\t\t\texpand,\n\t\t\tfirstDraggedBlockIndex,\n\t\t\tcollapse,\n\t\t\tcollapseAll,\n\t\t\tBlockSettingsMenu,\n\t\t\tinstanceId,\n\t\t\tAdditionalBlockContent,\n\t\t\tinsertedBlock,\n\t\t\tsetInsertedBlock,\n\t\t\trootClientId,\n\t\t]\n\t);\n\n\t// List View renders a fixed number of items and relies on each having a fixed item height of 36px.\n\t// If this value changes, we should also change the itemHeight value set in useFixedWindowList.\n\t// See: https://github.com/WordPress/gutenberg/pull/35230 for additional context.\n\tconst [ fixedListWindow ] = useFixedWindowList(\n\t\telementRef,\n\t\tBLOCK_LIST_ITEM_HEIGHT,\n\t\tvisibleBlockCount,\n\t\t{\n\t\t\t// Ensure that the windowing logic is recalculated when the expanded state changes.\n\t\t\t// This is necessary because expanding a collapsed block in a short list view can\n\t\t\t// switch the list view to a tall list view with a scrollbar, and vice versa.\n\t\t\t// When this happens, the windowing logic needs to be recalculated to ensure that\n\t\t\t// the correct number of blocks are rendered, by rechecking for a scroll container.\n\t\t\texpandedState,\n\t\t\tuseWindowing: true,\n\t\t\twindowOverscan: 40,\n\t\t}\n\t);\n\n\t// If there are no blocks to show and we're not showing the appender, do not render the list view.\n\tif ( ! clientIdsTree.length && ! showAppender ) {\n\t\treturn null;\n\t}\n\n\tconst describedById =\n\t\tdescription && `block-editor-list-view-description-${ instanceId }`;\n\n\treturn (\n\t\t<AsyncModeProvider value>\n\t\t\t<ListViewDropIndicatorPreview\n\t\t\t\tdraggedBlockClientId={ firstDraggedBlockClientId }\n\t\t\t\tlistViewRef={ elementRef }\n\t\t\t\tblockDropTarget={ blockDropTarget }\n\t\t\t/>\n\t\t\t{ description && (\n\t\t\t\t<VisuallyHidden id={ describedById }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t\t<TreeGrid\n\t\t\t\tid={ id }\n\t\t\t\tclassName={ classnames( 'block-editor-list-view-tree', {\n\t\t\t\t\t'is-dragging':\n\t\t\t\t\t\tdraggedClientIds?.length > 0 &&\n\t\t\t\t\t\tblockDropTargetIndex !== undefined,\n\t\t\t\t} ) }\n\t\t\t\taria-label={ __( 'Block navigation structure' ) }\n\t\t\t\tref={ treeGridRef }\n\t\t\t\tonCollapseRow={ collapseRow }\n\t\t\t\tonExpandRow={ expandRow }\n\t\t\t\tonFocusRow={ focusRow }\n\t\t\t\tapplicationAriaLabel={ __( 'Block navigation structure' ) }\n\t\t\t\taria-describedby={ describedById }\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--wp-admin--list-view-dragged-items-height':\n\t\t\t\t\t\tdraggedClientIds?.length\n\t\t\t\t\t\t\t? `${\n\t\t\t\t\t\t\t\t\tBLOCK_LIST_ITEM_HEIGHT *\n\t\t\t\t\t\t\t\t\t( draggedClientIds.length - 1 )\n\t\t\t\t\t\t\t }px`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ListViewContext.Provider value={ contextValue }>\n\t\t\t\t\t<ListViewBranch\n\t\t\t\t\t\tblocks={ clientIdsTree }\n\t\t\t\t\t\tparentId={ rootClientId }\n\t\t\t\t\t\tselectBlock={ selectEditorBlock }\n\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\tfixedListWindow={ fixedListWindow }\n\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\tshouldShowInnerBlocks={ shouldShowInnerBlocks }\n\t\t\t\t\t\tshowAppender={ showAppender }\n\t\t\t\t\t/>\n\t\t\t\t</ListViewContext.Provider>\n\t\t\t</TreeGrid>\n\t\t</AsyncModeProvider>\n\t);\n}\n\n// This is the private API for the ListView component.\n// It allows access to all props, not just the public ones.\nexport const PrivateListView = forwardRef( ListViewComponent );\n\n// This is the public API for the ListView component.\n// We wrap the PrivateListView component to hide some props from the public API.\nexport default forwardRef( ( props, ref ) => {\n\treturn (\n\t\t<PrivateListView\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tshowAppender={ false }\n\t\t\trootClientId={ null }\n\t\t\tonSelect={ null }\n\t\t\tadditionalBlockContent={ null }\n\t\t\tblockSettingsMenu={ undefined }\n\t\t/>\n\t);\n} );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["animated","classnames","__experimentalTreeGridRow","TreeGridRow","useMergeRefs","forwardRef","useMovingAnimation","AnimatedTreeGridRow","ListViewLeaf","isDragged","isSelected","position","level","rowCount","children","className","path","props","ref","animationRef","clientId","enableAnimation","triggerAnimationOnChange","mergedRef","createElement","positionInSet","setSize","isExpanded","undefined"],"sources":["@wordpress/block-editor/src/components/list-view/leaf.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { animated } from '@react-spring/web';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalTreeGridRow as TreeGridRow } from '@wordpress/components';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../use-moving-animation';\n\nconst AnimatedTreeGridRow = animated( TreeGridRow );\n\nconst ListViewLeaf = forwardRef(\n\t(\n\t\t{\n\t\t\tisDragged,\n\t\t\tisSelected,\n\t\t\tposition,\n\t\t\tlevel,\n\t\t\trowCount,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tpath,\n\t\t\t...props\n\t\t},\n\t\tref\n\t) => {\n\t\tconst animationRef = useMovingAnimation( {\n\t\t\tclientId: props[ 'data-block' ],\n\t\t\tenableAnimation: true,\n\t\t\ttriggerAnimationOnChange: path,\n\t\t} );\n\n\t\tconst mergedRef = useMergeRefs( [ ref, animationRef ] );\n\n\t\treturn (\n\t\t\t<AnimatedTreeGridRow\n\t\t\t\tref={ mergedRef }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-list-view-leaf',\n\t\t\t\t\tclassName\n\t\t\t\t) }\n\t\t\t\tlevel={ level }\n\t\t\t\tpositionInSet={ position }\n\t\t\t\tsetSize={ rowCount }\n\t\t\t\tisExpanded={ undefined }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</AnimatedTreeGridRow>\n\t\t);\n\t}\n);\n\nexport default ListViewLeaf;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,mBAAmB;AAC5C,OAAOC,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,yBAAyB,IAAIC,WAAW,QAAQ,uBAAuB;AAChF,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,yBAAyB;AAExD,MAAMC,mBAAmB,GAAGP,QAAQ,CAAEG,WAAY,CAAC;AAEnD,MAAMK,YAAY,GAAGH,UAAU,CAC9B,CACC;EACCI,SAAS;EACTC,UAAU;EACVC,QAAQ;EACRC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJ,GAAGC;AACJ,CAAC,EACDC,GAAG,KACC;EACJ,MAAMC,YAAY,GAAGb,kBAAkB,CAAE;IACxCc,QAAQ,EAAEH,KAAK,CAAE,YAAY,CAAE;IAC/BI,eAAe,EAAE,IAAI;IACrBC,wBAAwB,EAAEN;EAC3B,CAAE,CAAC;EAEH,MAAMO,SAAS,GAAGnB,YAAY,CAAE,CAAEc,GAAG,EAAEC,YAAY,CAAG,CAAC;EAEvD,OACCK,aAAA,CAACjB,mBAAmB;IACnBW,GAAG,EAAGK,SAAW;IACjBR,SAAS,EAAGd,UAAU,CACrB,6BAA6B,EAC7Bc,SACD,CAAG;IACHH,KAAK,EAAGA,KAAO;IACfa,aAAa,EAAGd,QAAU;IAC1Be,OAAO,EAAGb,QAAU;IACpBc,UAAU,EAAGC,SAAW;IAAA,GACnBX;EAAK,GAERH,QACkB,CAAC;AAExB,CACD,CAAC;AAED,eAAeN,YAAY"}
|
|
1
|
+
{"version":3,"names":["animated","classnames","__experimentalTreeGridRow","TreeGridRow","useMergeRefs","forwardRef","useMovingAnimation","AnimatedTreeGridRow","ListViewLeaf","isDragged","isSelected","position","level","rowCount","children","className","path","props","ref","animationRef","clientId","enableAnimation","triggerAnimationOnChange","mergedRef","createElement","positionInSet","setSize","isExpanded","undefined"],"sources":["@wordpress/block-editor/src/components/list-view/leaf.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { animated } from '@react-spring/web';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalTreeGridRow as TreeGridRow } from '@wordpress/components';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../use-moving-animation';\n\nconst AnimatedTreeGridRow = animated( TreeGridRow );\n\nconst ListViewLeaf = forwardRef(\n\t(\n\t\t{\n\t\t\tisDragged,\n\t\t\tisSelected,\n\t\t\tposition,\n\t\t\tlevel,\n\t\t\trowCount,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tpath,\n\t\t\t...props\n\t\t},\n\t\tref\n\t) => {\n\t\tconst animationRef = useMovingAnimation( {\n\t\t\tclientId: props[ 'data-block' ],\n\t\t\tenableAnimation: true,\n\t\t\ttriggerAnimationOnChange: path,\n\t\t} );\n\n\t\tconst mergedRef = useMergeRefs( [ ref, animationRef ] );\n\n\t\treturn (\n\t\t\t<AnimatedTreeGridRow\n\t\t\t\tref={ mergedRef }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-list-view-leaf',\n\t\t\t\t\tclassName\n\t\t\t\t) }\n\t\t\t\tlevel={ level }\n\t\t\t\tpositionInSet={ position }\n\t\t\t\tsetSize={ rowCount }\n\t\t\t\tisExpanded={ undefined }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</AnimatedTreeGridRow>\n\t\t);\n\t}\n);\n\nexport default ListViewLeaf;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,mBAAmB;AAC5C,OAAOC,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,yBAAyB,IAAIC,WAAW,QAAQ,uBAAuB;AAChF,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,yBAAyB;AAExD,MAAMC,mBAAmB,GAAGP,QAAQ,CAAEG,WAAY,CAAC;AAEnD,MAAMK,YAAY,GAAGH,UAAU,CAC9B,CACC;EACCI,SAAS;EACTC,UAAU;EACVC,QAAQ;EACRC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACRC,SAAS;EACTC,IAAI;EACJ,GAAGC;AACJ,CAAC,EACDC,GAAG,KACC;EACJ,MAAMC,YAAY,GAAGb,kBAAkB,CAAE;IACxCc,QAAQ,EAAEH,KAAK,CAAE,YAAY,CAAE;IAC/BI,eAAe,EAAE,IAAI;IACrBC,wBAAwB,EAAEN;EAC3B,CAAE,CAAC;EAEH,MAAMO,SAAS,GAAGnB,YAAY,CAAE,CAAEc,GAAG,EAAEC,YAAY,CAAG,CAAC;EAEvD,OACCK,aAAA,CAACjB,mBAAmB;IACnBW,GAAG,EAAGK,SAAW;IACjBR,SAAS,EAAGd,UAAU,CACrB,6BAA6B,EAC7Bc,SACD,CAAG;IACHH,KAAK,EAAGA,KAAO;IACfa,aAAa,EAAGd,QAAU;IAC1Be,OAAO,EAAGb,QAAU;IACpBc,UAAU,EAAGC,SAAW;IAAA,GACnBX;EAAK,GAERH,QACkB,CAAC;AAExB,CACD,CAAC;AAED,eAAeN,YAAY","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["speak","__","sprintf","useDispatch","useSelect","useCallback","UP","DOWN","HOME","END","ESCAPE","store","blocksStore","blockEditorStore","getCommonDepthClientIds","useBlockSelection","clearSelectedBlock","multiSelect","selectBlock","getBlockName","getBlockParents","getBlockSelectionStart","getSelectedBlockClientIds","hasMultiSelection","hasSelectedBlock","getBlockType","updateBlockSelection","event","clientId","destinationClientId","focusPosition","shiftKey","keyCode","preventDefault","isOnlyDeselection","type","isKeyPress","selectedBlocks","clientIdWithParents","some","blockId","includes","startTarget","endTarget","startParents","endParents","start","end","updatedSelectedBlocks","length","selectionDiff","filter","label","title"],"sources":["@wordpress/block-editor/src/components/list-view/use-block-selection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\nimport { UP, DOWN, HOME, END, ESCAPE } from '@wordpress/keycodes';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { getCommonDepthClientIds } from './utils';\n\nexport default function useBlockSelection() {\n\tconst { clearSelectedBlock, multiSelect, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockName,\n\t\tgetBlockParents,\n\t\tgetBlockSelectionStart,\n\t\tgetSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\thasSelectedBlock,\n\t} = useSelect( blockEditorStore );\n\n\tconst { getBlockType } = useSelect( blocksStore );\n\n\tconst updateBlockSelection = useCallback(\n\t\tasync ( event, clientId, destinationClientId, focusPosition ) => {\n\t\t\tif ( ! event?.shiftKey && event?.keyCode !== ESCAPE ) {\n\t\t\t\tselectBlock( clientId, focusPosition );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// To handle multiple block selection via the `SHIFT` key, prevent\n\t\t\t// the browser default behavior of opening the link in a new window.\n\t\t\tevent.preventDefault();\n\n\t\t\tconst isOnlyDeselection =\n\t\t\t\tevent.type === 'keydown' && event.keyCode === ESCAPE;\n\t\t\tconst isKeyPress =\n\t\t\t\tevent.type === 'keydown' &&\n\t\t\t\t( event.keyCode === UP ||\n\t\t\t\t\tevent.keyCode === DOWN ||\n\t\t\t\t\tevent.keyCode === HOME ||\n\t\t\t\t\tevent.keyCode === END );\n\n\t\t\t// Handle clicking on a block when no blocks are selected, and return early.\n\t\t\tif (\n\t\t\t\t! isKeyPress &&\n\t\t\t\t! hasSelectedBlock() &&\n\t\t\t\t! hasMultiSelection()\n\t\t\t) {\n\t\t\t\tselectBlock( clientId, null );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectedBlocks = getSelectedBlockClientIds();\n\t\t\tconst clientIdWithParents = [\n\t\t\t\t...getBlockParents( clientId ),\n\t\t\t\tclientId,\n\t\t\t];\n\n\t\t\tif (\n\t\t\t\tisOnlyDeselection ||\n\t\t\t\t( isKeyPress &&\n\t\t\t\t\t! selectedBlocks.some( ( blockId ) =>\n\t\t\t\t\t\tclientIdWithParents.includes( blockId )\n\t\t\t\t\t) )\n\t\t\t) {\n\t\t\t\t// Ensure that shift-selecting blocks via the keyboard only\n\t\t\t\t// expands the current selection if focusing over already\n\t\t\t\t// selected blocks. Otherwise, clear the selection so that\n\t\t\t\t// a user can create a new selection entirely by keyboard.\n\t\t\t\tawait clearSelectedBlock();\n\t\t\t}\n\n\t\t\t// Update selection, if not only clearing the selection.\n\t\t\tif ( ! isOnlyDeselection ) {\n\t\t\t\tlet startTarget = getBlockSelectionStart();\n\t\t\t\tlet endTarget = clientId;\n\n\t\t\t\t// Handle keyboard behavior for selecting multiple blocks.\n\t\t\t\tif ( isKeyPress ) {\n\t\t\t\t\tif ( ! hasSelectedBlock() && ! hasMultiSelection() ) {\n\t\t\t\t\t\t// Set the starting point of the selection to the currently\n\t\t\t\t\t\t// focused block, if there are no blocks currently selected.\n\t\t\t\t\t\t// This ensures that as the selection is expanded or contracted,\n\t\t\t\t\t\t// the starting point of the selection is anchored to that block.\n\t\t\t\t\t\tstartTarget = clientId;\n\t\t\t\t\t}\n\t\t\t\t\tif ( destinationClientId ) {\n\t\t\t\t\t\t// If the user presses UP or DOWN, we want to ensure that the block they're\n\t\t\t\t\t\t// moving to is the target for selection, and not the currently focused one.\n\t\t\t\t\t\tendTarget = destinationClientId;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst startParents = getBlockParents( startTarget );\n\t\t\t\tconst endParents = getBlockParents( endTarget );\n\n\t\t\t\tconst { start, end } = getCommonDepthClientIds(\n\t\t\t\t\tstartTarget,\n\t\t\t\t\tendTarget,\n\t\t\t\t\tstartParents,\n\t\t\t\t\tendParents\n\t\t\t\t);\n\t\t\t\tawait multiSelect( start, end, null );\n\t\t\t}\n\n\t\t\t// Announce deselected block, or number of deselected blocks if\n\t\t\t// the total number of blocks deselected is greater than one.\n\t\t\tconst updatedSelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// If the selection is greater than 1 and the Home or End keys\n\t\t\t// were used to generate the selection, then skip announcing the\n\t\t\t// deselected blocks.\n\t\t\tif (\n\t\t\t\t( event.keyCode === HOME || event.keyCode === END ) &&\n\t\t\t\tupdatedSelectedBlocks.length > 1\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectionDiff = selectedBlocks.filter(\n\t\t\t\t( blockId ) => ! updatedSelectedBlocks.includes( blockId )\n\t\t\t);\n\n\t\t\tlet label;\n\t\t\tif ( selectionDiff.length === 1 ) {\n\t\t\t\tconst title = getBlockType(\n\t\t\t\t\tgetBlockName( selectionDiff[ 0 ] )\n\t\t\t\t)?.title;\n\t\t\t\tif ( title ) {\n\t\t\t\t\tlabel = sprintf(\n\t\t\t\t\t\t/* translators: %s: block name */\n\t\t\t\t\t\t__( '%s deselected.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( selectionDiff.length > 1 ) {\n\t\t\t\tlabel = sprintf(\n\t\t\t\t\t/* translators: %s: number of deselected blocks */\n\t\t\t\t\t__( '%s blocks deselected.' ),\n\t\t\t\t\tselectionDiff.length\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( label ) {\n\t\t\t\tspeak( label, 'assertive' );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tclearSelectedBlock,\n\t\t\tgetBlockName,\n\t\t\tgetBlockType,\n\t\t\tgetBlockParents,\n\t\t\tgetBlockSelectionStart,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\thasMultiSelection,\n\t\t\thasSelectedBlock,\n\t\t\tmultiSelect,\n\t\t\tselectBlock,\n\t\t]\n\t);\n\n\treturn {\n\t\tupdateBlockSelection,\n\t};\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["speak","__","sprintf","useDispatch","useSelect","useCallback","UP","DOWN","HOME","END","ESCAPE","store","blocksStore","blockEditorStore","getCommonDepthClientIds","useBlockSelection","clearSelectedBlock","multiSelect","selectBlock","getBlockName","getBlockParents","getBlockSelectionStart","getSelectedBlockClientIds","hasMultiSelection","hasSelectedBlock","getBlockType","updateBlockSelection","event","clientId","destinationClientId","focusPosition","shiftKey","keyCode","preventDefault","isOnlyDeselection","type","isKeyPress","selectedBlocks","clientIdWithParents","some","blockId","includes","startTarget","endTarget","startParents","endParents","start","end","updatedSelectedBlocks","length","selectionDiff","filter","label","title"],"sources":["@wordpress/block-editor/src/components/list-view/use-block-selection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\nimport { UP, DOWN, HOME, END, ESCAPE } from '@wordpress/keycodes';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { getCommonDepthClientIds } from './utils';\n\nexport default function useBlockSelection() {\n\tconst { clearSelectedBlock, multiSelect, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockName,\n\t\tgetBlockParents,\n\t\tgetBlockSelectionStart,\n\t\tgetSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\thasSelectedBlock,\n\t} = useSelect( blockEditorStore );\n\n\tconst { getBlockType } = useSelect( blocksStore );\n\n\tconst updateBlockSelection = useCallback(\n\t\tasync ( event, clientId, destinationClientId, focusPosition ) => {\n\t\t\tif ( ! event?.shiftKey && event?.keyCode !== ESCAPE ) {\n\t\t\t\tselectBlock( clientId, focusPosition );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// To handle multiple block selection via the `SHIFT` key, prevent\n\t\t\t// the browser default behavior of opening the link in a new window.\n\t\t\tevent.preventDefault();\n\n\t\t\tconst isOnlyDeselection =\n\t\t\t\tevent.type === 'keydown' && event.keyCode === ESCAPE;\n\t\t\tconst isKeyPress =\n\t\t\t\tevent.type === 'keydown' &&\n\t\t\t\t( event.keyCode === UP ||\n\t\t\t\t\tevent.keyCode === DOWN ||\n\t\t\t\t\tevent.keyCode === HOME ||\n\t\t\t\t\tevent.keyCode === END );\n\n\t\t\t// Handle clicking on a block when no blocks are selected, and return early.\n\t\t\tif (\n\t\t\t\t! isKeyPress &&\n\t\t\t\t! hasSelectedBlock() &&\n\t\t\t\t! hasMultiSelection()\n\t\t\t) {\n\t\t\t\tselectBlock( clientId, null );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectedBlocks = getSelectedBlockClientIds();\n\t\t\tconst clientIdWithParents = [\n\t\t\t\t...getBlockParents( clientId ),\n\t\t\t\tclientId,\n\t\t\t];\n\n\t\t\tif (\n\t\t\t\tisOnlyDeselection ||\n\t\t\t\t( isKeyPress &&\n\t\t\t\t\t! selectedBlocks.some( ( blockId ) =>\n\t\t\t\t\t\tclientIdWithParents.includes( blockId )\n\t\t\t\t\t) )\n\t\t\t) {\n\t\t\t\t// Ensure that shift-selecting blocks via the keyboard only\n\t\t\t\t// expands the current selection if focusing over already\n\t\t\t\t// selected blocks. Otherwise, clear the selection so that\n\t\t\t\t// a user can create a new selection entirely by keyboard.\n\t\t\t\tawait clearSelectedBlock();\n\t\t\t}\n\n\t\t\t// Update selection, if not only clearing the selection.\n\t\t\tif ( ! isOnlyDeselection ) {\n\t\t\t\tlet startTarget = getBlockSelectionStart();\n\t\t\t\tlet endTarget = clientId;\n\n\t\t\t\t// Handle keyboard behavior for selecting multiple blocks.\n\t\t\t\tif ( isKeyPress ) {\n\t\t\t\t\tif ( ! hasSelectedBlock() && ! hasMultiSelection() ) {\n\t\t\t\t\t\t// Set the starting point of the selection to the currently\n\t\t\t\t\t\t// focused block, if there are no blocks currently selected.\n\t\t\t\t\t\t// This ensures that as the selection is expanded or contracted,\n\t\t\t\t\t\t// the starting point of the selection is anchored to that block.\n\t\t\t\t\t\tstartTarget = clientId;\n\t\t\t\t\t}\n\t\t\t\t\tif ( destinationClientId ) {\n\t\t\t\t\t\t// If the user presses UP or DOWN, we want to ensure that the block they're\n\t\t\t\t\t\t// moving to is the target for selection, and not the currently focused one.\n\t\t\t\t\t\tendTarget = destinationClientId;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst startParents = getBlockParents( startTarget );\n\t\t\t\tconst endParents = getBlockParents( endTarget );\n\n\t\t\t\tconst { start, end } = getCommonDepthClientIds(\n\t\t\t\t\tstartTarget,\n\t\t\t\t\tendTarget,\n\t\t\t\t\tstartParents,\n\t\t\t\t\tendParents\n\t\t\t\t);\n\t\t\t\tawait multiSelect( start, end, null );\n\t\t\t}\n\n\t\t\t// Announce deselected block, or number of deselected blocks if\n\t\t\t// the total number of blocks deselected is greater than one.\n\t\t\tconst updatedSelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// If the selection is greater than 1 and the Home or End keys\n\t\t\t// were used to generate the selection, then skip announcing the\n\t\t\t// deselected blocks.\n\t\t\tif (\n\t\t\t\t( event.keyCode === HOME || event.keyCode === END ) &&\n\t\t\t\tupdatedSelectedBlocks.length > 1\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectionDiff = selectedBlocks.filter(\n\t\t\t\t( blockId ) => ! updatedSelectedBlocks.includes( blockId )\n\t\t\t);\n\n\t\t\tlet label;\n\t\t\tif ( selectionDiff.length === 1 ) {\n\t\t\t\tconst title = getBlockType(\n\t\t\t\t\tgetBlockName( selectionDiff[ 0 ] )\n\t\t\t\t)?.title;\n\t\t\t\tif ( title ) {\n\t\t\t\t\tlabel = sprintf(\n\t\t\t\t\t\t/* translators: %s: block name */\n\t\t\t\t\t\t__( '%s deselected.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( selectionDiff.length > 1 ) {\n\t\t\t\tlabel = sprintf(\n\t\t\t\t\t/* translators: %s: number of deselected blocks */\n\t\t\t\t\t__( '%s blocks deselected.' ),\n\t\t\t\t\tselectionDiff.length\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( label ) {\n\t\t\t\tspeak( label, 'assertive' );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tclearSelectedBlock,\n\t\t\tgetBlockName,\n\t\t\tgetBlockType,\n\t\t\tgetBlockParents,\n\t\t\tgetBlockSelectionStart,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\thasMultiSelection,\n\t\t\thasSelectedBlock,\n\t\t\tmultiSelect,\n\t\t\tselectBlock,\n\t\t]\n\t);\n\n\treturn {\n\t\tupdateBlockSelection,\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
|