@wordpress/block-editor 16.1.0 → 16.2.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 +39 -0
- package/README.md +13 -1
- package/build/autocompleters/block.cjs.map +2 -2
- package/build/components/alignment-control/index.cjs.map +2 -2
- package/build/components/alignment-control/ui.cjs.map +2 -2
- package/build/components/autocomplete/index.cjs.map +2 -2
- package/build/components/background-image-control/index.cjs.map +2 -2
- package/build/components/block-actions/index.cjs +2 -1
- package/build/components/block-actions/index.cjs.map +2 -2
- package/build/components/block-alignment-control/constants.cjs.map +2 -2
- package/build/components/block-alignment-control/index.cjs.map +2 -2
- package/build/components/block-alignment-control/ui.cjs.map +2 -2
- package/build/components/block-alignment-control/use-available-alignments.cjs.map +2 -2
- package/build/components/block-alignment-matrix-control/index.cjs.map +2 -2
- package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +2 -2
- package/build/components/block-allowed-blocks/modal.cjs.map +2 -2
- package/build/components/block-bindings/attribute-control.cjs.map +2 -2
- package/build/components/block-bindings/index.cjs.map +2 -2
- package/build/components/block-bindings/source-fields-list.cjs.map +2 -2
- package/build/components/block-bindings/use-block-bindings-utils.cjs.map +2 -2
- package/build/components/block-breadcrumb/index.cjs.map +2 -2
- package/build/components/block-canvas/index.cjs.map +2 -2
- package/build/components/block-card/index.cjs.map +2 -2
- package/build/components/block-compare/block-view.cjs.map +2 -2
- package/build/components/block-compare/index.cjs.map +2 -2
- package/build/components/block-content-overlay/index.cjs.map +2 -2
- package/build/components/block-context/index.cjs.map +2 -2
- package/build/components/block-controls/fill.cjs.map +2 -2
- package/build/components/block-controls/groups.cjs.map +2 -2
- package/build/components/block-controls/hook.cjs.map +2 -2
- package/build/components/block-controls/index.cjs.map +2 -2
- package/build/components/block-controls/slot.cjs.map +2 -2
- package/build/components/block-draggable/draggable-chip.cjs.map +2 -2
- package/build/components/block-draggable/index.cjs.map +2 -2
- package/build/components/block-draggable/use-scroll-when-dragging.cjs.map +2 -2
- package/build/components/block-edit/context.cjs.map +2 -2
- package/build/components/block-edit/edit.cjs.map +2 -2
- package/build/components/block-edit/index.cjs.map +2 -2
- package/build/components/block-edit/multiple-usage-warning.cjs.map +2 -2
- package/build/components/block-edit-visually-button/index.cjs.map +2 -2
- package/build/components/block-editing-mode/index.cjs.map +2 -2
- package/build/components/block-full-height-alignment-control/index.cjs.map +2 -2
- package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +2 -2
- package/build/components/block-heading-level-dropdown/index.cjs.map +2 -2
- package/build/components/block-icon/index.cjs.map +2 -2
- package/build/components/block-inspector/edit-contents.cjs +48 -40
- package/build/components/block-inspector/edit-contents.cjs.map +3 -3
- package/build/components/block-inspector/index.cjs +9 -4
- package/build/components/block-inspector/index.cjs.map +2 -2
- package/build/components/block-inspector/inspector-pre-tabs-slot-fill.cjs.map +2 -2
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.cjs.map +2 -2
- package/build/components/block-list/block-crash-boundary.cjs.map +2 -2
- package/build/components/block-list/block-crash-warning.cjs.map +2 -2
- package/build/components/block-list/block-html.cjs.map +2 -2
- package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
- package/build/components/block-list/block.cjs +36 -10
- package/build/components/block-list/block.cjs.map +3 -3
- package/build/components/block-list/index.cjs +33 -9
- package/build/components/block-list/index.cjs.map +2 -2
- package/build/components/block-list/layout.cjs.map +2 -2
- package/build/components/block-list/private-block-context.cjs.map +2 -2
- package/build/components/block-list/subdirectory-icon.cjs.map +2 -2
- package/build/components/block-list/use-block-props/index.cjs +36 -2
- package/build/components/block-list/use-block-props/index.cjs.map +3 -3
- package/build/components/block-list/use-block-props/use-block-refs.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-intersection-observer.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-scroll-into-view.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs.map +2 -2
- package/build/components/block-list/use-in-between-inserter.cjs.map +2 -2
- package/build/components/block-list/zoom-out-separator.cjs.map +2 -2
- package/build/components/block-list-appender/index.cjs.map +2 -2
- package/build/components/block-lock/menu-item.cjs.map +2 -2
- package/build/components/block-lock/modal.cjs.map +2 -2
- package/build/components/block-lock/toolbar.cjs.map +2 -2
- package/build/components/block-lock/use-block-lock.cjs.map +2 -2
- package/build/components/block-manager/category.cjs.map +2 -2
- package/build/components/block-manager/checklist.cjs.map +2 -2
- package/build/components/block-manager/index.cjs.map +2 -2
- package/build/components/block-mover/button.cjs +15 -9
- package/build/components/block-mover/button.cjs.map +2 -2
- package/build/components/block-mover/index.cjs.map +2 -2
- package/build/components/block-mover/mover-description.cjs.map +2 -2
- package/build/components/block-navigation/dropdown.cjs.map +2 -2
- package/build/components/block-parent-selector/index.cjs.map +2 -2
- package/build/components/block-pattern-setup/index.cjs.map +2 -2
- package/build/components/block-pattern-setup/setup-toolbar.cjs.map +2 -2
- package/build/components/block-pattern-setup/use-patterns-setup.cjs.map +2 -2
- package/build/components/block-patterns-list/index.cjs.map +2 -2
- package/build/components/block-patterns-paging/index.cjs.map +2 -2
- package/build/components/block-popover/cover.cjs.map +2 -2
- package/build/components/block-popover/drop-zone.cjs.map +2 -2
- package/build/components/block-popover/inbetween.cjs.map +2 -2
- package/build/components/block-popover/index.cjs.map +2 -2
- package/build/components/block-popover/use-popover-scroll.cjs.map +2 -2
- package/build/components/block-preview/async.cjs.map +2 -2
- package/build/components/block-preview/auto.cjs.map +2 -2
- package/build/components/block-preview/index.cjs.map +2 -2
- package/build/components/block-quick-navigation/index.cjs.map +2 -2
- package/build/components/block-removal-warning-modal/index.cjs.map +2 -2
- package/build/components/block-rename/modal.cjs.map +2 -2
- package/build/components/block-rename/rename-control.cjs.map +2 -2
- package/build/components/block-rename/use-block-rename.cjs.map +2 -2
- package/build/components/block-selection-clearer/index.cjs.map +2 -2
- package/build/components/block-settings-menu/block-html-convert-button.cjs.map +2 -2
- package/build/components/block-settings-menu/block-mode-toggle.cjs.map +2 -2
- package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +2 -2
- package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +2 -2
- package/build/components/block-settings-menu/block-settings-menu-first-item.cjs.map +2 -2
- package/build/components/block-settings-menu/index.cjs.map +2 -2
- package/build/components/block-settings-menu-controls/index.cjs.map +2 -2
- package/build/components/block-styles/index.cjs.map +2 -2
- package/build/components/block-styles/menu-items.cjs.map +2 -2
- package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
- package/build/components/block-styles/utils.cjs.map +2 -2
- package/build/components/block-switcher/block-styles-menu.cjs.map +2 -2
- package/build/components/block-switcher/block-transformations-menu.cjs.map +2 -2
- package/build/components/block-switcher/block-variation-transformations.cjs.map +2 -2
- package/build/components/block-switcher/index.cjs.map +2 -2
- package/build/components/block-switcher/pattern-transformations-menu.cjs.map +2 -2
- package/build/components/block-switcher/preview-block-popover.cjs.map +2 -2
- package/build/components/block-switcher/use-transformed-patterns.cjs.map +2 -2
- package/build/components/block-switcher/utils.cjs.map +2 -2
- package/build/components/block-title/index.cjs.map +2 -2
- package/build/components/block-title/use-block-display-title.cjs.map +2 -2
- package/build/components/block-toolbar/block-styles-dropdown.cjs.map +2 -2
- package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
- package/build/components/block-toolbar/block-toolbar-last-item.cjs.map +2 -2
- package/build/components/block-toolbar/change-design.cjs.map +2 -2
- package/build/components/block-toolbar/edit-section-button.cjs.map +2 -2
- package/build/components/block-toolbar/index.cjs.map +2 -2
- package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +2 -2
- package/build/components/block-toolbar/switch-section-style.cjs.map +2 -2
- package/build/components/block-toolbar/use-has-block-toolbar.cjs.map +2 -2
- package/build/components/block-toolbar/utils.cjs.map +2 -2
- package/build/components/block-tools/block-toolbar-popover.cjs.map +2 -2
- package/build/components/block-tools/empty-block-inserter.cjs.map +2 -2
- package/build/components/block-tools/index.cjs +2 -4
- package/build/components/block-tools/index.cjs.map +2 -2
- package/build/components/block-tools/insertion-point.cjs.map +2 -2
- package/build/components/block-tools/use-block-toolbar-popover-props.cjs.map +2 -2
- package/build/components/block-tools/use-selected-block-tool-props.cjs.map +2 -2
- package/build/components/block-tools/use-show-block-tools.cjs.map +2 -2
- package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +2 -2
- package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +2 -2
- package/build/components/block-types-list/index.cjs.map +2 -2
- package/build/components/block-variation-picker/index.cjs.map +2 -2
- package/build/components/block-variation-transforms/index.cjs.map +2 -2
- package/build/components/block-vertical-alignment-control/index.cjs.map +2 -2
- package/build/components/block-vertical-alignment-control/ui.cjs.map +2 -2
- package/build/components/block-visibility/constants.cjs +1 -1
- package/build/components/block-visibility/constants.cjs.map +3 -3
- package/build/components/block-visibility/modal.cjs.map +2 -2
- package/build/components/block-visibility/use-block-visibility.cjs +15 -17
- package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
- package/build/components/block-visibility/utils.cjs.map +2 -2
- package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
- package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
- package/build/components/border-radius-control/constants.cjs.map +2 -2
- package/build/components/border-radius-control/index.cjs.map +2 -2
- package/build/components/border-radius-control/linked-button.cjs.map +2 -2
- package/build/components/border-radius-control/utils.cjs.map +2 -2
- package/build/components/button-block-appender/index.cjs.map +2 -2
- package/build/components/child-layout-control/index.cjs.map +2 -2
- package/build/components/collab/note-icon-slot.cjs.map +2 -2
- package/build/components/collab/note-icon-toolbar-slot.cjs.map +2 -2
- package/build/components/color-palette/control.cjs.map +2 -2
- package/build/components/color-palette/index.cjs.map +2 -2
- package/build/components/color-palette/with-color-context.cjs.map +2 -2
- package/build/components/color-style-selector/index.cjs.map +2 -2
- package/build/components/colors/utils.cjs +2 -4
- package/build/components/colors/utils.cjs.map +3 -3
- package/build/components/colors/with-colors.cjs +2 -4
- package/build/components/colors/with-colors.cjs.map +3 -3
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/colors-gradients/dropdown.cjs.map +2 -2
- package/build/components/colors-gradients/panel-color-gradient-settings.cjs +5 -5
- package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +2 -2
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.cjs.map +2 -2
- package/build/components/contrast-checker/index.cjs.map +2 -2
- package/build/components/convert-to-group-buttons/index.cjs +2 -5
- package/build/components/convert-to-group-buttons/index.cjs.map +2 -2
- package/build/components/convert-to-group-buttons/toolbar.cjs +2 -4
- package/build/components/convert-to-group-buttons/toolbar.cjs.map +2 -2
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.cjs.map +2 -2
- package/build/components/copy-handler/index.cjs.map +2 -2
- package/build/components/date-format-picker/index.cjs.map +2 -2
- package/build/components/default-block-appender/index.cjs.map +2 -2
- package/build/components/dimension-control/index.cjs.map +2 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/index.cjs.map +2 -2
- package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
- package/build/components/duotone-control/index.cjs.map +2 -2
- package/build/components/editable-text/index.cjs.map +2 -2
- package/build/components/editor-styles/index.cjs.map +2 -2
- package/build/components/fit-text-size-warning/index.cjs.map +2 -2
- package/build/components/floating-toolbar/nav-up-icon.cjs.map +2 -2
- package/build/components/font-appearance-control/index.cjs.map +2 -2
- package/build/components/font-family/index.cjs.map +2 -2
- package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
- package/build/components/font-sizes/utils.cjs +2 -4
- package/build/components/font-sizes/utils.cjs.map +3 -3
- package/build/components/font-sizes/with-font-sizes.cjs.map +2 -2
- package/build/components/global-styles/advanced-panel.cjs.map +2 -2
- package/build/components/global-styles/background-panel.cjs.map +2 -2
- package/build/components/global-styles/border-panel.cjs.map +2 -2
- package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +2 -2
- package/build/components/global-styles/color-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
- package/build/components/global-styles/filters-panel.cjs.map +2 -2
- package/build/components/global-styles/hooks.cjs.map +2 -2
- package/build/components/global-styles/image-settings-panel.cjs.map +2 -2
- package/build/components/global-styles/inheritance/index.cjs.map +2 -2
- package/build/components/global-styles/inherited-value-context.cjs.map +2 -2
- package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
- package/build/components/global-styles/state-control-badges.cjs.map +2 -2
- package/build/components/global-styles/state-control.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs.map +2 -2
- package/build/components/global-styles/typography-utils.cjs.map +2 -2
- package/build/components/global-styles/utils.cjs.map +2 -2
- package/build/components/gradients/use-gradient.cjs.map +2 -2
- package/build/components/gradients/with-gradient.cjs.map +2 -2
- package/build/components/grid/grid-item-movers.cjs.map +2 -2
- package/build/components/grid/grid-item-resizer.cjs.map +2 -2
- package/build/components/grid/grid-visualizer.cjs.map +2 -2
- package/build/components/grid/use-get-number-of-blocks-before-cell.cjs.map +2 -2
- package/build/components/grid/use-grid-layout-sync.cjs.map +2 -2
- package/build/components/height-control/index.cjs.map +2 -2
- package/build/components/html-element-control/index.cjs.map +2 -2
- package/build/components/html-element-control/messages.cjs.map +2 -2
- package/build/components/iframe/index.cjs +19 -24
- package/build/components/iframe/index.cjs.map +2 -2
- package/build/components/iframe/use-scale-canvas.cjs +20 -6
- package/build/components/iframe/use-scale-canvas.cjs.map +2 -2
- package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +2 -2
- package/build/components/image-editor/context.cjs.map +2 -2
- package/build/components/image-editor/cropper.cjs.map +2 -2
- package/build/components/image-editor/form-controls.cjs.map +2 -2
- package/build/components/image-editor/index.cjs.map +2 -2
- package/build/components/image-editor/rotation-button.cjs.map +2 -2
- package/build/components/image-editor/use-save-image.cjs.map +2 -2
- package/build/components/image-editor/use-transform-image.cjs.map +2 -2
- package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
- package/build/components/image-size-control/index.cjs.map +2 -2
- package/build/components/image-size-control/use-dimension-handler.cjs.map +2 -2
- package/build/components/inner-blocks/button-block-appender.cjs.map +2 -2
- package/build/components/inner-blocks/default-block-appender.cjs.map +2 -2
- package/build/components/inner-blocks/index.cjs.map +2 -2
- package/build/components/inner-blocks/use-block-context.cjs.map +2 -2
- package/build/components/inner-blocks/use-inner-block-template-sync.cjs +34 -7
- package/build/components/inner-blocks/use-inner-block-template-sync.cjs.map +3 -3
- package/build/components/inner-blocks/use-nested-settings-update.cjs.map +2 -2
- package/build/components/inner-content/index.cjs.map +2 -2
- package/build/components/inserter/block-patterns-explorer/index.cjs.map +2 -2
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +2 -2
- package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/index.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/utils.cjs.map +2 -2
- package/build/components/inserter/block-types-tab.cjs.map +2 -2
- package/build/components/inserter/category-tabs/index.cjs.map +2 -2
- package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
- package/build/components/inserter/hooks/use-insertion-point.cjs.map +2 -2
- package/build/components/inserter/hooks/use-patterns-paging.cjs.map +2 -2
- package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
- package/build/components/inserter/index.cjs +4 -13
- package/build/components/inserter/index.cjs.map +2 -2
- package/build/components/inserter/library.cjs.map +2 -2
- package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-panel.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
- package/build/components/inserter/media-tab/utils.cjs.map +2 -2
- package/build/components/inserter/menu.cjs.map +2 -2
- package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
- package/build/components/inserter/no-results.cjs.map +2 -2
- package/build/components/inserter/panel.cjs.map +2 -2
- package/build/components/inserter/preview-panel.cjs.map +2 -2
- package/build/components/inserter/quick-inserter.cjs.map +2 -2
- package/build/components/inserter/search-items.cjs.map +2 -2
- package/build/components/inserter/search-results.cjs.map +2 -2
- package/build/components/inserter/tips.cjs.map +2 -2
- package/build/components/inserter-button/sparkles.cjs.map +2 -2
- package/build/components/inserter-draggable-blocks/index.cjs.map +2 -2
- package/build/components/inserter-list-item/index.cjs.map +2 -2
- package/build/components/inserter-listbox/context.cjs.map +2 -2
- package/build/components/inserter-listbox/group.cjs.map +2 -2
- package/build/components/inserter-listbox/index.cjs.map +2 -2
- package/build/components/inserter-listbox/item.cjs.map +2 -2
- package/build/components/inserter-listbox/row.cjs.map +2 -2
- package/build/components/inserter-menu-extension/index.cjs.map +2 -2
- package/build/components/inspector-controls/block-support-slot-container.cjs.map +2 -2
- package/build/components/inspector-controls/block-support-tools-panel.cjs.map +2 -2
- package/build/components/inspector-controls/fill.cjs +15 -17
- package/build/components/inspector-controls/fill.cjs.map +2 -2
- package/build/components/inspector-controls/groups.cjs.map +2 -2
- package/build/components/inspector-controls/index.cjs.map +2 -2
- package/build/components/inspector-controls/last-item.cjs.map +2 -2
- package/build/components/inspector-controls/list-view-content-popover.cjs.map +2 -2
- package/build/components/inspector-controls/slot.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/content-tab.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/index.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/settings-tab.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/utils.cjs.map +2 -2
- package/build/components/inspector-popover-header/index.cjs.map +2 -2
- package/build/components/justify-content-control/index.cjs.map +2 -2
- package/build/components/justify-content-control/ui.cjs.map +2 -2
- package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
- package/build/components/letter-spacing-control/index.cjs.map +2 -2
- package/build/components/line-height-control/index.cjs.map +2 -2
- package/build/components/link-control/constants.cjs.map +2 -2
- package/build/components/link-control/index.cjs.map +2 -2
- package/build/components/link-control/is-url-like.cjs.map +2 -2
- package/build/components/link-control/link-preview.cjs.map +2 -2
- package/build/components/link-control/normalize-url.cjs.map +2 -2
- package/build/components/link-control/search-create-button.cjs.map +2 -2
- package/build/components/link-control/search-input.cjs.map +2 -2
- package/build/components/link-control/search-item.cjs.map +2 -2
- package/build/components/link-control/search-results.cjs +1 -1
- package/build/components/link-control/search-results.cjs.map +2 -2
- package/build/components/link-control/settings-drawer.cjs.map +2 -2
- package/build/components/link-control/settings.cjs.map +2 -2
- package/build/components/link-control/use-create-page.cjs.map +2 -2
- package/build/components/link-control/use-internal-value.cjs.map +2 -2
- package/build/components/link-control/use-rich-url-data.cjs +1 -1
- package/build/components/link-control/use-rich-url-data.cjs.map +2 -2
- package/build/components/link-control/use-search-handler.cjs.map +2 -2
- package/build/components/link-control/viewer-slot.cjs.map +2 -2
- package/build/components/link-picker/link-picker.cjs.map +2 -2
- package/build/components/link-picker/link-preview.cjs.map +2 -2
- package/build/components/list-view/appender.cjs +6 -3
- package/build/components/list-view/appender.cjs.map +2 -2
- package/build/components/list-view/aria-referenced-text.cjs +2 -9
- package/build/components/list-view/aria-referenced-text.cjs.map +2 -2
- package/build/components/list-view/block-contents.cjs +17 -20
- package/build/components/list-view/block-contents.cjs.map +2 -2
- package/build/components/list-view/block-select-button.cjs +40 -19
- package/build/components/list-view/block-select-button.cjs.map +3 -3
- package/build/components/list-view/block.cjs +38 -41
- package/build/components/list-view/block.cjs.map +3 -3
- package/build/components/list-view/branch.cjs +93 -77
- package/build/components/list-view/branch.cjs.map +3 -3
- package/build/components/list-view/context.cjs +16 -2
- package/build/components/list-view/context.cjs.map +2 -2
- package/build/components/list-view/drop-indicator.cjs +4 -3
- package/build/components/list-view/drop-indicator.cjs.map +3 -3
- package/build/components/list-view/expander.cjs.map +2 -2
- package/build/components/list-view/index.cjs +83 -96
- package/build/components/list-view/index.cjs.map +2 -2
- package/build/components/list-view/leaf.cjs.map +2 -2
- package/build/components/list-view/use-block-selection.cjs.map +2 -2
- package/build/components/list-view/use-clipboard-handler.cjs.map +2 -2
- package/build/components/list-view/use-list-view-block-indexes.cjs.map +2 -2
- package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
- package/build/components/list-view/use-list-view-collapse-items.cjs +3 -4
- package/build/components/list-view/use-list-view-collapse-items.cjs.map +2 -2
- package/build/components/list-view/use-list-view-drop-zone.cjs +7 -13
- package/build/components/list-view/use-list-view-drop-zone.cjs.map +2 -2
- package/build/components/list-view/use-list-view-expand-selected-item.cjs +3 -3
- package/build/components/list-view/use-list-view-expand-selected-item.cjs.map +2 -2
- package/build/components/list-view/use-list-view-images.cjs +4 -3
- package/build/components/list-view/use-list-view-images.cjs.map +2 -2
- package/build/components/list-view/use-list-view-scroll-into-view.cjs.map +2 -2
- package/build/components/list-view/utils.cjs +6 -3
- package/build/components/list-view/utils.cjs.map +2 -2
- package/build/components/media-placeholder/index.cjs.map +2 -2
- package/build/components/media-replace-flow/index.cjs.map +2 -2
- package/build/components/media-upload/check.cjs.map +2 -2
- package/build/components/media-upload/index.cjs.map +2 -2
- package/build/components/multi-selection-inspector/index.cjs +33 -12
- package/build/components/multi-selection-inspector/index.cjs.map +3 -3
- package/build/components/navigable-toolbar/index.cjs +29 -18
- package/build/components/navigable-toolbar/index.cjs.map +2 -2
- package/build/components/observe-typing/index.cjs.map +2 -2
- package/build/components/panel-color-settings/index.cjs.map +2 -2
- package/build/components/plain-text/index.cjs.map +2 -2
- package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
- package/build/components/preset-input-control/index.cjs.map +2 -2
- package/build/components/preview-options/index.cjs.map +2 -2
- package/build/components/provider/block-refs-provider.cjs.map +2 -2
- package/build/components/provider/index.cjs.map +2 -2
- package/build/components/provider/selection-context.cjs.map +2 -2
- package/build/components/provider/use-block-sync.cjs.map +2 -2
- package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
- package/build/components/provider/with-registry-provider.cjs.map +2 -2
- package/build/components/publish-date-time-picker/index.cjs.map +2 -2
- package/build/components/recursion-provider/index.cjs.map +2 -2
- package/build/components/resizable-box-popover/index.cjs.map +2 -2
- package/build/components/resolution-tool/index.cjs.map +2 -2
- package/build/components/responsive-block-control/index.cjs.map +2 -2
- package/build/components/responsive-block-control/label.cjs.map +2 -2
- package/build/components/rich-text/content.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/delete.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/firefox-compat.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/index.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/input-events.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/input-rules.cjs +13 -10
- package/build/components/rich-text/event-listeners/input-rules.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/paste-handler.cjs +8 -1
- package/build/components/rich-text/event-listeners/paste-handler.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/shortcuts.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +2 -2
- package/build/components/rich-text/format-edit.cjs.map +2 -2
- package/build/components/rich-text/format-toolbar/index.cjs.map +2 -2
- package/build/components/rich-text/format-toolbar-container.cjs.map +2 -2
- package/build/components/rich-text/get-rich-text-values.cjs.map +2 -2
- package/build/components/rich-text/index.cjs.map +2 -2
- package/build/components/rich-text/multiline.cjs.map +2 -2
- package/build/components/rich-text/prevent-event-discovery.cjs.map +2 -2
- package/build/components/rich-text/toolbar-button.cjs.map +2 -2
- package/build/components/rich-text/use-mark-persistent.cjs.map +2 -2
- package/build/components/rich-text/utils.cjs.map +2 -2
- package/build/components/rich-text/with-deprecations.cjs.map +2 -2
- package/build/components/selection-scroll-into-view/index.cjs.map +2 -2
- package/build/components/skip-to-selected-block/index.cjs.map +2 -2
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.cjs.map +2 -2
- package/build/components/spacing-sizes-control/index.cjs +2 -2
- package/build/components/spacing-sizes-control/index.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/single.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +2 -2
- package/build/components/spacing-sizes-control/linked-button.cjs.map +2 -2
- package/build/components/spacing-sizes-control/utils.cjs.map +2 -2
- package/build/components/tabbed-sidebar/index.cjs.map +2 -2
- package/build/components/text-alignment-control/index.cjs.map +2 -2
- package/build/components/text-decoration-control/index.cjs.map +2 -2
- package/build/components/text-indent-control/index.cjs.map +2 -2
- package/build/components/text-transform-control/index.cjs.map +2 -2
- package/build/components/tool-selector/index.cjs.map +2 -2
- package/build/components/typewriter/index.cjs.map +2 -2
- package/build/components/unit-control/index.cjs.map +2 -2
- package/build/components/url-input/button.cjs.map +2 -2
- package/build/components/url-input/index.cjs +28 -46
- package/build/components/url-input/index.cjs.map +2 -2
- package/build/components/url-popover/image-url-input-ui.cjs +2 -2
- package/build/components/url-popover/image-url-input-ui.cjs.map +2 -2
- package/build/components/url-popover/index.cjs.map +2 -2
- package/build/components/url-popover/link-editor.cjs.map +2 -2
- package/build/components/url-popover/link-viewer-url.cjs.map +2 -2
- package/build/components/url-popover/link-viewer.cjs.map +2 -2
- package/build/components/use-block-commands/index.cjs +2 -1
- package/build/components/use-block-commands/index.cjs.map +2 -2
- package/build/components/use-block-display-information/index.cjs +6 -1
- package/build/components/use-block-display-information/index.cjs.map +2 -2
- package/build/components/use-block-drop-zone/index.cjs.map +2 -2
- package/build/components/use-flash-editable-blocks/index.cjs.map +2 -2
- package/build/components/use-list-view-panel-state/index.cjs.map +2 -2
- package/build/components/use-moving-animation/index.cjs +2 -2
- package/build/components/use-moving-animation/index.cjs.map +2 -2
- package/build/components/use-on-block-drop/index.cjs.map +2 -2
- package/build/components/use-paste-styles/index.cjs.map +2 -2
- package/build/components/use-resize-canvas/index.cjs.map +2 -2
- package/build/components/use-settings/index.cjs.map +2 -2
- package/build/components/warning/index.cjs.map +2 -2
- package/build/components/writing-flow/index.cjs.map +2 -2
- package/build/components/writing-flow/use-arrow-nav.cjs +6 -1
- package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-clipboard-handler.cjs +29 -4
- package/build/components/writing-flow/use-clipboard-handler.cjs.map +3 -3
- package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-editable-root-event-handlers.cjs.map +2 -2
- package/build/components/writing-flow/use-editable-root.cjs.map +2 -2
- package/build/components/writing-flow/use-home-end.cjs.map +2 -2
- package/build/components/writing-flow/use-input.cjs.map +2 -2
- package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-preview-mode-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-select-all.cjs.map +2 -2
- package/build/components/writing-flow/use-selection-observer.cjs.map +2 -2
- package/build/components/writing-flow/use-tab-nav.cjs +3 -1
- package/build/components/writing-flow/use-tab-nav.cjs.map +2 -2
- package/build/components/writing-flow/utils.cjs.map +2 -2
- package/build/components/writing-mode-control/index.cjs.map +2 -2
- package/build/hooks/align.cjs.map +2 -2
- package/build/hooks/allowed-blocks.cjs.map +2 -2
- package/build/hooks/anchor.cjs.map +2 -2
- package/build/hooks/aria-label.cjs.map +2 -2
- package/build/hooks/auto-inspector-controls.cjs.map +2 -2
- package/build/hooks/background.cjs +1 -4
- package/build/hooks/background.cjs.map +2 -2
- package/build/hooks/block-bindings.cjs.map +2 -2
- package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +2 -2
- package/build/hooks/block-fields/index.cjs.map +2 -2
- package/build/hooks/block-fields/link/index.cjs.map +2 -2
- package/build/hooks/block-fields/media/index.cjs.map +2 -2
- package/build/hooks/block-fields/rich-text/index.cjs.map +2 -2
- package/build/hooks/block-fields/use-inspector-popover-placement.cjs.map +2 -2
- package/build/hooks/block-hooks.cjs.map +2 -2
- package/build/hooks/block-renaming.cjs.map +2 -2
- package/build/hooks/block-style-state.cjs.map +2 -2
- package/build/hooks/block-style-variation.cjs.map +2 -2
- package/build/hooks/border.cjs.map +2 -2
- package/build/hooks/color.cjs.map +2 -2
- package/build/hooks/compat.cjs.map +2 -2
- package/build/hooks/contrast-checker.cjs.map +2 -2
- package/build/hooks/custom-class-name.cjs.map +2 -2
- package/build/hooks/dimensions.cjs.map +2 -2
- package/build/hooks/duotone.cjs.map +2 -2
- package/build/hooks/elements.cjs.map +2 -2
- package/build/hooks/fit-text.cjs.map +2 -2
- package/build/hooks/font-family.cjs +2 -4
- package/build/hooks/font-family.cjs.map +3 -3
- package/build/hooks/font-size.cjs.map +2 -2
- package/build/hooks/gap.cjs.map +2 -2
- package/build/hooks/generated-class-name.cjs.map +2 -2
- package/build/hooks/grid-visualizer.cjs.map +2 -2
- package/build/hooks/index.cjs.map +2 -2
- package/build/hooks/layout-child.cjs.map +2 -2
- package/build/hooks/layout.cjs +4 -4
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/line-height.cjs.map +2 -2
- package/build/hooks/list-view.cjs.map +2 -2
- package/build/hooks/lock.cjs.map +2 -2
- package/build/hooks/metadata.cjs.map +2 -2
- package/build/hooks/position.cjs.map +2 -2
- package/build/hooks/settings.cjs.map +2 -2
- package/build/hooks/spacing-visualizer.cjs.map +2 -2
- package/build/hooks/state-utils.cjs.map +2 -2
- package/build/hooks/states.cjs.map +2 -2
- package/build/hooks/style.cjs.map +2 -2
- package/build/hooks/supports.cjs.map +2 -2
- package/build/hooks/text-align.cjs.map +2 -2
- package/build/hooks/typography.cjs.map +2 -2
- package/build/hooks/use-border-props.cjs.map +2 -2
- package/build/hooks/use-cached-truthy.cjs.map +2 -2
- package/build/hooks/use-color-props.cjs.map +2 -2
- package/build/hooks/use-content-only-section-edit.cjs.map +2 -2
- package/build/hooks/use-dimensions-props.cjs.map +2 -2
- package/build/hooks/use-shadow-props.cjs.map +2 -2
- package/build/hooks/use-spacing-props.cjs.map +2 -2
- package/build/hooks/use-typography-props.cjs +2 -4
- package/build/hooks/use-typography-props.cjs.map +3 -3
- package/build/hooks/use-zoom-out.cjs.map +2 -2
- package/build/hooks/utils.cjs.map +2 -2
- package/build/index.cjs.map +2 -2
- package/build/layouts/constrained.cjs.map +2 -2
- package/build/layouts/flex.cjs.map +2 -2
- package/build/layouts/flow.cjs.map +2 -2
- package/build/layouts/grid.cjs.map +2 -2
- package/build/layouts/index.cjs.map +2 -2
- package/build/layouts/utils.cjs.map +2 -2
- package/build/lock-unlock.cjs.map +2 -2
- package/build/private-apis.cjs.map +2 -2
- package/build/store/actions.cjs +104 -36
- package/build/store/actions.cjs.map +3 -3
- package/build/store/defaults.cjs +2 -0
- package/build/store/defaults.cjs.map +2 -2
- package/build/store/get-block-settings.cjs.map +2 -2
- package/build/store/index.cjs.map +2 -2
- package/build/store/private-actions.cjs +19 -2
- package/build/store/private-actions.cjs.map +2 -2
- package/build/store/private-selectors.cjs +28 -10
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs +3 -1
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/selectors.cjs +21 -8
- package/build/store/selectors.cjs.map +2 -2
- package/build/store/utils.cjs.map +2 -2
- package/build/utils/fit-text-frontend.cjs.map +2 -2
- package/build/utils/format-font-style.cjs.map +2 -2
- package/build/utils/format-font-weight.cjs.map +2 -2
- package/build/utils/get-font-styles-and-weights.cjs.map +2 -2
- package/build/utils/group-blocks.cjs +42 -0
- package/build/utils/group-blocks.cjs.map +7 -0
- package/build/utils/native-undo.cjs.map +2 -2
- package/build/utils/pasting.cjs.map +2 -2
- package/build/utils/selection.cjs.map +2 -2
- package/build/utils/sibling-block-attributes.cjs +45 -0
- package/build/utils/sibling-block-attributes.cjs.map +7 -0
- package/build/utils/transform-styles/index.cjs.map +2 -2
- package/build/utils/use-notify-copy.cjs.map +2 -2
- package/build-module/autocompleters/block.mjs.map +2 -2
- package/build-module/components/alignment-control/index.mjs.map +2 -2
- package/build-module/components/alignment-control/ui.mjs.map +2 -2
- package/build-module/components/autocomplete/index.mjs.map +2 -2
- package/build-module/components/background-image-control/index.mjs.map +2 -2
- package/build-module/components/block-actions/index.mjs +3 -6
- package/build-module/components/block-actions/index.mjs.map +2 -2
- package/build-module/components/block-alignment-control/constants.mjs.map +2 -2
- package/build-module/components/block-alignment-control/index.mjs.map +2 -2
- package/build-module/components/block-alignment-control/ui.mjs.map +2 -2
- package/build-module/components/block-alignment-control/use-available-alignments.mjs.map +2 -2
- package/build-module/components/block-alignment-matrix-control/index.mjs.map +2 -2
- package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +2 -2
- package/build-module/components/block-allowed-blocks/modal.mjs.map +2 -2
- package/build-module/components/block-bindings/attribute-control.mjs.map +2 -2
- package/build-module/components/block-bindings/index.mjs.map +2 -2
- package/build-module/components/block-bindings/source-fields-list.mjs.map +2 -2
- package/build-module/components/block-bindings/use-block-bindings-utils.mjs.map +2 -2
- package/build-module/components/block-breadcrumb/index.mjs.map +2 -2
- package/build-module/components/block-canvas/index.mjs.map +2 -2
- package/build-module/components/block-card/index.mjs.map +2 -2
- package/build-module/components/block-compare/block-view.mjs.map +2 -2
- package/build-module/components/block-compare/index.mjs.map +2 -2
- package/build-module/components/block-content-overlay/index.mjs.map +2 -2
- package/build-module/components/block-context/index.mjs.map +2 -2
- package/build-module/components/block-controls/fill.mjs.map +2 -2
- package/build-module/components/block-controls/groups.mjs.map +2 -2
- package/build-module/components/block-controls/hook.mjs.map +2 -2
- package/build-module/components/block-controls/index.mjs.map +2 -2
- package/build-module/components/block-controls/slot.mjs.map +2 -2
- package/build-module/components/block-draggable/draggable-chip.mjs.map +2 -2
- package/build-module/components/block-draggable/index.mjs.map +2 -2
- package/build-module/components/block-draggable/use-scroll-when-dragging.mjs.map +2 -2
- package/build-module/components/block-edit/context.mjs.map +2 -2
- package/build-module/components/block-edit/edit.mjs.map +2 -2
- package/build-module/components/block-edit/index.mjs.map +2 -2
- package/build-module/components/block-edit/multiple-usage-warning.mjs.map +2 -2
- package/build-module/components/block-edit-visually-button/index.mjs.map +2 -2
- package/build-module/components/block-editing-mode/index.mjs.map +2 -2
- package/build-module/components/block-full-height-alignment-control/index.mjs.map +2 -2
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +2 -2
- package/build-module/components/block-heading-level-dropdown/index.mjs.map +2 -2
- package/build-module/components/block-icon/index.mjs.map +2 -2
- package/build-module/components/block-inspector/edit-contents.mjs +49 -41
- package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +9 -4
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-inspector/inspector-pre-tabs-slot-fill.mjs.map +2 -2
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.mjs.map +2 -2
- package/build-module/components/block-list/block-crash-boundary.mjs.map +2 -2
- package/build-module/components/block-list/block-crash-warning.mjs.map +2 -2
- package/build-module/components/block-list/block-html.mjs.map +2 -2
- package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
- package/build-module/components/block-list/block.mjs +36 -10
- package/build-module/components/block-list/block.mjs.map +3 -3
- package/build-module/components/block-list/index.mjs +34 -10
- package/build-module/components/block-list/index.mjs.map +2 -2
- package/build-module/components/block-list/layout.mjs.map +2 -2
- package/build-module/components/block-list/private-block-context.mjs.map +2 -2
- package/build-module/components/block-list/subdirectory-icon.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/index.mjs +36 -2
- package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-block-refs.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-intersection-observer.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs.map +2 -2
- package/build-module/components/block-list/use-in-between-inserter.mjs.map +2 -2
- package/build-module/components/block-list/zoom-out-separator.mjs.map +2 -2
- package/build-module/components/block-list-appender/index.mjs.map +2 -2
- package/build-module/components/block-lock/menu-item.mjs.map +2 -2
- package/build-module/components/block-lock/modal.mjs.map +2 -2
- package/build-module/components/block-lock/toolbar.mjs.map +2 -2
- package/build-module/components/block-lock/use-block-lock.mjs.map +2 -2
- package/build-module/components/block-manager/category.mjs.map +2 -2
- package/build-module/components/block-manager/checklist.mjs.map +2 -2
- package/build-module/components/block-manager/index.mjs.map +2 -2
- package/build-module/components/block-mover/button.mjs +17 -11
- package/build-module/components/block-mover/button.mjs.map +2 -2
- package/build-module/components/block-mover/index.mjs.map +2 -2
- package/build-module/components/block-mover/mover-description.mjs.map +2 -2
- package/build-module/components/block-navigation/dropdown.mjs.map +2 -2
- package/build-module/components/block-parent-selector/index.mjs.map +2 -2
- package/build-module/components/block-pattern-setup/index.mjs.map +2 -2
- package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +2 -2
- package/build-module/components/block-pattern-setup/use-patterns-setup.mjs.map +2 -2
- package/build-module/components/block-patterns-list/index.mjs.map +2 -2
- package/build-module/components/block-patterns-paging/index.mjs.map +2 -2
- package/build-module/components/block-popover/cover.mjs.map +2 -2
- package/build-module/components/block-popover/drop-zone.mjs.map +2 -2
- package/build-module/components/block-popover/inbetween.mjs.map +2 -2
- package/build-module/components/block-popover/index.mjs.map +2 -2
- package/build-module/components/block-popover/use-popover-scroll.mjs.map +2 -2
- package/build-module/components/block-preview/async.mjs.map +2 -2
- package/build-module/components/block-preview/auto.mjs.map +2 -2
- package/build-module/components/block-preview/index.mjs.map +2 -2
- package/build-module/components/block-quick-navigation/index.mjs.map +2 -2
- package/build-module/components/block-removal-warning-modal/index.mjs.map +2 -2
- package/build-module/components/block-rename/modal.mjs.map +2 -2
- package/build-module/components/block-rename/rename-control.mjs.map +2 -2
- package/build-module/components/block-rename/use-block-rename.mjs.map +2 -2
- package/build-module/components/block-selection-clearer/index.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-settings-menu-first-item.mjs.map +2 -2
- package/build-module/components/block-settings-menu/index.mjs.map +2 -2
- package/build-module/components/block-settings-menu-controls/index.mjs.map +2 -2
- package/build-module/components/block-styles/index.mjs.map +2 -2
- package/build-module/components/block-styles/menu-items.mjs.map +2 -2
- package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
- package/build-module/components/block-styles/utils.mjs.map +2 -2
- package/build-module/components/block-switcher/block-styles-menu.mjs.map +2 -2
- package/build-module/components/block-switcher/block-transformations-menu.mjs.map +2 -2
- package/build-module/components/block-switcher/block-variation-transformations.mjs.map +2 -2
- package/build-module/components/block-switcher/index.mjs.map +2 -2
- package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +2 -2
- package/build-module/components/block-switcher/preview-block-popover.mjs.map +2 -2
- package/build-module/components/block-switcher/use-transformed-patterns.mjs.map +2 -2
- package/build-module/components/block-switcher/utils.mjs.map +2 -2
- package/build-module/components/block-title/index.mjs.map +2 -2
- package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-last-item.mjs.map +2 -2
- package/build-module/components/block-toolbar/change-design.mjs.map +2 -2
- package/build-module/components/block-toolbar/edit-section-button.mjs.map +2 -2
- package/build-module/components/block-toolbar/index.mjs.map +2 -2
- package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +2 -2
- package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
- package/build-module/components/block-toolbar/use-has-block-toolbar.mjs.map +2 -2
- package/build-module/components/block-toolbar/utils.mjs.map +2 -2
- package/build-module/components/block-tools/block-toolbar-popover.mjs.map +2 -2
- package/build-module/components/block-tools/empty-block-inserter.mjs.map +2 -2
- package/build-module/components/block-tools/index.mjs +3 -9
- package/build-module/components/block-tools/index.mjs.map +2 -2
- package/build-module/components/block-tools/insertion-point.mjs.map +2 -2
- package/build-module/components/block-tools/use-block-toolbar-popover-props.mjs.map +2 -2
- package/build-module/components/block-tools/use-selected-block-tool-props.mjs.map +2 -2
- package/build-module/components/block-tools/use-show-block-tools.mjs.map +2 -2
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +2 -2
- package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +2 -2
- package/build-module/components/block-types-list/index.mjs.map +2 -2
- package/build-module/components/block-variation-picker/index.mjs.map +2 -2
- package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
- package/build-module/components/block-vertical-alignment-control/index.mjs.map +2 -2
- package/build-module/components/block-vertical-alignment-control/ui.mjs.map +2 -2
- package/build-module/components/block-visibility/constants.mjs +1 -1
- package/build-module/components/block-visibility/constants.mjs.map +3 -3
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/use-block-visibility.mjs +15 -17
- package/build-module/components/block-visibility/use-block-visibility.mjs.map +3 -3
- package/build-module/components/block-visibility/utils.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
- package/build-module/components/border-radius-control/constants.mjs.map +2 -2
- package/build-module/components/border-radius-control/index.mjs.map +2 -2
- package/build-module/components/border-radius-control/linked-button.mjs.map +2 -2
- package/build-module/components/border-radius-control/utils.mjs.map +2 -2
- package/build-module/components/button-block-appender/index.mjs.map +2 -2
- package/build-module/components/child-layout-control/index.mjs.map +2 -2
- package/build-module/components/collab/note-icon-slot.mjs.map +2 -2
- package/build-module/components/collab/note-icon-toolbar-slot.mjs.map +2 -2
- package/build-module/components/color-palette/control.mjs.map +2 -2
- package/build-module/components/color-palette/index.mjs.map +2 -2
- package/build-module/components/color-palette/with-color-context.mjs.map +2 -2
- package/build-module/components/color-style-selector/index.mjs.map +2 -2
- package/build-module/components/colors/utils.mjs +1 -3
- package/build-module/components/colors/utils.mjs.map +2 -2
- package/build-module/components/colors/with-colors.mjs +1 -3
- package/build-module/components/colors/with-colors.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/colors-gradients/dropdown.mjs.map +2 -2
- package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +5 -5
- package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +2 -2
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.mjs.map +2 -2
- package/build-module/components/contrast-checker/index.mjs.map +2 -2
- package/build-module/components/convert-to-group-buttons/index.mjs +2 -5
- package/build-module/components/convert-to-group-buttons/index.mjs.map +2 -2
- package/build-module/components/convert-to-group-buttons/toolbar.mjs +3 -5
- package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +2 -2
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.mjs.map +2 -2
- package/build-module/components/copy-handler/index.mjs.map +2 -2
- package/build-module/components/date-format-picker/index.mjs.map +2 -2
- package/build-module/components/default-block-appender/index.mjs.map +2 -2
- package/build-module/components/dimension-control/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
- package/build-module/components/duotone-control/index.mjs.map +2 -2
- package/build-module/components/editable-text/index.mjs.map +2 -2
- package/build-module/components/editor-styles/index.mjs.map +2 -2
- package/build-module/components/fit-text-size-warning/index.mjs.map +2 -2
- package/build-module/components/floating-toolbar/nav-up-icon.mjs.map +2 -2
- package/build-module/components/font-appearance-control/index.mjs.map +2 -2
- package/build-module/components/font-family/index.mjs.map +2 -2
- package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
- package/build-module/components/font-sizes/utils.mjs +1 -3
- package/build-module/components/font-sizes/utils.mjs.map +2 -2
- package/build-module/components/font-sizes/with-font-sizes.mjs.map +2 -2
- package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
- package/build-module/components/global-styles/background-panel.mjs.map +2 -2
- package/build-module/components/global-styles/border-panel.mjs.map +2 -2
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
- package/build-module/components/global-styles/color-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
- package/build-module/components/global-styles/hooks.mjs.map +2 -2
- package/build-module/components/global-styles/image-settings-panel.mjs.map +2 -2
- package/build-module/components/global-styles/inheritance/index.mjs.map +2 -2
- package/build-module/components/global-styles/inherited-value-context.mjs.map +2 -2
- package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
- package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
- package/build-module/components/global-styles/state-control.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
- package/build-module/components/global-styles/typography-utils.mjs.map +2 -2
- package/build-module/components/global-styles/utils.mjs.map +2 -2
- package/build-module/components/gradients/use-gradient.mjs.map +2 -2
- package/build-module/components/gradients/with-gradient.mjs.map +2 -2
- package/build-module/components/grid/grid-item-movers.mjs.map +2 -2
- package/build-module/components/grid/grid-item-resizer.mjs.map +2 -2
- package/build-module/components/grid/grid-visualizer.mjs.map +2 -2
- package/build-module/components/grid/use-get-number-of-blocks-before-cell.mjs.map +2 -2
- package/build-module/components/grid/use-grid-layout-sync.mjs.map +2 -2
- package/build-module/components/height-control/index.mjs.map +2 -2
- package/build-module/components/html-element-control/index.mjs.map +2 -2
- package/build-module/components/html-element-control/messages.mjs.map +2 -2
- package/build-module/components/iframe/index.mjs +19 -24
- package/build-module/components/iframe/index.mjs.map +2 -2
- package/build-module/components/iframe/use-scale-canvas.mjs +21 -7
- package/build-module/components/iframe/use-scale-canvas.mjs.map +2 -2
- package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +2 -2
- package/build-module/components/image-editor/context.mjs.map +2 -2
- package/build-module/components/image-editor/cropper.mjs.map +2 -2
- package/build-module/components/image-editor/form-controls.mjs.map +2 -2
- package/build-module/components/image-editor/index.mjs.map +2 -2
- package/build-module/components/image-editor/rotation-button.mjs.map +2 -2
- package/build-module/components/image-editor/use-save-image.mjs.map +2 -2
- package/build-module/components/image-editor/use-transform-image.mjs.map +2 -2
- package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
- package/build-module/components/image-size-control/index.mjs.map +2 -2
- package/build-module/components/image-size-control/use-dimension-handler.mjs.map +2 -2
- package/build-module/components/inner-blocks/button-block-appender.mjs.map +2 -2
- package/build-module/components/inner-blocks/default-block-appender.mjs.map +2 -2
- package/build-module/components/inner-blocks/index.mjs.map +2 -2
- package/build-module/components/inner-blocks/use-block-context.mjs.map +2 -2
- package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs +35 -8
- package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs.map +2 -2
- package/build-module/components/inner-blocks/use-nested-settings-update.mjs.map +2 -2
- package/build-module/components/inner-content/index.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/index.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/utils.mjs.map +2 -2
- package/build-module/components/inserter/block-types-tab.mjs.map +2 -2
- package/build-module/components/inserter/category-tabs/index.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-insertion-point.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-patterns-paging.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
- package/build-module/components/inserter/index.mjs +4 -13
- package/build-module/components/inserter/index.mjs.map +2 -2
- package/build-module/components/inserter/library.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/utils.mjs.map +2 -2
- package/build-module/components/inserter/menu.mjs.map +2 -2
- package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
- package/build-module/components/inserter/no-results.mjs.map +2 -2
- package/build-module/components/inserter/panel.mjs.map +2 -2
- package/build-module/components/inserter/preview-panel.mjs.map +2 -2
- package/build-module/components/inserter/quick-inserter.mjs.map +2 -2
- package/build-module/components/inserter/search-items.mjs.map +2 -2
- package/build-module/components/inserter/search-results.mjs.map +2 -2
- package/build-module/components/inserter/tips.mjs.map +2 -2
- package/build-module/components/inserter-button/sparkles.mjs.map +2 -2
- package/build-module/components/inserter-draggable-blocks/index.mjs.map +2 -2
- package/build-module/components/inserter-list-item/index.mjs.map +2 -2
- package/build-module/components/inserter-listbox/context.mjs.map +2 -2
- package/build-module/components/inserter-listbox/group.mjs.map +2 -2
- package/build-module/components/inserter-listbox/index.mjs.map +2 -2
- package/build-module/components/inserter-listbox/item.mjs.map +2 -2
- package/build-module/components/inserter-listbox/row.mjs.map +2 -2
- package/build-module/components/inserter-menu-extension/index.mjs.map +2 -2
- package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +2 -2
- package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls/fill.mjs +15 -17
- package/build-module/components/inspector-controls/fill.mjs.map +2 -2
- package/build-module/components/inspector-controls/groups.mjs.map +2 -2
- package/build-module/components/inspector-controls/index.mjs.map +2 -2
- package/build-module/components/inspector-controls/last-item.mjs.map +2 -2
- package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +2 -2
- package/build-module/components/inspector-controls/slot.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/index.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/utils.mjs.map +2 -2
- package/build-module/components/inspector-popover-header/index.mjs.map +2 -2
- package/build-module/components/justify-content-control/index.mjs.map +2 -2
- package/build-module/components/justify-content-control/ui.mjs.map +2 -2
- package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
- package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
- package/build-module/components/line-height-control/index.mjs.map +2 -2
- package/build-module/components/link-control/constants.mjs.map +2 -2
- package/build-module/components/link-control/index.mjs.map +2 -2
- package/build-module/components/link-control/is-url-like.mjs.map +2 -2
- package/build-module/components/link-control/link-preview.mjs.map +2 -2
- package/build-module/components/link-control/normalize-url.mjs.map +2 -2
- package/build-module/components/link-control/search-create-button.mjs.map +2 -2
- package/build-module/components/link-control/search-input.mjs.map +2 -2
- package/build-module/components/link-control/search-item.mjs.map +2 -2
- package/build-module/components/link-control/search-results.mjs +1 -1
- package/build-module/components/link-control/search-results.mjs.map +2 -2
- package/build-module/components/link-control/settings-drawer.mjs.map +2 -2
- package/build-module/components/link-control/settings.mjs.map +2 -2
- package/build-module/components/link-control/use-create-page.mjs.map +2 -2
- package/build-module/components/link-control/use-internal-value.mjs.map +2 -2
- package/build-module/components/link-control/use-rich-url-data.mjs +1 -1
- package/build-module/components/link-control/use-rich-url-data.mjs.map +2 -2
- package/build-module/components/link-control/use-search-handler.mjs.map +2 -2
- package/build-module/components/link-control/viewer-slot.mjs.map +2 -2
- package/build-module/components/link-picker/link-picker.mjs.map +2 -2
- package/build-module/components/link-picker/link-preview.mjs.map +2 -2
- package/build-module/components/list-view/appender.mjs +7 -4
- package/build-module/components/list-view/appender.mjs.map +2 -2
- package/build-module/components/list-view/aria-referenced-text.mjs +2 -9
- package/build-module/components/list-view/aria-referenced-text.mjs.map +2 -2
- package/build-module/components/list-view/block-contents.mjs +18 -21
- package/build-module/components/list-view/block-contents.mjs.map +2 -2
- package/build-module/components/list-view/block-select-button.mjs +49 -26
- package/build-module/components/list-view/block-select-button.mjs.map +2 -2
- package/build-module/components/list-view/block.mjs +40 -47
- package/build-module/components/list-view/block.mjs.map +2 -2
- package/build-module/components/list-view/branch.mjs +100 -80
- package/build-module/components/list-view/branch.mjs.map +2 -2
- package/build-module/components/list-view/context.mjs +11 -1
- package/build-module/components/list-view/context.mjs.map +2 -2
- package/build-module/components/list-view/drop-indicator.mjs +6 -6
- package/build-module/components/list-view/drop-indicator.mjs.map +2 -2
- package/build-module/components/list-view/expander.mjs.map +2 -2
- package/build-module/components/list-view/index.mjs +87 -95
- package/build-module/components/list-view/index.mjs.map +2 -2
- package/build-module/components/list-view/leaf.mjs.map +2 -2
- package/build-module/components/list-view/use-block-selection.mjs.map +2 -2
- package/build-module/components/list-view/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-block-indexes.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-collapse-items.mjs +3 -4
- package/build-module/components/list-view/use-list-view-collapse-items.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-drop-zone.mjs +7 -13
- package/build-module/components/list-view/use-list-view-drop-zone.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-expand-selected-item.mjs +3 -3
- package/build-module/components/list-view/use-list-view-expand-selected-item.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-images.mjs +4 -3
- package/build-module/components/list-view/use-list-view-images.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-scroll-into-view.mjs.map +2 -2
- package/build-module/components/list-view/utils.mjs +5 -3
- package/build-module/components/list-view/utils.mjs.map +2 -2
- package/build-module/components/media-placeholder/index.mjs.map +2 -2
- package/build-module/components/media-replace-flow/index.mjs.map +2 -2
- package/build-module/components/media-upload/check.mjs.map +2 -2
- package/build-module/components/media-upload/index.mjs.map +2 -2
- package/build-module/components/multi-selection-inspector/index.mjs +33 -12
- package/build-module/components/multi-selection-inspector/index.mjs.map +2 -2
- package/build-module/components/navigable-toolbar/index.mjs +30 -18
- package/build-module/components/navigable-toolbar/index.mjs.map +2 -2
- package/build-module/components/observe-typing/index.mjs.map +2 -2
- package/build-module/components/panel-color-settings/index.mjs.map +2 -2
- package/build-module/components/plain-text/index.mjs.map +2 -2
- package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
- package/build-module/components/preset-input-control/index.mjs.map +2 -2
- package/build-module/components/preview-options/index.mjs.map +2 -2
- package/build-module/components/provider/block-refs-provider.mjs.map +2 -2
- package/build-module/components/provider/index.mjs.map +2 -2
- package/build-module/components/provider/selection-context.mjs.map +2 -2
- package/build-module/components/provider/use-block-sync.mjs.map +2 -2
- package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
- package/build-module/components/provider/with-registry-provider.mjs.map +2 -2
- package/build-module/components/publish-date-time-picker/index.mjs.map +2 -2
- package/build-module/components/recursion-provider/index.mjs.map +2 -2
- package/build-module/components/resizable-box-popover/index.mjs.map +2 -2
- package/build-module/components/resolution-tool/index.mjs.map +2 -2
- package/build-module/components/responsive-block-control/index.mjs.map +2 -2
- package/build-module/components/responsive-block-control/label.mjs.map +2 -2
- package/build-module/components/rich-text/content.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/firefox-compat.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/index.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-rules.mjs +13 -10
- package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -1
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
- package/build-module/components/rich-text/format-edit.mjs.map +2 -2
- package/build-module/components/rich-text/format-toolbar/index.mjs.map +2 -2
- package/build-module/components/rich-text/format-toolbar-container.mjs.map +2 -2
- package/build-module/components/rich-text/get-rich-text-values.mjs.map +2 -2
- package/build-module/components/rich-text/index.mjs.map +2 -2
- package/build-module/components/rich-text/multiline.mjs.map +2 -2
- package/build-module/components/rich-text/prevent-event-discovery.mjs.map +2 -2
- package/build-module/components/rich-text/toolbar-button.mjs.map +2 -2
- package/build-module/components/rich-text/use-mark-persistent.mjs.map +2 -2
- package/build-module/components/rich-text/utils.mjs.map +2 -2
- package/build-module/components/rich-text/with-deprecations.mjs.map +2 -2
- package/build-module/components/selection-scroll-into-view/index.mjs.map +2 -2
- package/build-module/components/skip-to-selected-block/index.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/index.mjs +2 -2
- package/build-module/components/spacing-sizes-control/index.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/linked-button.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/utils.mjs.map +2 -2
- package/build-module/components/tabbed-sidebar/index.mjs.map +2 -2
- package/build-module/components/text-alignment-control/index.mjs.map +2 -2
- package/build-module/components/text-decoration-control/index.mjs.map +2 -2
- package/build-module/components/text-indent-control/index.mjs.map +2 -2
- package/build-module/components/text-transform-control/index.mjs.map +2 -2
- package/build-module/components/tool-selector/index.mjs.map +2 -2
- package/build-module/components/typewriter/index.mjs.map +2 -2
- package/build-module/components/unit-control/index.mjs.map +2 -2
- package/build-module/components/url-input/button.mjs.map +2 -2
- package/build-module/components/url-input/index.mjs +28 -46
- package/build-module/components/url-input/index.mjs.map +2 -2
- package/build-module/components/url-popover/image-url-input-ui.mjs +2 -2
- package/build-module/components/url-popover/image-url-input-ui.mjs.map +2 -2
- package/build-module/components/url-popover/index.mjs.map +2 -2
- package/build-module/components/url-popover/link-editor.mjs.map +2 -2
- package/build-module/components/url-popover/link-viewer-url.mjs.map +2 -2
- package/build-module/components/url-popover/link-viewer.mjs.map +2 -2
- package/build-module/components/use-block-commands/index.mjs +2 -1
- package/build-module/components/use-block-commands/index.mjs.map +2 -2
- package/build-module/components/use-block-display-information/index.mjs +2 -1
- package/build-module/components/use-block-display-information/index.mjs.map +2 -2
- package/build-module/components/use-block-drop-zone/index.mjs.map +2 -2
- package/build-module/components/use-flash-editable-blocks/index.mjs.map +2 -2
- package/build-module/components/use-list-view-panel-state/index.mjs.map +2 -2
- package/build-module/components/use-moving-animation/index.mjs +2 -2
- package/build-module/components/use-moving-animation/index.mjs.map +2 -2
- package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
- package/build-module/components/use-paste-styles/index.mjs.map +2 -2
- package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
- package/build-module/components/use-settings/index.mjs.map +2 -2
- package/build-module/components/warning/index.mjs.map +2 -2
- package/build-module/components/writing-flow/index.mjs.map +2 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs +11 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs +31 -5
- package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs.map +2 -2
- package/build-module/components/writing-flow/use-editable-root.mjs.map +2 -2
- package/build-module/components/writing-flow/use-home-end.mjs.map +2 -2
- package/build-module/components/writing-flow/use-input.mjs.map +2 -2
- package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-preview-mode-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
- package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
- package/build-module/components/writing-flow/use-tab-nav.mjs +3 -1
- package/build-module/components/writing-flow/use-tab-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/utils.mjs.map +2 -2
- package/build-module/components/writing-mode-control/index.mjs.map +2 -2
- package/build-module/hooks/align.mjs.map +2 -2
- package/build-module/hooks/allowed-blocks.mjs.map +2 -2
- package/build-module/hooks/anchor.mjs.map +2 -2
- package/build-module/hooks/aria-label.mjs.map +2 -2
- package/build-module/hooks/auto-inspector-controls.mjs.map +2 -2
- package/build-module/hooks/background.mjs +1 -4
- package/build-module/hooks/background.mjs.map +2 -2
- package/build-module/hooks/block-bindings.mjs.map +2 -2
- package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +2 -2
- package/build-module/hooks/block-fields/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/link/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/media/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/use-inspector-popover-placement.mjs.map +2 -2
- package/build-module/hooks/block-hooks.mjs.map +2 -2
- package/build-module/hooks/block-renaming.mjs.map +2 -2
- package/build-module/hooks/block-style-state.mjs.map +2 -2
- package/build-module/hooks/block-style-variation.mjs.map +2 -2
- package/build-module/hooks/border.mjs.map +2 -2
- package/build-module/hooks/color.mjs.map +2 -2
- package/build-module/hooks/compat.mjs.map +2 -2
- package/build-module/hooks/contrast-checker.mjs.map +2 -2
- package/build-module/hooks/custom-class-name.mjs.map +2 -2
- package/build-module/hooks/dimensions.mjs.map +2 -2
- package/build-module/hooks/duotone.mjs.map +2 -2
- package/build-module/hooks/elements.mjs.map +2 -2
- package/build-module/hooks/fit-text.mjs.map +2 -2
- package/build-module/hooks/font-family.mjs +1 -3
- package/build-module/hooks/font-family.mjs.map +2 -2
- package/build-module/hooks/font-size.mjs.map +2 -2
- package/build-module/hooks/gap.mjs.map +2 -2
- package/build-module/hooks/generated-class-name.mjs.map +2 -2
- package/build-module/hooks/grid-visualizer.mjs.map +2 -2
- package/build-module/hooks/index.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +2 -3
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/line-height.mjs.map +2 -2
- package/build-module/hooks/list-view.mjs.map +2 -2
- package/build-module/hooks/lock.mjs.map +2 -2
- package/build-module/hooks/metadata.mjs.map +2 -2
- package/build-module/hooks/position.mjs.map +2 -2
- package/build-module/hooks/settings.mjs.map +2 -2
- package/build-module/hooks/spacing-visualizer.mjs.map +2 -2
- package/build-module/hooks/state-utils.mjs.map +2 -2
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/hooks/style.mjs.map +2 -2
- package/build-module/hooks/supports.mjs.map +2 -2
- package/build-module/hooks/text-align.mjs.map +2 -2
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/hooks/use-border-props.mjs.map +2 -2
- package/build-module/hooks/use-cached-truthy.mjs.map +2 -2
- package/build-module/hooks/use-color-props.mjs.map +2 -2
- package/build-module/hooks/use-content-only-section-edit.mjs.map +2 -2
- package/build-module/hooks/use-dimensions-props.mjs.map +2 -2
- package/build-module/hooks/use-shadow-props.mjs.map +2 -2
- package/build-module/hooks/use-spacing-props.mjs.map +2 -2
- package/build-module/hooks/use-typography-props.mjs +1 -3
- package/build-module/hooks/use-typography-props.mjs.map +2 -2
- package/build-module/hooks/use-zoom-out.mjs.map +2 -2
- package/build-module/hooks/utils.mjs.map +2 -2
- package/build-module/index.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/flow.mjs.map +2 -2
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/layouts/index.mjs.map +2 -2
- package/build-module/layouts/utils.mjs.map +2 -2
- package/build-module/lock-unlock.mjs.map +2 -2
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs +104 -36
- package/build-module/store/actions.mjs.map +3 -3
- package/build-module/store/defaults.mjs +2 -0
- package/build-module/store/defaults.mjs.map +2 -2
- package/build-module/store/get-block-settings.mjs.map +2 -2
- package/build-module/store/index.mjs.map +2 -2
- package/build-module/store/private-actions.mjs +19 -2
- package/build-module/store/private-actions.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +27 -10
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +3 -1
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/selectors.mjs +21 -8
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-module/store/utils.mjs.map +2 -2
- package/build-module/utils/fit-text-frontend.mjs.map +2 -2
- package/build-module/utils/format-font-style.mjs.map +2 -2
- package/build-module/utils/format-font-weight.mjs.map +2 -2
- package/build-module/utils/get-font-styles-and-weights.mjs.map +2 -2
- package/build-module/utils/group-blocks.mjs +21 -0
- package/build-module/utils/group-blocks.mjs.map +7 -0
- package/build-module/utils/native-undo.mjs.map +2 -2
- package/build-module/utils/pasting.mjs.map +2 -2
- package/build-module/utils/selection.mjs.map +2 -2
- package/build-module/utils/sibling-block-attributes.mjs +20 -0
- package/build-module/utils/sibling-block-attributes.mjs.map +7 -0
- package/build-module/utils/transform-styles/index.mjs.map +2 -2
- package/build-module/utils/use-notify-copy.mjs.map +2 -2
- package/build-style/content-rtl.css +2 -2
- package/build-style/content.css +2 -2
- package/build-style/style-rtl.css +37 -5
- package/build-style/style.css +37 -5
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/build-types/components/block-visibility/constants.d.ts +44 -0
- package/build-types/components/block-visibility/constants.d.ts.map +1 -0
- package/build-types/components/block-visibility/use-block-visibility.d.ts +35 -0
- package/build-types/components/block-visibility/use-block-visibility.d.ts.map +1 -0
- package/build-types/lock-unlock.d.ts +2 -0
- package/build-types/lock-unlock.d.ts.map +1 -0
- package/build-types/utils/fit-text-frontend.d.ts +0 -5
- package/build-types/utils/fit-text-frontend.d.ts.map +1 -1
- package/build-types/utils/format-font-style.d.ts +0 -3
- package/build-types/utils/format-font-style.d.ts.map +1 -1
- package/build-types/utils/format-font-weight.d.ts +0 -3
- package/build-types/utils/format-font-weight.d.ts.map +1 -1
- package/build-types/utils/get-font-styles-and-weights.d.ts.map +1 -1
- package/build-types/utils/pasting.d.ts.map +1 -1
- package/build-types/utils/selection.d.ts.map +1 -1
- package/build-types/utils/transform-styles/index.d.ts +0 -3
- package/build-types/utils/transform-styles/index.d.ts.map +1 -1
- package/package.json +42 -41
- package/src/autocompleters/block.js +0 -7
- package/src/autocompleters/test/block.js +0 -7
- package/src/components/alignment-control/index.js +0 -3
- package/src/components/alignment-control/stories/aliginment-toolbar.story.jsx +0 -7
- package/src/components/alignment-control/stories/index.story.jsx +0 -7
- package/src/components/alignment-control/test/index.js +0 -11
- package/src/components/alignment-control/ui.js +0 -3
- package/src/components/autocomplete/index.js +0 -7
- package/src/components/background-image-control/index.js +0 -12
- package/src/components/background-image-control/test/index.js +0 -4
- package/src/components/block-actions/README.md +67 -0
- package/src/components/block-actions/index.js +3 -14
- package/src/components/block-alignment-control/constants.js +0 -3
- package/src/components/block-alignment-control/index.js +0 -3
- package/src/components/block-alignment-control/test/index.js +0 -7
- package/src/components/block-alignment-control/ui.js +0 -11
- package/src/components/block-alignment-control/use-available-alignments.js +0 -7
- package/src/components/block-alignment-matrix-control/index.js +0 -3
- package/src/components/block-alignment-matrix-control/stories/index.story.jsx +0 -7
- package/src/components/block-allowed-blocks/allowed-blocks-control.js +0 -7
- package/src/components/block-allowed-blocks/modal.js +0 -7
- package/src/components/block-bindings/attribute-control.js +10 -11
- package/src/components/block-bindings/index.js +0 -3
- package/src/components/block-bindings/source-fields-list.js +0 -11
- package/src/components/block-bindings/test/use-block-bindings-utils.js +1 -12
- package/src/components/block-bindings/use-block-bindings-utils.js +0 -7
- package/src/components/block-breadcrumb/index.js +0 -7
- package/src/components/block-breadcrumb/test/index.js +0 -7
- package/src/components/block-canvas/index.js +0 -7
- package/src/components/block-card/index.js +0 -11
- package/src/components/block-compare/block-view.js +0 -3
- package/src/components/block-compare/index.js +0 -11
- package/src/components/block-compare/test/block-view.js +0 -7
- package/src/components/block-content-overlay/index.js +0 -7
- package/src/components/block-context/README.md +0 -1
- package/src/components/block-context/index.js +0 -3
- package/src/components/block-controls/README.md +0 -3
- package/src/components/block-controls/fill.js +0 -7
- package/src/components/block-controls/groups.js +0 -3
- package/src/components/block-controls/hook.js +0 -7
- package/src/components/block-controls/index.js +0 -3
- package/src/components/block-controls/slot.js +0 -7
- package/src/components/block-controls/test/index.js +0 -11
- package/src/components/block-draggable/draggable-chip.js +0 -7
- package/src/components/block-draggable/index.js +0 -7
- package/src/components/block-draggable/stories/index.story.jsx +0 -3
- package/src/components/block-draggable/use-scroll-when-dragging.js +0 -3
- package/src/components/block-edit/context.js +0 -3
- package/src/components/block-edit/edit.js +0 -11
- package/src/components/block-edit/index.js +0 -7
- package/src/components/block-edit/multiple-usage-warning.js +0 -7
- package/src/components/block-edit/test/edit.js +0 -11
- package/src/components/block-edit-visually-button/index.js +0 -7
- package/src/components/block-editing-mode/index.js +0 -7
- package/src/components/block-full-height-alignment-control/index.js +0 -3
- package/src/components/block-heading-level-dropdown/heading-level-icon.js +0 -3
- package/src/components/block-heading-level-dropdown/index.js +0 -7
- package/src/components/block-heading-level-dropdown/stories/index.story.jsx +0 -7
- package/src/components/block-icon/index.js +0 -7
- package/src/components/block-icon/stories/index.story.ts +0 -7
- package/src/components/block-icon/test/index.js +0 -11
- package/src/components/block-inspector/edit-contents.js +27 -32
- package/src/components/block-inspector/index.js +7 -8
- package/src/components/block-inspector/inspector-pre-tabs-slot-fill.js +0 -3
- package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +0 -7
- package/src/components/block-list/README.md +98 -0
- package/src/components/block-list/block-crash-boundary.js +0 -3
- package/src/components/block-list/block-crash-warning.js +0 -7
- package/src/components/block-list/block-html.js +0 -11
- package/src/components/block-list/block-invalid-warning.js +0 -7
- package/src/components/block-list/block.js +57 -23
- package/src/components/block-list/index.js +62 -24
- package/src/components/block-list/layout.js +0 -7
- package/src/components/block-list/private-block-context.js +0 -3
- package/src/components/block-list/subdirectory-icon.js +0 -3
- package/src/components/block-list/use-block-props/index.js +57 -12
- package/src/components/block-list/use-block-props/use-block-refs.js +0 -7
- package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +0 -3
- package/src/components/block-list/use-block-props/use-focus-first-element.js +0 -7
- package/src/components/block-list/use-block-props/use-focus-handler.js +0 -7
- package/src/components/block-list/use-block-props/use-intersection-observer.js +0 -7
- package/src/components/block-list/use-block-props/use-is-hovered.js +0 -7
- package/src/components/block-list/use-block-props/use-register-block-event-handlers.js +0 -7
- package/src/components/block-list/use-block-props/use-scroll-into-view.js +0 -3
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +0 -7
- package/src/components/block-list/use-in-between-inserter.js +0 -7
- package/src/components/block-list/zoom-out-separator.js +0 -11
- package/src/components/block-list-appender/index.js +0 -11
- package/src/components/block-lock/README.md +66 -0
- package/src/components/block-lock/menu-item.js +0 -7
- package/src/components/block-lock/modal.js +0 -7
- package/src/components/block-lock/toolbar.js +0 -7
- package/src/components/block-lock/use-block-lock.js +0 -7
- package/src/components/block-manager/category.js +0 -7
- package/src/components/block-manager/checklist.js +0 -7
- package/src/components/block-manager/index.js +0 -7
- package/src/components/block-mover/button.js +17 -26
- package/src/components/block-mover/index.js +0 -12
- package/src/components/block-mover/mover-description.js +0 -3
- package/src/components/block-mover/stories/index.story.jsx +0 -7
- package/src/components/block-mover/test/mover-description.js +0 -3
- package/src/components/block-navigation/dropdown.js +0 -11
- package/src/components/block-parent-selector/index.js +0 -7
- package/src/components/block-pattern-setup/index.js +0 -8
- package/src/components/block-pattern-setup/setup-toolbar.js +0 -7
- package/src/components/block-pattern-setup/use-patterns-setup.js +0 -7
- package/src/components/block-patterns-list/index.js +0 -11
- package/src/components/block-patterns-list/stories/index.story.jsx +3 -10
- package/src/components/block-patterns-paging/index.js +0 -3
- package/src/components/block-popover/cover.js +0 -7
- package/src/components/block-popover/drop-zone.js +0 -7
- package/src/components/block-popover/inbetween.js +0 -11
- package/src/components/block-popover/index.js +0 -11
- package/src/components/block-popover/use-popover-scroll.js +0 -3
- package/src/components/block-preview/async.js +0 -3
- package/src/components/block-preview/auto.js +0 -7
- package/src/components/block-preview/index.js +0 -11
- package/src/components/block-preview/test/index.js +0 -11
- package/src/components/block-quick-navigation/index.js +0 -7
- package/src/components/block-removal-warning-modal/index.js +0 -7
- package/src/components/block-rename/modal.js +0 -7
- package/src/components/block-rename/rename-control.js +0 -7
- package/src/components/block-rename/use-block-rename.js +0 -3
- package/src/components/block-selection-clearer/index.js +0 -7
- package/src/components/block-selection-clearer/test/index.js +0 -11
- package/src/components/block-settings-menu/block-html-convert-button.js +0 -7
- package/src/components/block-settings-menu/block-mode-toggle.js +0 -7
- package/src/components/block-settings-menu/block-parent-selector-menu-item.js +0 -7
- package/src/components/block-settings-menu/block-settings-dropdown.js +1 -8
- package/src/components/block-settings-menu/block-settings-menu-first-item.js +0 -3
- package/src/components/block-settings-menu/index.js +0 -7
- package/src/components/block-settings-menu/test/block-mode-toggle.js +0 -11
- package/src/components/block-settings-menu-controls/index.js +0 -7
- package/src/components/block-styles/index.js +0 -11
- package/src/components/block-styles/menu-items.js +0 -3
- package/src/components/block-styles/test/utils.js +0 -3
- package/src/components/block-styles/use-styles-for-block.js +0 -7
- package/src/components/block-styles/utils.js +0 -3
- package/src/components/block-switcher/block-styles-menu.js +0 -7
- package/src/components/block-switcher/block-transformations-menu.js +0 -7
- package/src/components/block-switcher/block-variation-transformations.js +0 -7
- package/src/components/block-switcher/index.js +0 -7
- package/src/components/block-switcher/pattern-transformations-menu.js +0 -8
- package/src/components/block-switcher/preview-block-popover.js +0 -7
- package/src/components/block-switcher/test/index.js +0 -11
- package/src/components/block-switcher/test/use-transformed.patterns.js +0 -7
- package/src/components/block-switcher/test/utils.js +0 -7
- package/src/components/block-switcher/use-transformed-patterns.js +0 -7
- package/src/components/block-switcher/utils.js +0 -3
- package/src/components/block-title/index.js +0 -4
- package/src/components/block-title/stories/index.story.jsx +0 -7
- package/src/components/block-title/test/index.js +0 -11
- package/src/components/block-title/use-block-display-title.js +0 -7
- package/src/components/block-toolbar/block-styles-dropdown.js +0 -7
- package/src/components/block-toolbar/block-toolbar-icon.js +0 -7
- package/src/components/block-toolbar/block-toolbar-last-item.js +0 -3
- package/src/components/block-toolbar/change-design.js +0 -7
- package/src/components/block-toolbar/edit-section-button.js +0 -7
- package/src/components/block-toolbar/index.js +0 -11
- package/src/components/block-toolbar/pattern-overrides-dropdown.js +0 -7
- package/src/components/block-toolbar/switch-section-style.js +0 -7
- package/src/components/block-toolbar/test/block-toolbar-icon.js +0 -11
- package/src/components/block-toolbar/use-has-block-toolbar.js +0 -6
- package/src/components/block-toolbar/utils.js +0 -7
- package/src/components/block-tools/block-toolbar-popover.js +0 -9
- package/src/components/block-tools/empty-block-inserter.js +0 -7
- package/src/components/block-tools/index.js +3 -20
- package/src/components/block-tools/insertion-point.js +0 -11
- package/src/components/block-tools/use-block-toolbar-popover-props.js +0 -7
- package/src/components/block-tools/use-selected-block-tool-props.js +0 -7
- package/src/components/block-tools/use-show-block-tools.js +0 -7
- package/src/components/block-tools/zoom-out-mode-inserter-button.js +0 -7
- package/src/components/block-tools/zoom-out-mode-inserters.js +0 -7
- package/src/components/block-types-list/index.js +0 -7
- package/src/components/block-variation-picker/index.js +0 -7
- package/src/components/block-variation-transforms/index.js +0 -7
- package/src/components/block-vertical-alignment-control/index.js +0 -3
- package/src/components/block-vertical-alignment-control/test/index.js +0 -7
- package/src/components/block-vertical-alignment-control/ui.js +0 -3
- package/src/components/block-visibility/{constants.js → constants.ts} +10 -4
- package/src/components/block-visibility/modal.js +0 -11
- package/src/components/block-visibility/test/use-block-visibility.js +0 -12
- package/src/components/block-visibility/test/utils.js +0 -3
- package/src/components/block-visibility/use-block-visibility.ts +92 -0
- package/src/components/block-visibility/utils.js +0 -7
- package/src/components/block-visibility/viewport-menu-item.js +0 -7
- package/src/components/block-visibility/viewport-toolbar.js +0 -7
- package/src/components/block-visibility/viewport-visibility-info.js +0 -7
- package/src/components/border-radius-control/README.md +0 -3
- package/src/components/border-radius-control/constants.js +0 -3
- package/src/components/border-radius-control/index.js +0 -7
- package/src/components/border-radius-control/linked-button.js +0 -3
- package/src/components/border-radius-control/stories/index.story.jsx +0 -7
- package/src/components/border-radius-control/test/index.js +0 -12
- package/src/components/border-radius-control/test/utils.js +0 -3
- package/src/components/border-radius-control/utils.js +0 -7
- package/src/components/button-block-appender/index.js +0 -11
- package/src/components/child-layout-control/index.js +0 -7
- package/src/components/child-layout-control/test/index.js +0 -11
- package/src/components/collab/note-icon-slot.js +0 -3
- package/src/components/collab/note-icon-toolbar-slot.js +0 -3
- package/src/components/color-palette/control.js +0 -3
- package/src/components/color-palette/index.js +0 -7
- package/src/components/color-palette/stories/control.story.jsx +0 -7
- package/src/components/color-palette/test/control.js +0 -7
- package/src/components/color-palette/with-color-context.js +0 -7
- package/src/components/color-style-selector/index.js +0 -3
- package/src/components/colors/test/utils.js +0 -3
- package/src/components/colors/test/with-colors.js +0 -7
- package/src/components/colors/utils.js +1 -15
- package/src/components/colors/with-colors.js +1 -11
- package/src/components/colors-gradients/control.js +0 -11
- package/src/components/colors-gradients/dropdown.js +0 -15
- package/src/components/colors-gradients/panel-color-gradient-settings.js +21 -28
- package/src/components/colors-gradients/style.scss +17 -7
- package/src/components/colors-gradients/test/control.js +0 -7
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +0 -7
- package/src/components/contrast-checker/index.js +0 -7
- package/src/components/contrast-checker/stories/index.story.ts +0 -3
- package/src/components/contrast-checker/test/index.js +0 -11
- package/src/components/convert-to-group-buttons/index.js +2 -13
- package/src/components/convert-to-group-buttons/toolbar.js +3 -12
- package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +0 -7
- package/src/components/copy-handler/index.js +0 -7
- package/src/components/date-format-picker/index.js +0 -3
- package/src/components/date-format-picker/stories/index.story.jsx +0 -7
- package/src/components/default-block-appender/content.scss +6 -3
- package/src/components/default-block-appender/index.js +0 -11
- package/src/components/default-block-appender/test/index.js +0 -7
- package/src/components/dimension-control/index.js +0 -11
- package/src/components/dimension-control/stories/index.story.jsx +0 -7
- package/src/components/dimensions-tool/aspect-ratio-tool.js +0 -6
- package/src/components/dimensions-tool/index.js +0 -7
- package/src/components/dimensions-tool/scale-tool.js +0 -3
- package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.jsx +0 -7
- package/src/components/dimensions-tool/stories/index.story.jsx +0 -7
- package/src/components/dimensions-tool/stories/scale-tool.story.jsx +0 -7
- package/src/components/dimensions-tool/stories/width-height-tool.story.jsx +0 -7
- package/src/components/dimensions-tool/test/index.js +0 -11
- package/src/components/dimensions-tool/width-height-tool.js +0 -3
- package/src/components/duotone-control/index.js +0 -3
- package/src/components/editable-text/index.js +0 -7
- package/src/components/editor-styles/index.js +0 -11
- package/src/components/fit-text-size-warning/index.js +0 -3
- package/src/components/floating-toolbar/nav-up-icon.js +0 -3
- package/src/components/font-appearance-control/index.js +0 -7
- package/src/components/font-family/index.js +0 -11
- package/src/components/font-family/stories/index.story.jsx +0 -7
- package/src/components/font-sizes/font-size-picker.js +0 -7
- package/src/components/font-sizes/test/fluid-utils.js +0 -7
- package/src/components/font-sizes/test/utils.js +0 -7
- package/src/components/font-sizes/utils.js +1 -11
- package/src/components/font-sizes/with-font-sizes.js +0 -7
- package/src/components/global-styles/advanced-panel.js +0 -7
- package/src/components/global-styles/background-panel.js +0 -7
- package/src/components/global-styles/border-panel.js +0 -7
- package/src/components/global-styles/color-gradient-dropdown-item.js +0 -11
- package/src/components/global-styles/color-panel.js +0 -7
- package/src/components/global-styles/dimensions-panel.js +0 -11
- package/src/components/global-styles/filters-panel.js +0 -11
- package/src/components/global-styles/hooks.js +0 -7
- package/src/components/global-styles/image-settings-panel.js +0 -7
- package/src/components/global-styles/inheritance/index.js +0 -7
- package/src/components/global-styles/inheritance/test/index.js +0 -11
- package/src/components/global-styles/inherited-value-context.js +0 -7
- package/src/components/global-styles/shadow-panel-components.js +0 -12
- package/src/components/global-styles/state-control-badges.js +0 -7
- package/src/components/global-styles/state-control.js +0 -3
- package/src/components/global-styles/test/background-panel.js +0 -8
- package/src/components/global-styles/test/border-panel.js +0 -7
- package/src/components/global-styles/test/color-panel.js +0 -7
- package/src/components/global-styles/test/dimensions-panel.js +0 -7
- package/src/components/global-styles/test/filters-panel.js +0 -7
- package/src/components/global-styles/test/inherited-value-context-core.js +0 -11
- package/src/components/global-styles/test/inherited-value-context.js +0 -12
- package/src/components/global-styles/test/state-control-badges.js +0 -7
- package/src/components/global-styles/test/typography-panel-core.js +0 -7
- package/src/components/global-styles/test/typography-panel.js +0 -7
- package/src/components/global-styles/test/typography-utils.js +0 -3
- package/src/components/global-styles/typography-panel.js +0 -7
- package/src/components/global-styles/typography-utils.js +0 -3
- package/src/components/global-styles/utils.js +0 -3
- package/src/components/gradients/use-gradient.js +0 -7
- package/src/components/gradients/with-gradient.js +0 -3
- package/src/components/grid/grid-item-movers.js +0 -11
- package/src/components/grid/grid-item-resizer.js +0 -7
- package/src/components/grid/grid-visualizer.js +0 -11
- package/src/components/grid/use-get-number-of-blocks-before-cell.js +0 -7
- package/src/components/grid/use-grid-layout-sync.js +0 -7
- package/src/components/height-control/index.js +0 -7
- package/src/components/height-control/stories/index.story.jsx +0 -7
- package/src/components/html-element-control/index.js +0 -7
- package/src/components/html-element-control/messages.js +0 -3
- package/src/components/iframe/index.js +4 -16
- package/src/components/iframe/use-scale-canvas.js +38 -14
- package/src/components/image-editor/aspect-ratio-dropdown.js +0 -7
- package/src/components/image-editor/context.js +0 -7
- package/src/components/image-editor/cropper.js +0 -11
- package/src/components/image-editor/form-controls.js +0 -7
- package/src/components/image-editor/index.js +0 -7
- package/src/components/image-editor/rotation-button.js +0 -8
- package/src/components/image-editor/test/index.js +0 -3
- package/src/components/image-editor/use-save-image.js +0 -7
- package/src/components/image-editor/use-transform-image.js +0 -3
- package/src/components/image-editor/zoom-dropdown.js +0 -7
- package/src/components/image-size-control/index.js +0 -7
- package/src/components/image-size-control/test/index.js +0 -7
- package/src/components/image-size-control/use-dimension-handler.js +0 -3
- package/src/components/inner-blocks/README.md +2 -0
- package/src/components/inner-blocks/button-block-appender.js +0 -7
- package/src/components/inner-blocks/default-block-appender.js +0 -3
- package/src/components/inner-blocks/index.js +0 -11
- package/src/components/inner-blocks/test/index.js +0 -8
- package/src/components/inner-blocks/use-block-context.js +0 -7
- package/src/components/inner-blocks/use-inner-block-template-sync.js +47 -23
- package/src/components/inner-blocks/use-nested-settings-update.js +0 -7
- package/src/components/inner-content/index.js +0 -7
- package/src/components/inner-content/test/index.js +0 -11
- package/src/components/inserter/block-patterns-explorer/index.js +0 -7
- package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +0 -3
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +0 -7
- package/src/components/inserter/block-patterns-tab/index.js +0 -7
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +0 -8
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +0 -7
- package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +0 -8
- package/src/components/inserter/block-patterns-tab/utils.js +0 -4
- package/src/components/inserter/block-types-tab.js +0 -7
- package/src/components/inserter/category-tabs/index.js +0 -7
- package/src/components/inserter/hooks/use-block-types-state.js +0 -7
- package/src/components/inserter/hooks/use-insertion-point.js +0 -7
- package/src/components/inserter/hooks/use-patterns-paging.js +0 -3
- package/src/components/inserter/hooks/use-patterns-state.js +0 -7
- package/src/components/inserter/index.js +4 -28
- package/src/components/inserter/library.js +0 -7
- package/src/components/inserter/media-tab/hooks.js +0 -7
- package/src/components/inserter/media-tab/media-list.js +0 -7
- package/src/components/inserter/media-tab/media-panel.js +0 -11
- package/src/components/inserter/media-tab/media-preview.js +0 -12
- package/src/components/inserter/media-tab/media-tab.js +0 -7
- package/src/components/inserter/media-tab/test/hooks.js +0 -7
- package/src/components/inserter/media-tab/test/media-panel.js +0 -7
- package/src/components/inserter/media-tab/utils.js +0 -3
- package/src/components/inserter/menu.js +0 -11
- package/src/components/inserter/mobile-tab-navigation.js +0 -3
- package/src/components/inserter/no-results.js +0 -3
- package/src/components/inserter/panel.js +0 -3
- package/src/components/inserter/preview-panel.js +0 -7
- package/src/components/inserter/quick-inserter.js +0 -11
- package/src/components/inserter/search-items.js +0 -3
- package/src/components/inserter/search-results.js +0 -7
- package/src/components/inserter/stories/index.story.jsx +0 -7
- package/src/components/inserter/test/get-appender-label.js +0 -3
- package/src/components/inserter/test/search-items.js +0 -3
- package/src/components/inserter/tips.js +0 -3
- package/src/components/inserter-button/sparkles.js +0 -3
- package/src/components/inserter-draggable-blocks/index.js +0 -7
- package/src/components/inserter-list-item/index.js +0 -11
- package/src/components/inserter-listbox/context.js +0 -3
- package/src/components/inserter-listbox/group.js +0 -3
- package/src/components/inserter-listbox/index.js +0 -8
- package/src/components/inserter-listbox/item.js +0 -3
- package/src/components/inserter-listbox/row.js +0 -3
- package/src/components/inserter-menu-extension/index.js +0 -3
- package/src/components/inspector-controls/block-support-slot-container.js +0 -3
- package/src/components/inspector-controls/block-support-tools-panel.js +0 -7
- package/src/components/inspector-controls/fill.js +22 -37
- package/src/components/inspector-controls/groups.js +0 -3
- package/src/components/inspector-controls/index.js +0 -3
- package/src/components/inspector-controls/last-item.js +0 -7
- package/src/components/inspector-controls/list-view-content-popover.js +0 -7
- package/src/components/inspector-controls/slot.js +0 -7
- package/src/components/inspector-controls-tabs/advanced-controls-panel.js +0 -7
- package/src/components/inspector-controls-tabs/content-tab.js +0 -7
- package/src/components/inspector-controls-tabs/index.js +0 -8
- package/src/components/inspector-controls-tabs/position-controls-panel.js +0 -7
- package/src/components/inspector-controls-tabs/settings-tab.js +0 -7
- package/src/components/inspector-controls-tabs/styles-tab.js +0 -7
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -7
- package/src/components/inspector-controls-tabs/utils.js +0 -3
- package/src/components/inspector-popover-header/index.js +0 -3
- package/src/components/justify-content-control/index.js +0 -3
- package/src/components/justify-content-control/ui.js +0 -3
- package/src/components/keyboard-shortcuts/index.js +0 -7
- package/src/components/letter-spacing-control/index.js +0 -7
- package/src/components/letter-spacing-control/stories/index.story.jsx +0 -7
- package/src/components/line-height-control/index.js +0 -7
- package/src/components/line-height-control/stories/index.story.jsx +0 -7
- package/src/components/line-height-control/test/index.js +0 -11
- package/src/components/link-control/constants.js +0 -3
- package/src/components/link-control/index.js +0 -11
- package/src/components/link-control/is-url-like.js +0 -3
- package/src/components/link-control/link-preview.js +0 -13
- package/src/components/link-control/normalize-url.js +0 -7
- package/src/components/link-control/search-create-button.js +0 -3
- package/src/components/link-control/search-input.js +0 -7
- package/src/components/link-control/search-item.js +0 -3
- package/src/components/link-control/search-results.js +1 -12
- package/src/components/link-control/settings-drawer.js +0 -3
- package/src/components/link-control/settings.js +0 -3
- package/src/components/link-control/style.scss +1 -1
- package/src/components/link-control/test/index.js +0 -11
- package/src/components/link-control/test/is-url-like.js +0 -3
- package/src/components/link-control/test/url-normalization.test.js +0 -11
- package/src/components/link-control/use-create-page.js +0 -3
- package/src/components/link-control/use-internal-value.js +0 -7
- package/src/components/link-control/use-rich-url-data.js +1 -8
- package/src/components/link-control/use-search-handler.js +0 -7
- package/src/components/link-control/viewer-slot.js +0 -3
- package/src/components/link-picker/link-picker.js +0 -7
- package/src/components/link-picker/link-preview.js +0 -7
- package/src/components/link-picker/test/index.js +0 -11
- package/src/components/list-view/appender.js +7 -11
- package/src/components/list-view/aria-referenced-text.js +12 -19
- package/src/components/list-view/block-contents.js +28 -28
- package/src/components/list-view/block-select-button.js +62 -40
- package/src/components/list-view/block.js +41 -58
- package/src/components/list-view/branch.js +179 -169
- package/src/components/list-view/context.js +24 -3
- package/src/components/list-view/drop-indicator.js +6 -18
- package/src/components/list-view/expander.js +0 -3
- package/src/components/list-view/index.js +95 -110
- package/src/components/list-view/leaf.js +0 -11
- package/src/components/list-view/style.scss +24 -4
- package/src/components/list-view/test/use-list-view-drop-zone.js +0 -3
- package/src/components/list-view/test/utils.js +0 -3
- package/src/components/list-view/use-block-selection.js +0 -7
- package/src/components/list-view/use-clipboard-handler.js +0 -7
- package/src/components/list-view/use-list-view-block-indexes.js +0 -3
- package/src/components/list-view/use-list-view-client-ids.js +0 -8
- package/src/components/list-view/use-list-view-collapse-items.js +3 -11
- package/src/components/list-view/use-list-view-drop-zone.js +11 -28
- package/src/components/list-view/use-list-view-expand-selected-item.js +3 -10
- package/src/components/list-view/use-list-view-images.js +6 -10
- package/src/components/list-view/use-list-view-scroll-into-view.js +0 -3
- package/src/components/list-view/utils.js +7 -6
- package/src/components/media-placeholder/index.js +0 -11
- package/src/components/media-placeholder/test/get-computed-accept-attribute.js +0 -3
- package/src/components/media-placeholder/test/index.js +0 -7
- package/src/components/media-replace-flow/index.js +0 -11
- package/src/components/media-replace-flow/test/index.js +0 -10
- package/src/components/media-upload/check.js +0 -7
- package/src/components/media-upload/index.js +0 -3
- package/src/components/multi-selection-inspector/index.js +42 -21
- package/src/components/multi-selection-inspector/style.scss +5 -0
- package/src/components/navigable-toolbar/index.js +38 -27
- package/src/components/observe-typing/index.js +0 -7
- package/src/components/panel-color-settings/README.md +0 -7
- package/src/components/panel-color-settings/index.js +0 -3
- package/src/components/panel-color-settings/test/index.js +0 -7
- package/src/components/plain-text/index.js +0 -11
- package/src/components/plain-text/stories/index.story.jsx +0 -7
- package/src/components/preset-input-control/custom-value-controls.js +0 -4
- package/src/components/preset-input-control/index.js +0 -7
- package/src/components/preset-input-control/test/index.js +0 -7
- package/src/components/preset-input-control/test/utils.js +0 -3
- package/src/components/preview-options/index.js +0 -3
- package/src/components/provider/block-refs-provider.js +0 -3
- package/src/components/provider/index.js +0 -7
- package/src/components/provider/selection-context.js +0 -3
- package/src/components/provider/test/experimental-provider.js +0 -10
- package/src/components/provider/test/use-block-sync.js +0 -12
- package/src/components/provider/use-block-sync.js +0 -7
- package/src/components/provider/use-media-upload-settings.js +0 -3
- package/src/components/provider/with-registry-provider.js +0 -7
- package/src/components/publish-date-time-picker/index.js +0 -7
- package/src/components/recursion-provider/README.md +0 -3
- package/src/components/recursion-provider/index.js +0 -7
- package/src/components/recursion-provider/test/index.js +0 -7
- package/src/components/resizable-box-popover/index.js +0 -7
- package/src/components/resolution-tool/index.js +0 -3
- package/src/components/resolution-tool/stories/index.story.jsx +0 -7
- package/src/components/responsive-block-control/index.js +0 -11
- package/src/components/responsive-block-control/label.js +0 -3
- package/src/components/responsive-block-control/test/index.js +0 -11
- package/src/components/rich-text/content.js +0 -11
- package/src/components/rich-text/event-listeners/before-input-rules.js +0 -7
- package/src/components/rich-text/event-listeners/delete.js +0 -7
- package/src/components/rich-text/event-listeners/enter.js +0 -7
- package/src/components/rich-text/event-listeners/firefox-compat.js +0 -3
- package/src/components/rich-text/event-listeners/index.js +0 -7
- package/src/components/rich-text/event-listeners/input-events.js +0 -8
- package/src/components/rich-text/event-listeners/input-rules.js +15 -20
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +0 -8
- package/src/components/rich-text/event-listeners/paste-handler.js +14 -8
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +0 -8
- package/src/components/rich-text/event-listeners/shortcuts.js +0 -8
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +0 -8
- package/src/components/rich-text/format-edit.js +0 -7
- package/src/components/rich-text/format-toolbar/index.js +0 -11
- package/src/components/rich-text/format-toolbar-container.js +0 -7
- package/src/components/rich-text/get-rich-text-values.js +0 -7
- package/src/components/rich-text/index.js +0 -11
- package/src/components/rich-text/multiline.js +0 -7
- package/src/components/rich-text/prevent-event-discovery.js +0 -3
- package/src/components/rich-text/toolbar-button.js +0 -3
- package/src/components/rich-text/use-mark-persistent.js +0 -7
- package/src/components/rich-text/utils.js +0 -3
- package/src/components/rich-text/with-deprecations.js +0 -7
- package/src/components/selection-scroll-into-view/index.js +0 -3
- package/src/components/skip-to-selected-block/index.js +0 -7
- package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +0 -7
- package/src/components/spacing-sizes-control/index.js +2 -9
- package/src/components/spacing-sizes-control/input-controls/axial.js +0 -3
- package/src/components/spacing-sizes-control/input-controls/separated.js +0 -3
- package/src/components/spacing-sizes-control/input-controls/single.js +0 -3
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -7
- package/src/components/spacing-sizes-control/linked-button.js +0 -3
- package/src/components/spacing-sizes-control/test/index.js +0 -12
- package/src/components/spacing-sizes-control/test/utils.js +0 -3
- package/src/components/spacing-sizes-control/utils.js +0 -7
- package/src/components/tabbed-sidebar/index.js +0 -7
- package/src/components/tabbed-sidebar/stories/index.story.jsx +0 -7
- package/src/components/text-alignment-control/index.js +0 -7
- package/src/components/text-alignment-control/stories/index.story.jsx +0 -7
- package/src/components/text-decoration-control/index.js +0 -7
- package/src/components/text-decoration-control/stories/index.story.jsx +0 -7
- package/src/components/text-indent-control/index.js +0 -7
- package/src/components/text-transform-control/index.js +0 -7
- package/src/components/text-transform-control/stories/index.story.jsx +0 -7
- package/src/components/tool-selector/index.js +0 -3
- package/src/components/typewriter/index.js +0 -3
- package/src/components/unit-control/index.js +0 -7
- package/src/components/unit-control/stories/index.story.jsx +0 -7
- package/src/components/url-input/button.js +0 -7
- package/src/components/url-input/index.js +55 -75
- package/src/components/url-input/test/button.js +0 -11
- package/src/components/url-input/test/index.js +85 -11
- package/src/components/url-popover/image-url-input-ui.js +2 -9
- package/src/components/url-popover/index.js +0 -7
- package/src/components/url-popover/link-editor.js +0 -11
- package/src/components/url-popover/link-viewer-url.js +0 -7
- package/src/components/url-popover/link-viewer.js +0 -11
- package/src/components/url-popover/stories/index.story.jsx +0 -7
- package/src/components/url-popover/style.scss +5 -0
- package/src/components/use-block-commands/index.js +2 -9
- package/src/components/use-block-display-information/index.js +1 -8
- package/src/components/use-block-display-information/test/index.js +0 -11
- package/src/components/use-block-drop-zone/index.js +0 -7
- package/src/components/use-block-drop-zone/test/index.js +0 -3
- package/src/components/use-flash-editable-blocks/index.js +0 -7
- package/src/components/use-list-view-panel-state/index.js +0 -7
- package/src/components/use-moving-animation/index.js +9 -14
- package/src/components/use-on-block-drop/index.js +0 -7
- package/src/components/use-on-block-drop/test/index.js +1 -7
- package/src/components/use-paste-styles/index.js +0 -7
- package/src/components/use-resize-canvas/index.js +0 -3
- package/src/components/use-settings/index.js +0 -7
- package/src/components/warning/index.js +0 -7
- package/src/components/warning/stories/index.story.jsx +0 -7
- package/src/components/warning/test/index.js +0 -7
- package/src/components/writing-flow/index.js +0 -11
- package/src/components/writing-flow/test/index.js +0 -7
- package/src/components/writing-flow/use-arrow-nav.js +23 -16
- package/src/components/writing-flow/use-click-selection.js +0 -7
- package/src/components/writing-flow/use-clipboard-handler.js +65 -11
- package/src/components/writing-flow/use-drag-selection.js +0 -7
- package/src/components/writing-flow/use-editable-root-event-handlers.js +0 -7
- package/src/components/writing-flow/use-editable-root.js +0 -7
- package/src/components/writing-flow/use-home-end.js +0 -7
- package/src/components/writing-flow/use-input.js +0 -7
- package/src/components/writing-flow/use-multi-selection.js +0 -7
- package/src/components/writing-flow/use-preview-mode-nav.js +0 -7
- package/src/components/writing-flow/use-select-all.js +0 -7
- package/src/components/writing-flow/use-selection-observer.js +0 -7
- package/src/components/writing-flow/use-tab-nav.js +7 -8
- package/src/components/writing-flow/utils.js +0 -7
- package/src/components/writing-mode-control/index.js +0 -7
- package/src/components/writing-mode-control/stories/index.story.jsx +0 -7
- package/src/elements/test/index.js +0 -3
- package/src/hooks/align.js +0 -11
- package/src/hooks/allowed-blocks.js +0 -7
- package/src/hooks/anchor.js +0 -7
- package/src/hooks/aria-label.js +0 -7
- package/src/hooks/auto-inspector-controls.js +0 -7
- package/src/hooks/background.js +3 -15
- package/src/hooks/block-bindings.js +0 -7
- package/src/hooks/block-fields/fields-dropdown-menu.js +0 -7
- package/src/hooks/block-fields/index.js +0 -1
- package/src/hooks/block-fields/link/index.js +0 -7
- package/src/hooks/block-fields/media/index.js +0 -7
- package/src/hooks/block-fields/rich-text/index.js +0 -7
- package/src/hooks/block-fields/use-inspector-popover-placement.js +0 -3
- package/src/hooks/block-hooks.js +0 -7
- package/src/hooks/block-renaming.js +0 -3
- package/src/hooks/block-style-state.js +0 -7
- package/src/hooks/block-style-variation.js +0 -7
- package/src/hooks/border.js +0 -11
- package/src/hooks/color.js +0 -11
- package/src/hooks/compat.js +0 -3
- package/src/hooks/contrast-checker.js +0 -8
- package/src/hooks/custom-class-name.js +0 -11
- package/src/hooks/dimensions.js +0 -11
- package/src/hooks/duotone.js +0 -11
- package/src/hooks/elements.js +0 -7
- package/src/hooks/fit-text.js +0 -8
- package/src/hooks/font-family.js +1 -10
- package/src/hooks/font-size.js +0 -7
- package/src/hooks/gap.js +0 -3
- package/src/hooks/generated-class-name.js +0 -3
- package/src/hooks/grid-visualizer.js +0 -7
- package/src/hooks/index.js +0 -3
- package/src/hooks/layout-child.js +0 -7
- package/src/hooks/layout.js +1 -13
- package/src/hooks/line-height.js +0 -7
- package/src/hooks/list-view.js +0 -8
- package/src/hooks/lock.js +0 -3
- package/src/hooks/metadata.js +0 -3
- package/src/hooks/position.js +0 -11
- package/src/hooks/settings.js +0 -3
- package/src/hooks/spacing-visualizer.js +0 -7
- package/src/hooks/state-utils.js +0 -3
- package/src/hooks/states.js +0 -7
- package/src/hooks/style.js +0 -7
- package/src/hooks/supports.js +0 -3
- package/src/hooks/test/align.js +0 -7
- package/src/hooks/test/allowed-blocks.js +0 -7
- package/src/hooks/test/anchor.js +0 -7
- package/src/hooks/test/auto-inspector-controls.js +0 -7
- package/src/hooks/test/background.js +115 -3
- package/src/hooks/test/block-style-state.js +0 -3
- package/src/hooks/test/custom-class-name.js +0 -7
- package/src/hooks/test/dimensions.js +0 -7
- package/src/hooks/test/duotone.js +0 -3
- package/src/hooks/test/font-size.js +0 -11
- package/src/hooks/test/gap.js +0 -3
- package/src/hooks/test/generate-fields-from-attributes.js +0 -3
- package/src/hooks/test/generated-class-name.js +0 -7
- package/src/hooks/test/inherited-value-wiring.js +0 -3
- package/src/hooks/test/layout-child.js +0 -3
- package/src/hooks/test/layout.js +0 -3
- package/src/hooks/test/metadata.js +0 -7
- package/src/hooks/test/preset-round-trip.js +0 -6
- package/src/hooks/test/settings.js +0 -7
- package/src/hooks/test/state-utils.js +0 -7
- package/src/hooks/test/style.js +0 -7
- package/src/hooks/test/text-align.js +0 -7
- package/src/hooks/test/use-typography-props.js +0 -3
- package/src/hooks/test/utils.js +0 -3
- package/src/hooks/text-align.js +0 -11
- package/src/hooks/typography.js +0 -8
- package/src/hooks/use-border-props.js +0 -3
- package/src/hooks/use-cached-truthy.js +0 -3
- package/src/hooks/use-color-props.js +0 -11
- package/src/hooks/use-content-only-section-edit.js +0 -7
- package/src/hooks/use-dimensions-props.js +0 -3
- package/src/hooks/use-shadow-props.js +0 -3
- package/src/hooks/use-spacing-props.js +0 -3
- package/src/hooks/use-typography-props.js +1 -15
- package/src/hooks/use-zoom-out.js +0 -7
- package/src/hooks/utils.js +0 -11
- package/src/index.js +0 -3
- package/src/layouts/constrained.js +0 -7
- package/src/layouts/flex.js +0 -7
- package/src/layouts/flow.js +0 -7
- package/src/layouts/grid.js +0 -8
- package/src/layouts/index.js +0 -3
- package/src/layouts/test/constrained.js +0 -11
- package/src/layouts/test/flex.js +0 -11
- package/src/layouts/test/flow.js +0 -3
- package/src/layouts/test/grid.js +0 -11
- package/src/layouts/test/utils.js +0 -3
- package/src/layouts/utils.js +0 -7
- package/src/lock-unlock.ts +0 -3
- package/src/private-apis.js +0 -7
- package/src/store/actions.js +162 -53
- package/src/store/defaults.js +4 -3
- package/src/store/get-block-settings.js +0 -7
- package/src/store/index.js +0 -7
- package/src/store/private-actions.js +33 -5
- package/src/store/private-selectors.js +43 -17
- package/src/store/reducer.js +8 -12
- package/src/store/selectors.js +44 -21
- package/src/store/test/actions.js +203 -26
- package/src/store/test/array.js +0 -3
- package/src/store/test/get-block-settings.js +0 -7
- package/src/store/test/performance.js +0 -3
- package/src/store/test/private-actions.js +0 -3
- package/src/store/test/private-selectors.js +155 -17
- package/src/store/test/reducer.js +30 -11
- package/src/store/test/registry-selectors.js +0 -7
- package/src/store/test/selectors.js +143 -7
- package/src/store/utils.js +0 -7
- package/src/utils/fit-text-frontend.ts +0 -8
- package/src/utils/format-font-style.ts +0 -7
- package/src/utils/format-font-weight.ts +0 -7
- package/src/utils/get-font-styles-and-weights.ts +0 -7
- package/src/utils/group-blocks.js +36 -0
- package/src/utils/native-undo.js +0 -3
- package/src/utils/pasting.ts +0 -3
- package/src/utils/selection.ts +0 -3
- package/src/utils/sibling-block-attributes.js +30 -0
- package/src/utils/test/block-bindings.js +0 -3
- package/src/utils/test/color-values.js +0 -3
- package/src/utils/test/format-font-style.js +0 -3
- package/src/utils/test/format-font-weight.js +0 -3
- package/src/utils/test/get-font-styles-and-weights.js +0 -3
- package/src/utils/test/math.js +0 -3
- package/src/utils/test/object.js +0 -3
- package/src/utils/test/pasting.js +0 -3
- package/src/utils/test/selection.js +0 -3
- package/src/utils/test/sorting.js +0 -3
- package/src/utils/test/transform-styles.js +0 -3
- package/src/utils/transform-styles/index.ts +0 -8
- package/src/utils/use-notify-copy.js +0 -7
- package/src/components/block-visibility/use-block-visibility.js +0 -76
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/writing-flow/use-select-all.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { isEntirelySelected } from '@wordpress/dom';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { useRefEffect } from '@wordpress/compose';\nimport { store as blockEditorStore } from '../../store';\nimport {\n\tisInsideRootBlock,\n\tgetBlockClientId,\n\tgetSelectionEditableElement,\n} from '../../utils/dom';\n\nexport default function useSelectAll() {\n\tconst { getBlockOrder, getSelectedBlockClientIds, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { multiSelect, selectBlock } = useDispatch( blockEditorStore );\n\tconst isMatch = useShortcutEventMatch();\n\n\treturn useRefEffect( ( node ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( ! isMatch( 'core/block-editor/select-all', event ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectedClientIds = getSelectedBlockClientIds();\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst selection = ownerDocument.defaultView.getSelection();\n\t\t\t// When the wrapper is contentEditable and holds focus (the\n\t\t\t// selected block supports `editableRoot`), the event targets the\n\t\t\t// wrapper; resolve the editable element containing the selection.\n\t\t\tconst editable =\n\t\t\t\t( event.target === node &&\n\t\t\t\t\tgetSelectionEditableElement( selection, node ) ) ||\n\t\t\t\tevent.target;\n\n\t\t\tif (\n\t\t\t\tselectedClientIds.length < 2 &&\n\t\t\t\t! isEntirelySelected( editable )\n\t\t\t) {\n\t\t\t\t// While the wrapper is contentEditable, the browser default\n\t\t\t\t// would select the entire canvas. Select the contents of the\n\t\t\t\t// editable element instead, like the default does when the\n\t\t\t\t// element itself holds focus.\n\t\t\t\tif ( event.target === node && editable !== node ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tconst range = ownerDocument.createRange();\n\t\t\t\t\trange.selectNodeContents( editable );\n\t\t\t\t\tselection.removeAllRanges();\n\t\t\t\t\tselection.addRange( range );\n\t\t\t\t\t// The native `selectionchange` event is asynchronous;\n\t\t\t\t\t// dispatch it synchronously so that listeners depending\n\t\t\t\t\t// on it (e.g. the rich text internal record sync) run\n\t\t\t\t\t// before any event following this one.\n\t\t\t\t\townerDocument.dispatchEvent(\n\t\t\t\t\t\tnew Event( 'selectionchange' )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\n\t\t\tconst [ firstSelectedClientId ] = selectedClientIds;\n\t\t\tconst activeClientId = getBlockClientId(\n\t\t\t\townerDocument.activeElement\n\t\t\t);\n\n\t\t\t// Handle the case when an appender is selected.\n\t\t\tif (\n\t\t\t\tactiveClientId &&\n\t\t\t\tactiveClientId !== firstSelectedClientId &&\n\t\t\t\t! isInsideRootBlock(\n\t\t\t\t\townerDocument.getElementById(\n\t\t\t\t\t\t'block-' + firstSelectedClientId\n\t\t\t\t\t),\n\t\t\t\t\townerDocument.activeElement\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tselectBlock( activeClientId );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst rootClientId = getBlockRootClientId( firstSelectedClientId );\n\t\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\n\t\t\t// If we have selected all sibling nested blocks, try selecting up a\n\t\t\t// level. See: https://github.com/WordPress/gutenberg/pull/31859/\n\t\t\tif ( selectedClientIds.length === blockClientIds.length ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tnode.ownerDocument.defaultView\n\t\t\t\t\t\t.getSelection()\n\t\t\t\t\t\t.removeAllRanges();\n\t\t\t\t\tselectBlock( rootClientId );\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmultiSelect(\n\t\t\t\tblockClientIds[ 0 ],\n\t\t\t\tblockClientIds[ blockClientIds.length - 1 ]\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,0BAA0B;AACnC,SAAS,WAAW,mBAAmB;AACvC,SAAS,mCAAmC,6BAA6B;AACzE,SAAS,oBAAoB;AAC7B,SAAS,SAAS,wBAAwB;AAC1C;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAEQ,SAAR,eAAgC;AACtC,QAAM,EAAE,eAAe,2BAA2B,qBAAqB,IACtE,UAAW,gBAAiB;AAC7B,QAAM,EAAE,aAAa,YAAY,IAAI,YAAa,gBAAiB;AACnE,QAAM,UAAU,sBAAsB;AAEtC,SAAO,aAAc,CAAE,SAAU;AAChC,aAAS,UAAW,OAAQ;AAC3B,UAAK,CAAE,QAAS,gCAAgC,KAAM,GAAI;AACzD;AAAA,MACD;AAEA,YAAM,oBAAoB,0BAA0B;AACpD,YAAM,EAAE,cAAc,IAAI;AAC1B,YAAM,YAAY,cAAc,YAAY,aAAa;AAIzD,YAAM,WACH,MAAM,WAAW,QAClB,4BAA6B,WAAW,IAAK,KAC9C,MAAM;AAEP,UACC,kBAAkB,SAAS,KAC3B,CAAE,mBAAoB,QAAS,GAC9B;AAKD,YAAK,MAAM,WAAW,QAAQ,aAAa,MAAO;AACjD,gBAAM,eAAe;AACrB,gBAAM,QAAQ,cAAc,YAAY;AACxC,gBAAM,mBAAoB,QAAS;AACnC,oBAAU,gBAAgB;AAC1B,oBAAU,SAAU,KAAM;AAK1B,wBAAc;AAAA,YACb,IAAI,MAAO,iBAAkB;AAAA,UAC9B;AAAA,QACD;AACA;AAAA,MACD;AAEA,YAAM,eAAe;AAErB,YAAM,CAAE,qBAAsB,IAAI;AAClC,YAAM,iBAAiB;AAAA,QACtB,cAAc;AAAA,MACf;AAGA,UACC,kBACA,mBAAmB,yBACnB,CAAE;AAAA,QACD,cAAc;AAAA,UACb,WAAW;AAAA,QACZ;AAAA,QACA,cAAc;AAAA,MACf,GACC;AACD,oBAAa,cAAe;AAC5B;AAAA,MACD;AAEA,YAAM,eAAe,qBAAsB,qBAAsB;AACjE,YAAM,iBAAiB,cAAe,YAAa;AAInD,UAAK,kBAAkB,WAAW,eAAe,QAAS;AACzD,YAAK,cAAe;AACnB,eAAK,cAAc,YACjB,aAAa,EACb,gBAAgB;AAClB,sBAAa,YAAa;AAAA,QAC3B;AACA;AAAA,MACD;AAEA;AAAA,QACC,eAAgB,CAAE;AAAA,QAClB,eAAgB,eAAe,SAAS,CAAE;AAAA,MAC3C;AAAA,IACD;AAEA,SAAK,iBAAkB,WAAW,SAAU;AAE5C,WAAO,MAAM;AACZ,WAAK,oBAAqB,WAAW,SAAU;AAAA,IAChD;AAAA,EACD,GAAG,CAAC,CAAE;AACP;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/writing-flow/use-selection-observer.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\nimport {\n\tcreate,\n\tprivateApis as richTextPrivateApis,\n} from '@wordpress/rich-text';\nimport { isSelectionForward } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { getBlockClientId } from '../../utils/dom';\nimport { setContentEditableWrapper } from './utils';\nimport { unlock } from '../../lock-unlock';\n\nconst { ownsSelection } = unlock( richTextPrivateApis );\n\n/**\n * Extract the selection start node from the selection. When the anchor node is\n * not a text node, the selection offset is the index of a child node.\n *\n * @param {Selection} selection The selection.\n *\n * @return {Element} The selection start node.\n */\nfunction extractSelectionStartNode( selection ) {\n\tconst { anchorNode, anchorOffset } = selection;\n\n\tif ( anchorNode.nodeType === anchorNode.TEXT_NODE ) {\n\t\treturn anchorNode;\n\t}\n\n\tif ( anchorOffset === 0 ) {\n\t\treturn anchorNode;\n\t}\n\n\treturn anchorNode.childNodes[ anchorOffset - 1 ];\n}\n\n/**\n * Extract the selection end node from the selection. When the focus node is not\n * a text node, the selection offset is the index of a child node. The selection\n * reaches up to but excluding that child node.\n *\n * @param {Selection} selection The selection.\n * @param {boolean} isTripleClick Whether the selection comes from a triple\n * click.\n *\n * @return {Element} The selection start node.\n */\nfunction extractSelectionEndNode( selection, isTripleClick ) {\n\tconst { focusNode, focusOffset } = selection;\n\n\tif ( focusNode.nodeType === focusNode.TEXT_NODE ) {\n\t\treturn focusNode;\n\t}\n\n\tif ( focusOffset === focusNode.childNodes.length ) {\n\t\treturn focusNode;\n\t}\n\n\t// A triple click selects the paragraph, but the browser extends the\n\t// forward selection into the next element at an offset of 0. This may\n\t// trigger multi selection even though the selection does not visually end\n\t// in the next block. Keyboard selections that legitimately extend to the\n\t// same boundary (e.g. Shift+ArrowDown into a focusable block, where the\n\t// browser reports the boundary at the element instead of its first text\n\t// position) must not be corrected, so only do this for triple clicks.\n\tif (\n\t\tfocusOffset === 0 &&\n\t\tisSelectionForward( selection ) &&\n\t\tisTripleClick\n\t) {\n\t\treturn focusNode.previousSibling ?? focusNode.parentElement;\n\t}\n\n\treturn focusNode.childNodes[ focusOffset ];\n}\n\nfunction findDepth( a, b ) {\n\tlet depth = 0;\n\n\twhile ( a[ depth ] === b[ depth ] ) {\n\t\tdepth++;\n\t}\n\n\treturn depth;\n}\n\nfunction getRichTextElement( node ) {\n\tconst element =\n\t\tnode.nodeType === node.ELEMENT_NODE ? node : node.parentElement;\n\treturn element?.closest( '[data-wp-block-attribute-key]' );\n}\n\n/**\n * Sets a multi-selection based on the native selection across blocks.\n */\nexport default function useSelectionObserver() {\n\tconst {\n\t\tmultiSelect,\n\t\tselectBlock,\n\t\tselectionChange,\n\t\tstartMultiSelect,\n\t\tstopMultiSelect,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockParents,\n\t\tgetBlockSelectionStart,\n\t\tisMultiSelecting,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t\tgetSelectedBlockClientId,\n\t\tcanHostEditableRoot,\n\t} = unlock( useSelect( blockEditorStore ) );\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView } = ownerDocument;\n\n\t\t\tlet isTripleClick = false;\n\n\t\t\tfunction onMouseDown( event ) {\n\t\t\t\tisTripleClick = event.detail === 3;\n\t\t\t\t// A shift+click makes a multi-selection: mark the gesture as\n\t\t\t\t// in progress so the clicked block's focus handler does not\n\t\t\t\t// select it (collapsing the native range being made), and so\n\t\t\t\t// use-multi-selection does not clear the native selection.\n\t\t\t\t// The selection is built on mouseup.\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tstartMultiSelect();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction onKeyDown() {\n\t\t\t\tisTripleClick = false;\n\t\t\t}\n\n\t\t\tfunction onSelectionChange( event ) {\n\t\t\t\tconst selection = defaultView.getSelection();\n\n\t\t\t\tif ( ! selection.rangeCount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst startNode = extractSelectionStartNode( selection );\n\t\t\t\tconst endNode = extractSelectionEndNode(\n\t\t\t\t\tselection,\n\t\t\t\t\tisTripleClick\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\t! node.contains( startNode ) ||\n\t\t\t\t\t! node.contains( endNode )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// If selection is collapsed and we haven't used `shift+click`,\n\t\t\t\t// end multi selection and disable the contentEditable wrapper.\n\t\t\t\t// We have to check about `shift+click` case because elements\n\t\t\t\t// that don't support text selection might be involved, and we might\n\t\t\t\t// update the clientIds to multi-select blocks.\n\t\t\t\t// For now we check if the event is a `mouse` event.\n\t\t\t\tconst isClickShift = event.shiftKey && event.type === 'mouseup';\n\t\t\t\tif ( selection.isCollapsed && ! isClickShift ) {\n\t\t\t\t\tconst collapsedClientId = getBlockClientId( startNode );\n\n\t\t\t\t\t// If the block supports an editable root, keep (or make)\n\t\t\t\t\t// the wrapper contentEditable so the native selection can\n\t\t\t\t\t// extend across blocks. The wrapper holds focus, so rich\n\t\t\t\t\t// text instances don't sync the selection; do it here.\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isMultiSelecting() &&\n\t\t\t\t\t\tcollapsedClientId &&\n\t\t\t\t\t\t// Only keep the wrapper editable when the collapsed\n\t\t\t\t\t\t// selection is in the block that is actually selected.\n\t\t\t\t\t\t// A stale native selection may linger in a previously\n\t\t\t\t\t\t// selected editable root block (e.g. Firefox does not\n\t\t\t\t\t\t// always move it), which must not re-enable the wrapper\n\t\t\t\t\t\t// after another block has been selected.\n\t\t\t\t\t\tcollapsedClientId === getSelectedBlockClientId() &&\n\t\t\t\t\t\tcanHostEditableRoot( collapsedClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetContentEditableWrapper( node, true );\n\n\t\t\t\t\t\t// While the wrapper is editable it must hold focus: a\n\t\t\t\t\t\t// nested editable element cannot retain it (the first\n\t\t\t\t\t\t// DOM mutation moves focus to the host, inconsistently\n\t\t\t\t\t\t// across browsers). Don't steal focus from UI elements\n\t\t\t\t\t\t// (e.g. buttons) or editables outside the block (e.g.\n\t\t\t\t\t\t// the post title). The rich text instance owning the\n\t\t\t\t\t\t// selection syncs it to the store itself.\n\t\t\t\t\t\tconst { activeElement } = ownerDocument;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveElement !== node &&\n\t\t\t\t\t\t\tactiveElement?.isContentEditable &&\n\t\t\t\t\t\t\tnode.contains( activeElement ) &&\n\t\t\t\t\t\t\tgetBlockClientId( activeElement ) ===\n\t\t\t\t\t\t\t\tcollapsedClientId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnode.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tnode.contentEditable === 'true' &&\n\t\t\t\t\t\t! isMultiSelecting()\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetContentEditableWrapper( node, false );\n\t\t\t\t\t\tlet element =\n\t\t\t\t\t\t\tstartNode.nodeType === startNode.ELEMENT_NODE\n\t\t\t\t\t\t\t\t? startNode\n\t\t\t\t\t\t\t\t: startNode.parentElement;\n\t\t\t\t\t\telement = element?.closest( '[contenteditable]' );\n\t\t\t\t\t\telement?.focus();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet startClientId = getBlockClientId( startNode );\n\t\t\t\tlet endClientId = getBlockClientId( endNode );\n\n\t\t\t\t// If the selection has changed and we had pressed `shift+click`,\n\t\t\t\t// we need to check if in an element that doesn't support\n\t\t\t\t// text selection has been clicked.\n\t\t\t\tif ( isClickShift ) {\n\t\t\t\t\tconst selectedClientId = getBlockSelectionStart();\n\t\t\t\t\tconst clickedClientId = getBlockClientId( event.target );\n\t\t\t\t\t// `endClientId` is not defined if we end the selection by clicking a non-selectable block.\n\t\t\t\t\t// We need to check if there was already a selection with a non-selectable focusNode.\n\t\t\t\t\tconst focusNodeIsNonSelectable =\n\t\t\t\t\t\tclickedClientId !== endClientId;\n\t\t\t\t\tif (\n\t\t\t\t\t\t( startClientId === endClientId &&\n\t\t\t\t\t\t\tselection.isCollapsed ) ||\n\t\t\t\t\t\t! endClientId ||\n\t\t\t\t\t\tfocusNodeIsNonSelectable\n\t\t\t\t\t) {\n\t\t\t\t\t\tendClientId = clickedClientId;\n\t\t\t\t\t}\n\t\t\t\t\t// Handle the case when we have a non-selectable block\n\t\t\t\t\t// selected and click another one.\n\t\t\t\t\tif ( startClientId !== selectedClientId ) {\n\t\t\t\t\t\tstartClientId = selectedClientId;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// If the selection did not involve a block, return.\n\t\t\t\tif (\n\t\t\t\t\tstartClientId === undefined &&\n\t\t\t\t\tendClientId === undefined\n\t\t\t\t) {\n\t\t\t\t\tsetContentEditableWrapper( node, false );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// On mouseup, if the native selection is within one block\n\t\t\t\t// but the click target is a different block, bail out\n\t\t\t\t// and let the clicked block's focus handler manage\n\t\t\t\t// selection.\n\t\t\t\tif (\n\t\t\t\t\tevent.type === 'mouseup' &&\n\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t! isMultiSelecting() &&\n\t\t\t\t\tstartClientId === endClientId\n\t\t\t\t) {\n\t\t\t\t\tconst clickedClientId = getBlockClientId( event.target );\n\t\t\t\t\tif (\n\t\t\t\t\t\tclickedClientId &&\n\t\t\t\t\t\tclickedClientId !== startClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\tselection.removeAllRanges();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst isSingularSelection = startClientId === endClientId;\n\t\t\t\tif ( isSingularSelection ) {\n\t\t\t\t\tif ( ! isMultiSelecting() ) {\n\t\t\t\t\t\t// If the selection is not collapsed and falls\n\t\t\t\t\t\t// within a RichText that doesn't have focus\n\t\t\t\t\t\t// (e.g. the user started dragging from the block\n\t\t\t\t\t\t// wrapper padding), dispatch a full\n\t\t\t\t\t\t// selectionChange so the format toolbar appears.\n\t\t\t\t\t\tconst richTextElement =\n\t\t\t\t\t\t\t! selection.isCollapsed &&\n\t\t\t\t\t\t\t( getRichTextElement( startNode ) ||\n\t\t\t\t\t\t\t\tgetRichTextElement( endNode ) );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\trichTextElement &&\n\t\t\t\t\t\t\t// The rich text instance syncs the selection\n\t\t\t\t\t\t\t// itself when its element is editable and owns the\n\t\t\t\t\t\t\t// selection (also through a focused editing host).\n\t\t\t\t\t\t\t// It may be temporarily non-editable while a drag\n\t\t\t\t\t\t\t// that started outside it is in progress (see\n\t\t\t\t\t\t\t// rich-text's preventFocusCapture).\n\t\t\t\t\t\t\t( richTextElement.contentEditable !== 'true' ||\n\t\t\t\t\t\t\t\t( ownerDocument.activeElement !==\n\t\t\t\t\t\t\t\t\trichTextElement &&\n\t\t\t\t\t\t\t\t\t! ownsSelection( richTextElement ) ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst range = selection.getRangeAt( 0 );\n\t\t\t\t\t\t\tconst richTextData = create( {\n\t\t\t\t\t\t\t\telement: richTextElement,\n\t\t\t\t\t\t\t\trange,\n\t\t\t\t\t\t\t\t__unstableIsEditableTree: true,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tconst selectionUpdate = {\n\t\t\t\t\t\t\t\tstart: {\n\t\t\t\t\t\t\t\t\tclientId: startClientId,\n\t\t\t\t\t\t\t\t\tattributeKey:\n\t\t\t\t\t\t\t\t\t\trichTextElement.dataset\n\t\t\t\t\t\t\t\t\t\t\t.wpBlockAttributeKey,\n\t\t\t\t\t\t\t\t\toffset: richTextData.start ?? 0,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tend: {\n\t\t\t\t\t\t\t\t\tclientId: startClientId,\n\t\t\t\t\t\t\t\t\tattributeKey:\n\t\t\t\t\t\t\t\t\t\trichTextElement.dataset\n\t\t\t\t\t\t\t\t\t\t\t.wpBlockAttributeKey,\n\t\t\t\t\t\t\t\t\t// Clamp the end offset to the element. A\n\t\t\t\t\t\t\t\t\t// forward selection can overshoot past the\n\t\t\t\t\t\t\t\t\t// rich text (e.g. a triple click extends\n\t\t\t\t\t\t\t\t\t// into the next block at offset 0), leaving\n\t\t\t\t\t\t\t\t\t// `end` undefined; that means the selection\n\t\t\t\t\t\t\t\t\t// reaches through the end of this element's\n\t\t\t\t\t\t\t\t\t// content.\n\t\t\t\t\t\t\t\t\toffset:\n\t\t\t\t\t\t\t\t\t\trichTextData.end ??\n\t\t\t\t\t\t\t\t\t\trichTextData.text.length,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst { start, end } = selectionUpdate;\n\t\t\t\t\t\t\tconst selectionStart = getSelectionStart();\n\t\t\t\t\t\t\tconst selectionEnd = getSelectionEnd();\n\n\t\t\t\t\t\t\t// Skip the dispatch when the store already holds\n\t\t\t\t\t\t\t// the same selection.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tselectionStart.clientId !== start.clientId ||\n\t\t\t\t\t\t\t\tselectionEnd.clientId !== end.clientId ||\n\t\t\t\t\t\t\t\tselectionStart.attributeKey !==\n\t\t\t\t\t\t\t\t\tstart.attributeKey ||\n\t\t\t\t\t\t\t\tselectionStart.offset !== start.offset ||\n\t\t\t\t\t\t\t\tselectionEnd.offset !== end.offset\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tselectionChange( selectionUpdate );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tselectBlock( startClientId );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmultiSelect( startClientId, startClientId );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst startPath = [\n\t\t\t\t\t\t...getBlockParents( startClientId ),\n\t\t\t\t\t\tstartClientId,\n\t\t\t\t\t];\n\t\t\t\t\tconst endPath = [\n\t\t\t\t\t\t...getBlockParents( endClientId ),\n\t\t\t\t\t\tendClientId,\n\t\t\t\t\t];\n\t\t\t\t\tconst depth = findDepth( startPath, endPath );\n\n\t\t\t\t\t// If one path ends before they diverge, one block\n\t\t\t\t\t// contains the other, so there are no sibling blocks\n\t\t\t\t\t// to promote the selection to. Record the selection as\n\t\t\t\t\t// is: it resolves to the outer block, which is treated\n\t\t\t\t\t// as fully selected. See `getSelectionNestingAncestor`\n\t\t\t\t\t// in the store.\n\t\t\t\t\tconst isAncestorDescendant =\n\t\t\t\t\t\tdepth >= startPath.length || depth >= endPath.length;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAncestorDescendant &&\n\t\t\t\t\t\t( startPath[ depth ] !== startClientId ||\n\t\t\t\t\t\t\tendPath[ depth ] !== endClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tmultiSelect( startPath[ depth ], endPath[ depth ] );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst richTextElementStart =\n\t\t\t\t\t\tgetRichTextElement( startNode );\n\t\t\t\t\tconst richTextElementEnd = getRichTextElement( endNode );\n\n\t\t\t\t\tif ( richTextElementStart && richTextElementEnd ) {\n\t\t\t\t\t\tconst range = selection.getRangeAt( 0 );\n\t\t\t\t\t\tconst richTextDataStart = create( {\n\t\t\t\t\t\t\telement: richTextElementStart,\n\t\t\t\t\t\t\trange,\n\t\t\t\t\t\t\t__unstableIsEditableTree: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tconst richTextDataEnd = create( {\n\t\t\t\t\t\t\telement: richTextElementEnd,\n\t\t\t\t\t\t\trange,\n\t\t\t\t\t\t\t__unstableIsEditableTree: true,\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tconst startOffset =\n\t\t\t\t\t\t\trichTextDataStart.start ?? richTextDataStart.end;\n\t\t\t\t\t\tconst endOffset =\n\t\t\t\t\t\t\trichTextDataEnd.start ?? richTextDataEnd.end;\n\t\t\t\t\t\tselectionChange( {\n\t\t\t\t\t\t\tstart: {\n\t\t\t\t\t\t\t\tclientId: startClientId,\n\t\t\t\t\t\t\t\tattributeKey:\n\t\t\t\t\t\t\t\t\trichTextElementStart.dataset\n\t\t\t\t\t\t\t\t\t\t.wpBlockAttributeKey,\n\t\t\t\t\t\t\t\toffset: startOffset,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tend: {\n\t\t\t\t\t\t\t\tclientId: endClientId,\n\t\t\t\t\t\t\t\tattributeKey:\n\t\t\t\t\t\t\t\t\trichTextElementEnd.dataset\n\t\t\t\t\t\t\t\t\t\t.wpBlockAttributeKey,\n\t\t\t\t\t\t\t\toffset: endOffset,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmultiSelect( startClientId, endClientId );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Native `selectionchange` events are asynchronous: a clipboard\n\t\t\t// event may fire before the store has been updated with a cross\n\t\t\t// block selection that was just made. Sync it before the clipboard\n\t\t\t// handlers (bubble phase) read the store.\n\t\t\tfunction ensureMultiBlockSelectionSync( event ) {\n\t\t\t\tconst selection = defaultView.getSelection();\n\n\t\t\t\tif ( ! selection.rangeCount || selection.isCollapsed ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Only a selection across different blocks needs to be synced\n\t\t\t\t// here; rich text owns selections within a single block.\n\t\t\t\tconst startClientId = getBlockClientId(\n\t\t\t\t\textractSelectionStartNode( selection )\n\t\t\t\t);\n\t\t\t\tconst endClientId = getBlockClientId(\n\t\t\t\t\textractSelectionEndNode( selection, isTripleClick )\n\t\t\t\t);\n\n\t\t\t\tif ( startClientId !== endClientId ) {\n\t\t\t\t\tonSelectionChange( event );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\townerDocument.addEventListener(\n\t\t\t\t'selectionchange',\n\t\t\t\tonSelectionChange\n\t\t\t);\n\t\t\tfunction onMouseUp( event ) {\n\t\t\t\tonSelectionChange( event );\n\t\t\t\tstopMultiSelect();\n\t\t\t}\n\n\t\t\tdefaultView.addEventListener( 'mouseup', onMouseUp );\n\t\t\tnode.addEventListener( 'mousedown', onMouseDown );\n\t\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\t\townerDocument.addEventListener(\n\t\t\t\t'copy',\n\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\townerDocument.addEventListener(\n\t\t\t\t'cut',\n\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\townerDocument.addEventListener(\n\t\t\t\t'paste',\n\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn () => {\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tonSelectionChange\n\t\t\t\t);\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\tnode.removeEventListener( 'mousedown', onMouseDown );\n\t\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'copy',\n\t\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'cut',\n\t\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'paste',\n\t\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\t[ multiSelect, selectBlock, selectionChange, getBlockParents ]\n\t);\n}\n"],
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\nimport {\n\tcreate,\n\tprivateApis as richTextPrivateApis,\n} from '@wordpress/rich-text';\nimport { isSelectionForward } from '@wordpress/dom';\nimport { store as blockEditorStore } from '../../store';\nimport { getBlockClientId } from '../../utils/dom';\nimport { setContentEditableWrapper } from './utils';\nimport { unlock } from '../../lock-unlock';\n\nconst { ownsSelection } = unlock( richTextPrivateApis );\n\n/**\n * Extract the selection start node from the selection. When the anchor node is\n * not a text node, the selection offset is the index of a child node.\n *\n * @param {Selection} selection The selection.\n *\n * @return {Element} The selection start node.\n */\nfunction extractSelectionStartNode( selection ) {\n\tconst { anchorNode, anchorOffset } = selection;\n\n\tif ( anchorNode.nodeType === anchorNode.TEXT_NODE ) {\n\t\treturn anchorNode;\n\t}\n\n\tif ( anchorOffset === 0 ) {\n\t\treturn anchorNode;\n\t}\n\n\treturn anchorNode.childNodes[ anchorOffset - 1 ];\n}\n\n/**\n * Extract the selection end node from the selection. When the focus node is not\n * a text node, the selection offset is the index of a child node. The selection\n * reaches up to but excluding that child node.\n *\n * @param {Selection} selection The selection.\n * @param {boolean} isTripleClick Whether the selection comes from a triple\n * click.\n *\n * @return {Element} The selection start node.\n */\nfunction extractSelectionEndNode( selection, isTripleClick ) {\n\tconst { focusNode, focusOffset } = selection;\n\n\tif ( focusNode.nodeType === focusNode.TEXT_NODE ) {\n\t\treturn focusNode;\n\t}\n\n\tif ( focusOffset === focusNode.childNodes.length ) {\n\t\treturn focusNode;\n\t}\n\n\t// A triple click selects the paragraph, but the browser extends the\n\t// forward selection into the next element at an offset of 0. This may\n\t// trigger multi selection even though the selection does not visually end\n\t// in the next block. Keyboard selections that legitimately extend to the\n\t// same boundary (e.g. Shift+ArrowDown into a focusable block, where the\n\t// browser reports the boundary at the element instead of its first text\n\t// position) must not be corrected, so only do this for triple clicks.\n\tif (\n\t\tfocusOffset === 0 &&\n\t\tisSelectionForward( selection ) &&\n\t\tisTripleClick\n\t) {\n\t\treturn focusNode.previousSibling ?? focusNode.parentElement;\n\t}\n\n\treturn focusNode.childNodes[ focusOffset ];\n}\n\nfunction findDepth( a, b ) {\n\tlet depth = 0;\n\n\twhile ( a[ depth ] === b[ depth ] ) {\n\t\tdepth++;\n\t}\n\n\treturn depth;\n}\n\nfunction getRichTextElement( node ) {\n\tconst element =\n\t\tnode.nodeType === node.ELEMENT_NODE ? node : node.parentElement;\n\treturn element?.closest( '[data-wp-block-attribute-key]' );\n}\n\n/**\n * Sets a multi-selection based on the native selection across blocks.\n */\nexport default function useSelectionObserver() {\n\tconst {\n\t\tmultiSelect,\n\t\tselectBlock,\n\t\tselectionChange,\n\t\tstartMultiSelect,\n\t\tstopMultiSelect,\n\t} = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockParents,\n\t\tgetBlockSelectionStart,\n\t\tisMultiSelecting,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t\tgetSelectedBlockClientId,\n\t\tcanHostEditableRoot,\n\t} = unlock( useSelect( blockEditorStore ) );\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView } = ownerDocument;\n\n\t\t\tlet isTripleClick = false;\n\n\t\t\tfunction onMouseDown( event ) {\n\t\t\t\tisTripleClick = event.detail === 3;\n\t\t\t\t// A shift+click makes a multi-selection: mark the gesture as\n\t\t\t\t// in progress so the clicked block's focus handler does not\n\t\t\t\t// select it (collapsing the native range being made), and so\n\t\t\t\t// use-multi-selection does not clear the native selection.\n\t\t\t\t// The selection is built on mouseup.\n\t\t\t\tif ( event.shiftKey ) {\n\t\t\t\t\tstartMultiSelect();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction onKeyDown() {\n\t\t\t\tisTripleClick = false;\n\t\t\t}\n\n\t\t\tfunction onSelectionChange( event ) {\n\t\t\t\tconst selection = defaultView.getSelection();\n\n\t\t\t\tif ( ! selection.rangeCount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst startNode = extractSelectionStartNode( selection );\n\t\t\t\tconst endNode = extractSelectionEndNode(\n\t\t\t\t\tselection,\n\t\t\t\t\tisTripleClick\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\t! node.contains( startNode ) ||\n\t\t\t\t\t! node.contains( endNode )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// If selection is collapsed and we haven't used `shift+click`,\n\t\t\t\t// end multi selection and disable the contentEditable wrapper.\n\t\t\t\t// We have to check about `shift+click` case because elements\n\t\t\t\t// that don't support text selection might be involved, and we might\n\t\t\t\t// update the clientIds to multi-select blocks.\n\t\t\t\t// For now we check if the event is a `mouse` event.\n\t\t\t\tconst isClickShift = event.shiftKey && event.type === 'mouseup';\n\t\t\t\tif ( selection.isCollapsed && ! isClickShift ) {\n\t\t\t\t\tconst collapsedClientId = getBlockClientId( startNode );\n\n\t\t\t\t\t// If the block supports an editable root, keep (or make)\n\t\t\t\t\t// the wrapper contentEditable so the native selection can\n\t\t\t\t\t// extend across blocks. The wrapper holds focus, so rich\n\t\t\t\t\t// text instances don't sync the selection; do it here.\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isMultiSelecting() &&\n\t\t\t\t\t\tcollapsedClientId &&\n\t\t\t\t\t\t// Only keep the wrapper editable when the collapsed\n\t\t\t\t\t\t// selection is in the block that is actually selected.\n\t\t\t\t\t\t// A stale native selection may linger in a previously\n\t\t\t\t\t\t// selected editable root block (e.g. Firefox does not\n\t\t\t\t\t\t// always move it), which must not re-enable the wrapper\n\t\t\t\t\t\t// after another block has been selected.\n\t\t\t\t\t\tcollapsedClientId === getSelectedBlockClientId() &&\n\t\t\t\t\t\tcanHostEditableRoot( collapsedClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetContentEditableWrapper( node, true );\n\n\t\t\t\t\t\t// While the wrapper is editable it must hold focus: a\n\t\t\t\t\t\t// nested editable element cannot retain it (the first\n\t\t\t\t\t\t// DOM mutation moves focus to the host, inconsistently\n\t\t\t\t\t\t// across browsers). Don't steal focus from UI elements\n\t\t\t\t\t\t// (e.g. buttons) or editables outside the block (e.g.\n\t\t\t\t\t\t// the post title). The rich text instance owning the\n\t\t\t\t\t\t// selection syncs it to the store itself.\n\t\t\t\t\t\tconst { activeElement } = ownerDocument;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tactiveElement !== node &&\n\t\t\t\t\t\t\tactiveElement?.isContentEditable &&\n\t\t\t\t\t\t\tnode.contains( activeElement ) &&\n\t\t\t\t\t\t\tgetBlockClientId( activeElement ) ===\n\t\t\t\t\t\t\t\tcollapsedClientId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnode.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tnode.contentEditable === 'true' &&\n\t\t\t\t\t\t! isMultiSelecting()\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetContentEditableWrapper( node, false );\n\t\t\t\t\t\tlet element =\n\t\t\t\t\t\t\tstartNode.nodeType === startNode.ELEMENT_NODE\n\t\t\t\t\t\t\t\t? startNode\n\t\t\t\t\t\t\t\t: startNode.parentElement;\n\t\t\t\t\t\telement = element?.closest( '[contenteditable]' );\n\t\t\t\t\t\telement?.focus();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet startClientId = getBlockClientId( startNode );\n\t\t\t\tlet endClientId = getBlockClientId( endNode );\n\n\t\t\t\t// If the selection has changed and we had pressed `shift+click`,\n\t\t\t\t// we need to check if in an element that doesn't support\n\t\t\t\t// text selection has been clicked.\n\t\t\t\tif ( isClickShift ) {\n\t\t\t\t\tconst selectedClientId = getBlockSelectionStart();\n\t\t\t\t\tconst clickedClientId = getBlockClientId( event.target );\n\t\t\t\t\t// `endClientId` is not defined if we end the selection by clicking a non-selectable block.\n\t\t\t\t\t// We need to check if there was already a selection with a non-selectable focusNode.\n\t\t\t\t\tconst focusNodeIsNonSelectable =\n\t\t\t\t\t\tclickedClientId !== endClientId;\n\t\t\t\t\tif (\n\t\t\t\t\t\t( startClientId === endClientId &&\n\t\t\t\t\t\t\tselection.isCollapsed ) ||\n\t\t\t\t\t\t! endClientId ||\n\t\t\t\t\t\tfocusNodeIsNonSelectable\n\t\t\t\t\t) {\n\t\t\t\t\t\tendClientId = clickedClientId;\n\t\t\t\t\t}\n\t\t\t\t\t// Handle the case when we have a non-selectable block\n\t\t\t\t\t// selected and click another one.\n\t\t\t\t\tif ( startClientId !== selectedClientId ) {\n\t\t\t\t\t\tstartClientId = selectedClientId;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// If the selection did not involve a block, return.\n\t\t\t\tif (\n\t\t\t\t\tstartClientId === undefined &&\n\t\t\t\t\tendClientId === undefined\n\t\t\t\t) {\n\t\t\t\t\tsetContentEditableWrapper( node, false );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// On mouseup, if the native selection is within one block\n\t\t\t\t// but the click target is a different block, bail out\n\t\t\t\t// and let the clicked block's focus handler manage\n\t\t\t\t// selection.\n\t\t\t\tif (\n\t\t\t\t\tevent.type === 'mouseup' &&\n\t\t\t\t\t! event.shiftKey &&\n\t\t\t\t\t! isMultiSelecting() &&\n\t\t\t\t\tstartClientId === endClientId\n\t\t\t\t) {\n\t\t\t\t\tconst clickedClientId = getBlockClientId( event.target );\n\t\t\t\t\tif (\n\t\t\t\t\t\tclickedClientId &&\n\t\t\t\t\t\tclickedClientId !== startClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\tselection.removeAllRanges();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst isSingularSelection = startClientId === endClientId;\n\t\t\t\tif ( isSingularSelection ) {\n\t\t\t\t\tif ( ! isMultiSelecting() ) {\n\t\t\t\t\t\t// If the selection is not collapsed and falls\n\t\t\t\t\t\t// within a RichText that doesn't have focus\n\t\t\t\t\t\t// (e.g. the user started dragging from the block\n\t\t\t\t\t\t// wrapper padding), dispatch a full\n\t\t\t\t\t\t// selectionChange so the format toolbar appears.\n\t\t\t\t\t\tconst richTextElement =\n\t\t\t\t\t\t\t! selection.isCollapsed &&\n\t\t\t\t\t\t\t( getRichTextElement( startNode ) ||\n\t\t\t\t\t\t\t\tgetRichTextElement( endNode ) );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\trichTextElement &&\n\t\t\t\t\t\t\t// The rich text instance syncs the selection\n\t\t\t\t\t\t\t// itself when its element is editable and owns the\n\t\t\t\t\t\t\t// selection (also through a focused editing host).\n\t\t\t\t\t\t\t// It may be temporarily non-editable while a drag\n\t\t\t\t\t\t\t// that started outside it is in progress (see\n\t\t\t\t\t\t\t// rich-text's preventFocusCapture).\n\t\t\t\t\t\t\t( richTextElement.contentEditable !== 'true' ||\n\t\t\t\t\t\t\t\t( ownerDocument.activeElement !==\n\t\t\t\t\t\t\t\t\trichTextElement &&\n\t\t\t\t\t\t\t\t\t! ownsSelection( richTextElement ) ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst range = selection.getRangeAt( 0 );\n\t\t\t\t\t\t\tconst richTextData = create( {\n\t\t\t\t\t\t\t\telement: richTextElement,\n\t\t\t\t\t\t\t\trange,\n\t\t\t\t\t\t\t\t__unstableIsEditableTree: true,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tconst selectionUpdate = {\n\t\t\t\t\t\t\t\tstart: {\n\t\t\t\t\t\t\t\t\tclientId: startClientId,\n\t\t\t\t\t\t\t\t\tattributeKey:\n\t\t\t\t\t\t\t\t\t\trichTextElement.dataset\n\t\t\t\t\t\t\t\t\t\t\t.wpBlockAttributeKey,\n\t\t\t\t\t\t\t\t\toffset: richTextData.start ?? 0,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tend: {\n\t\t\t\t\t\t\t\t\tclientId: startClientId,\n\t\t\t\t\t\t\t\t\tattributeKey:\n\t\t\t\t\t\t\t\t\t\trichTextElement.dataset\n\t\t\t\t\t\t\t\t\t\t\t.wpBlockAttributeKey,\n\t\t\t\t\t\t\t\t\t// Clamp the end offset to the element. A\n\t\t\t\t\t\t\t\t\t// forward selection can overshoot past the\n\t\t\t\t\t\t\t\t\t// rich text (e.g. a triple click extends\n\t\t\t\t\t\t\t\t\t// into the next block at offset 0), leaving\n\t\t\t\t\t\t\t\t\t// `end` undefined; that means the selection\n\t\t\t\t\t\t\t\t\t// reaches through the end of this element's\n\t\t\t\t\t\t\t\t\t// content.\n\t\t\t\t\t\t\t\t\toffset:\n\t\t\t\t\t\t\t\t\t\trichTextData.end ??\n\t\t\t\t\t\t\t\t\t\trichTextData.text.length,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tconst { start, end } = selectionUpdate;\n\t\t\t\t\t\t\tconst selectionStart = getSelectionStart();\n\t\t\t\t\t\t\tconst selectionEnd = getSelectionEnd();\n\n\t\t\t\t\t\t\t// Skip the dispatch when the store already holds\n\t\t\t\t\t\t\t// the same selection.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tselectionStart.clientId !== start.clientId ||\n\t\t\t\t\t\t\t\tselectionEnd.clientId !== end.clientId ||\n\t\t\t\t\t\t\t\tselectionStart.attributeKey !==\n\t\t\t\t\t\t\t\t\tstart.attributeKey ||\n\t\t\t\t\t\t\t\tselectionStart.offset !== start.offset ||\n\t\t\t\t\t\t\t\tselectionEnd.offset !== end.offset\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tselectionChange( selectionUpdate );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tselectBlock( startClientId );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmultiSelect( startClientId, startClientId );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst startPath = [\n\t\t\t\t\t\t...getBlockParents( startClientId ),\n\t\t\t\t\t\tstartClientId,\n\t\t\t\t\t];\n\t\t\t\t\tconst endPath = [\n\t\t\t\t\t\t...getBlockParents( endClientId ),\n\t\t\t\t\t\tendClientId,\n\t\t\t\t\t];\n\t\t\t\t\tconst depth = findDepth( startPath, endPath );\n\n\t\t\t\t\t// If one path ends before they diverge, one block\n\t\t\t\t\t// contains the other, so there are no sibling blocks\n\t\t\t\t\t// to promote the selection to. Record the selection as\n\t\t\t\t\t// is: it resolves to the outer block, which is treated\n\t\t\t\t\t// as fully selected. See `getSelectionNestingAncestor`\n\t\t\t\t\t// in the store.\n\t\t\t\t\tconst isAncestorDescendant =\n\t\t\t\t\t\tdepth >= startPath.length || depth >= endPath.length;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAncestorDescendant &&\n\t\t\t\t\t\t( startPath[ depth ] !== startClientId ||\n\t\t\t\t\t\t\tendPath[ depth ] !== endClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tmultiSelect( startPath[ depth ], endPath[ depth ] );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst richTextElementStart =\n\t\t\t\t\t\tgetRichTextElement( startNode );\n\t\t\t\t\tconst richTextElementEnd = getRichTextElement( endNode );\n\n\t\t\t\t\tif ( richTextElementStart && richTextElementEnd ) {\n\t\t\t\t\t\tconst range = selection.getRangeAt( 0 );\n\t\t\t\t\t\tconst richTextDataStart = create( {\n\t\t\t\t\t\t\telement: richTextElementStart,\n\t\t\t\t\t\t\trange,\n\t\t\t\t\t\t\t__unstableIsEditableTree: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tconst richTextDataEnd = create( {\n\t\t\t\t\t\t\telement: richTextElementEnd,\n\t\t\t\t\t\t\trange,\n\t\t\t\t\t\t\t__unstableIsEditableTree: true,\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tconst startOffset =\n\t\t\t\t\t\t\trichTextDataStart.start ?? richTextDataStart.end;\n\t\t\t\t\t\tconst endOffset =\n\t\t\t\t\t\t\trichTextDataEnd.start ?? richTextDataEnd.end;\n\t\t\t\t\t\tselectionChange( {\n\t\t\t\t\t\t\tstart: {\n\t\t\t\t\t\t\t\tclientId: startClientId,\n\t\t\t\t\t\t\t\tattributeKey:\n\t\t\t\t\t\t\t\t\trichTextElementStart.dataset\n\t\t\t\t\t\t\t\t\t\t.wpBlockAttributeKey,\n\t\t\t\t\t\t\t\toffset: startOffset,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tend: {\n\t\t\t\t\t\t\t\tclientId: endClientId,\n\t\t\t\t\t\t\t\tattributeKey:\n\t\t\t\t\t\t\t\t\trichTextElementEnd.dataset\n\t\t\t\t\t\t\t\t\t\t.wpBlockAttributeKey,\n\t\t\t\t\t\t\t\toffset: endOffset,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmultiSelect( startClientId, endClientId );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Native `selectionchange` events are asynchronous: a clipboard\n\t\t\t// event may fire before the store has been updated with a cross\n\t\t\t// block selection that was just made. Sync it before the clipboard\n\t\t\t// handlers (bubble phase) read the store.\n\t\t\tfunction ensureMultiBlockSelectionSync( event ) {\n\t\t\t\tconst selection = defaultView.getSelection();\n\n\t\t\t\tif ( ! selection.rangeCount || selection.isCollapsed ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Only a selection across different blocks needs to be synced\n\t\t\t\t// here; rich text owns selections within a single block.\n\t\t\t\tconst startClientId = getBlockClientId(\n\t\t\t\t\textractSelectionStartNode( selection )\n\t\t\t\t);\n\t\t\t\tconst endClientId = getBlockClientId(\n\t\t\t\t\textractSelectionEndNode( selection, isTripleClick )\n\t\t\t\t);\n\n\t\t\t\tif ( startClientId !== endClientId ) {\n\t\t\t\t\tonSelectionChange( event );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\townerDocument.addEventListener(\n\t\t\t\t'selectionchange',\n\t\t\t\tonSelectionChange\n\t\t\t);\n\t\t\tfunction onMouseUp( event ) {\n\t\t\t\tonSelectionChange( event );\n\t\t\t\tstopMultiSelect();\n\t\t\t}\n\n\t\t\tdefaultView.addEventListener( 'mouseup', onMouseUp );\n\t\t\tnode.addEventListener( 'mousedown', onMouseDown );\n\t\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\t\townerDocument.addEventListener(\n\t\t\t\t'copy',\n\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\townerDocument.addEventListener(\n\t\t\t\t'cut',\n\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\townerDocument.addEventListener(\n\t\t\t\t'paste',\n\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn () => {\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tonSelectionChange\n\t\t\t\t);\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\tnode.removeEventListener( 'mousedown', onMouseDown );\n\t\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'copy',\n\t\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'cut',\n\t\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'paste',\n\t\t\t\t\tensureMultiBlockSelectionSync,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\t[ multiSelect, selectBlock, selectionChange, getBlockParents ]\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,WAAW,mBAAmB;AACvC,SAAS,oBAAoB;AAC7B;AAAA,EACC;AAAA,EACA,eAAe;AAAA,OACT;AACP,SAAS,0BAA0B;AACnC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,wBAAwB;AACjC,SAAS,iCAAiC;AAC1C,SAAS,cAAc;AAEvB,IAAM,EAAE,cAAc,IAAI,OAAQ,mBAAoB;AAUtD,SAAS,0BAA2B,WAAY;AAC/C,QAAM,EAAE,YAAY,aAAa,IAAI;AAErC,MAAK,WAAW,aAAa,WAAW,WAAY;AACnD,WAAO;AAAA,EACR;AAEA,MAAK,iBAAiB,GAAI;AACzB,WAAO;AAAA,EACR;AAEA,SAAO,WAAW,WAAY,eAAe,CAAE;AAChD;AAaA,SAAS,wBAAyB,WAAW,eAAgB;AAC5D,QAAM,EAAE,WAAW,YAAY,IAAI;AAEnC,MAAK,UAAU,aAAa,UAAU,WAAY;AACjD,WAAO;AAAA,EACR;AAEA,MAAK,gBAAgB,UAAU,WAAW,QAAS;AAClD,WAAO;AAAA,EACR;AASA,MACC,gBAAgB,KAChB,mBAAoB,SAAU,KAC9B,eACC;AACD,WAAO,UAAU,mBAAmB,UAAU;AAAA,EAC/C;AAEA,SAAO,UAAU,WAAY,WAAY;AAC1C;AAEA,SAAS,UAAW,GAAG,GAAI;AAC1B,MAAI,QAAQ;AAEZ,SAAQ,EAAG,KAAM,MAAM,EAAG,KAAM,GAAI;AACnC;AAAA,EACD;AAEA,SAAO;AACR;AAEA,SAAS,mBAAoB,MAAO;AACnC,QAAM,UACL,KAAK,aAAa,KAAK,eAAe,OAAO,KAAK;AACnD,SAAO,SAAS,QAAS,+BAAgC;AAC1D;AAKe,SAAR,uBAAwC;AAC9C,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,YAAa,gBAAiB;AAClC,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,OAAQ,UAAW,gBAAiB,CAAE;AAC1C,SAAO;AAAA,IACN,CAAE,SAAU;AACX,YAAM,EAAE,cAAc,IAAI;AAC1B,YAAM,EAAE,YAAY,IAAI;AAExB,UAAI,gBAAgB;AAEpB,eAAS,YAAa,OAAQ;AAC7B,wBAAgB,MAAM,WAAW;AAMjC,YAAK,MAAM,UAAW;AACrB,2BAAiB;AAAA,QAClB;AAAA,MACD;AAEA,eAAS,YAAY;AACpB,wBAAgB;AAAA,MACjB;AAEA,eAAS,kBAAmB,OAAQ;AACnC,cAAM,YAAY,YAAY,aAAa;AAE3C,YAAK,CAAE,UAAU,YAAa;AAC7B;AAAA,QACD;AAEA,cAAM,YAAY,0BAA2B,SAAU;AACvD,cAAM,UAAU;AAAA,UACf;AAAA,UACA;AAAA,QACD;AAEA,YACC,CAAE,KAAK,SAAU,SAAU,KAC3B,CAAE,KAAK,SAAU,OAAQ,GACxB;AACD;AAAA,QACD;AAQA,cAAM,eAAe,MAAM,YAAY,MAAM,SAAS;AACtD,YAAK,UAAU,eAAe,CAAE,cAAe;AAC9C,gBAAM,oBAAoB,iBAAkB,SAAU;AAMtD,cACC,CAAE,iBAAiB,KACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAOA,sBAAsB,yBAAyB,KAC/C,oBAAqB,iBAAkB,GACtC;AACD,sCAA2B,MAAM,IAAK;AAStC,kBAAM,EAAE,cAAc,IAAI;AAC1B,gBACC,kBAAkB,QAClB,eAAe,qBACf,KAAK,SAAU,aAAc,KAC7B,iBAAkB,aAAc,MAC/B,mBACA;AACD,mBAAK,MAAM;AAAA,YACZ;AACA;AAAA,UACD;AAEA,cACC,KAAK,oBAAoB,UACzB,CAAE,iBAAiB,GAClB;AACD,sCAA2B,MAAM,KAAM;AACvC,gBAAI,UACH,UAAU,aAAa,UAAU,eAC9B,YACA,UAAU;AACd,sBAAU,SAAS,QAAS,mBAAoB;AAChD,qBAAS,MAAM;AAAA,UAChB;AACA;AAAA,QACD;AAEA,YAAI,gBAAgB,iBAAkB,SAAU;AAChD,YAAI,cAAc,iBAAkB,OAAQ;AAK5C,YAAK,cAAe;AACnB,gBAAM,mBAAmB,uBAAuB;AAChD,gBAAM,kBAAkB,iBAAkB,MAAM,MAAO;AAGvD,gBAAM,2BACL,oBAAoB;AACrB,cACG,kBAAkB,eACnB,UAAU,eACX,CAAE,eACF,0BACC;AACD,0BAAc;AAAA,UACf;AAGA,cAAK,kBAAkB,kBAAmB;AACzC,4BAAgB;AAAA,UACjB;AAAA,QACD;AAGA,YACC,kBAAkB,UAClB,gBAAgB,QACf;AACD,oCAA2B,MAAM,KAAM;AACvC;AAAA,QACD;AAMA,YACC,MAAM,SAAS,aACf,CAAE,MAAM,YACR,CAAE,iBAAiB,KACnB,kBAAkB,aACjB;AACD,gBAAM,kBAAkB,iBAAkB,MAAM,MAAO;AACvD,cACC,mBACA,oBAAoB,eACnB;AACD,sBAAU,gBAAgB;AAC1B;AAAA,UACD;AAAA,QACD;AACA,cAAM,sBAAsB,kBAAkB;AAC9C,YAAK,qBAAsB;AAC1B,cAAK,CAAE,iBAAiB,GAAI;AAM3B,kBAAM,kBACL,CAAE,UAAU,gBACV,mBAAoB,SAAU,KAC/B,mBAAoB,OAAQ;AAE9B,gBACC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAOE,gBAAgB,oBAAoB,UACnC,cAAc,kBACf,mBACA,CAAE,cAAe,eAAgB,IAClC;AACD,oBAAM,QAAQ,UAAU,WAAY,CAAE;AACtC,oBAAM,eAAe,OAAQ;AAAA,gBAC5B,SAAS;AAAA,gBACT;AAAA,gBACA,0BAA0B;AAAA,cAC3B,CAAE;AACF,oBAAM,kBAAkB;AAAA,gBACvB,OAAO;AAAA,kBACN,UAAU;AAAA,kBACV,cACC,gBAAgB,QACd;AAAA,kBACH,QAAQ,aAAa,SAAS;AAAA,gBAC/B;AAAA,gBACA,KAAK;AAAA,kBACJ,UAAU;AAAA,kBACV,cACC,gBAAgB,QACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAQH,QACC,aAAa,OACb,aAAa,KAAK;AAAA,gBACpB;AAAA,cACD;AACA,oBAAM,EAAE,OAAO,IAAI,IAAI;AACvB,oBAAM,iBAAiB,kBAAkB;AACzC,oBAAM,eAAe,gBAAgB;AAIrC,kBACC,eAAe,aAAa,MAAM,YAClC,aAAa,aAAa,IAAI,YAC9B,eAAe,iBACd,MAAM,gBACP,eAAe,WAAW,MAAM,UAChC,aAAa,WAAW,IAAI,QAC3B;AACD,gCAAiB,eAAgB;AAAA,cAClC;AAAA,YACD,OAAO;AACN,0BAAa,aAAc;AAAA,YAC5B;AAAA,UACD,OAAO;AACN,wBAAa,eAAe,aAAc;AAAA,UAC3C;AAAA,QACD,OAAO;AACN,gBAAM,YAAY;AAAA,YACjB,GAAG,gBAAiB,aAAc;AAAA,YAClC;AAAA,UACD;AACA,gBAAM,UAAU;AAAA,YACf,GAAG,gBAAiB,WAAY;AAAA,YAChC;AAAA,UACD;AACA,gBAAM,QAAQ,UAAW,WAAW,OAAQ;AAQ5C,gBAAM,uBACL,SAAS,UAAU,UAAU,SAAS,QAAQ;AAE/C,cACC,CAAE,yBACA,UAAW,KAAM,MAAM,iBACxB,QAAS,KAAM,MAAM,cACrB;AACD,wBAAa,UAAW,KAAM,GAAG,QAAS,KAAM,CAAE;AAClD;AAAA,UACD;AAEA,gBAAM,uBACL,mBAAoB,SAAU;AAC/B,gBAAM,qBAAqB,mBAAoB,OAAQ;AAEvD,cAAK,wBAAwB,oBAAqB;AACjD,kBAAM,QAAQ,UAAU,WAAY,CAAE;AACtC,kBAAM,oBAAoB,OAAQ;AAAA,cACjC,SAAS;AAAA,cACT;AAAA,cACA,0BAA0B;AAAA,YAC3B,CAAE;AACF,kBAAM,kBAAkB,OAAQ;AAAA,cAC/B,SAAS;AAAA,cACT;AAAA,cACA,0BAA0B;AAAA,YAC3B,CAAE;AAEF,kBAAM,cACL,kBAAkB,SAAS,kBAAkB;AAC9C,kBAAM,YACL,gBAAgB,SAAS,gBAAgB;AAC1C,4BAAiB;AAAA,cAChB,OAAO;AAAA,gBACN,UAAU;AAAA,gBACV,cACC,qBAAqB,QACnB;AAAA,gBACH,QAAQ;AAAA,cACT;AAAA,cACA,KAAK;AAAA,gBACJ,UAAU;AAAA,gBACV,cACC,mBAAmB,QACjB;AAAA,gBACH,QAAQ;AAAA,cACT;AAAA,YACD,CAAE;AAAA,UACH,OAAO;AACN,wBAAa,eAAe,WAAY;AAAA,UACzC;AAAA,QACD;AAAA,MACD;AAMA,eAAS,8BAA+B,OAAQ;AAC/C,cAAM,YAAY,YAAY,aAAa;AAE3C,YAAK,CAAE,UAAU,cAAc,UAAU,aAAc;AACtD;AAAA,QACD;AAIA,cAAM,gBAAgB;AAAA,UACrB,0BAA2B,SAAU;AAAA,QACtC;AACA,cAAM,cAAc;AAAA,UACnB,wBAAyB,WAAW,aAAc;AAAA,QACnD;AAEA,YAAK,kBAAkB,aAAc;AACpC,4BAAmB,KAAM;AAAA,QAC1B;AAAA,MACD;AAEA,oBAAc;AAAA,QACb;AAAA,QACA;AAAA,MACD;AACA,eAAS,UAAW,OAAQ;AAC3B,0BAAmB,KAAM;AACzB,wBAAgB;AAAA,MACjB;AAEA,kBAAY,iBAAkB,WAAW,SAAU;AACnD,WAAK,iBAAkB,aAAa,WAAY;AAChD,WAAK,iBAAkB,WAAW,SAAU;AAC5C,oBAAc;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACA,oBAAc;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACA,oBAAc;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACA,aAAO,MAAM;AACZ,sBAAc;AAAA,UACb;AAAA,UACA;AAAA,QACD;AACA,oBAAY,oBAAqB,WAAW,SAAU;AACtD,aAAK,oBAAqB,aAAa,WAAY;AACnD,aAAK,oBAAqB,WAAW,SAAU;AAC/C,sBAAc;AAAA,UACb;AAAA,UACA;AAAA,UACA;AAAA,QACD;AACA,sBAAc;AAAA,UACb;AAAA,UACA;AAAA,UACA;AAAA,QACD;AACA,sBAAc;AAAA,UACb;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,aAAa,aAAa,iBAAiB,eAAgB;AAAA,EAC9D;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -107,7 +107,9 @@ function useTabNav() {
|
|
|
107
107
|
next.current.focus({ preventScroll: true });
|
|
108
108
|
}
|
|
109
109
|
function onFocusOut(event) {
|
|
110
|
-
|
|
110
|
+
if (!node.contains(event.relatedTarget)) {
|
|
111
|
+
setLastFocus({ current: event.target });
|
|
112
|
+
}
|
|
111
113
|
const { ownerDocument: ownerDocument2 } = node;
|
|
112
114
|
if (!event.relatedTarget && event.target.hasAttribute("data-block") && ownerDocument2.activeElement === ownerDocument2.body && getBlockCount() === 0) {
|
|
113
115
|
node.focus();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/writing-flow/use-tab-nav.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { focus, isFormElement } from '@wordpress/dom';\nimport { TAB } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect, useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\nimport { store as blockEditorStore } from '../../store';\nimport { isInSameBlock, isInsideRootBlock } from '../../utils/dom';\nimport { unlock } from '../../lock-unlock';\n\nexport default function useTabNav() {\n\tconst containerRef = /** @type {typeof useRef<HTMLElement>} */ ( useRef )();\n\tconst focusCaptureBeforeRef = useRef();\n\tconst focusCaptureAfterRef = useRef();\n\n\tconst {\n\t\thasMultiSelection,\n\t\tgetSelectedBlockClientId,\n\t\tgetBlockCount,\n\t\tgetBlockOrder,\n\t\tgetLastFocus,\n\t\tgetSectionRootClientId,\n\t\tisZoomOut,\n\t} = unlock( useSelect( blockEditorStore ) );\n\tconst { setLastFocus } = unlock( useDispatch( blockEditorStore ) );\n\n\t// Reference that holds the a flag for enabling or disabling\n\t// capturing on the focus capture elements.\n\tconst noCaptureRef = useRef();\n\n\tfunction onFocusCapture( event ) {\n\t\tconst canvasElement =\n\t\t\tcontainerRef.current.ownerDocument === event.target.ownerDocument\n\t\t\t\t? containerRef.current\n\t\t\t\t: containerRef.current.ownerDocument.defaultView.frameElement;\n\n\t\t// Do not capture incoming focus if set by us in WritingFlow.\n\t\tif ( noCaptureRef.current ) {\n\t\t\tnoCaptureRef.current = null;\n\t\t} else if ( hasMultiSelection() ) {\n\t\t\tcontainerRef.current.focus();\n\t\t} else if ( getSelectedBlockClientId() ) {\n\t\t\tif ( getLastFocus()?.current ) {\n\t\t\t\tgetLastFocus().current.focus();\n\t\t\t} else {\n\t\t\t\t// Handles when the last focus has not been set yet, or has been cleared by new blocks being added via the inserter.\n\t\t\t\tcontainerRef.current\n\t\t\t\t\t.querySelector(\n\t\t\t\t\t\t`[data-block=\"${ getSelectedBlockClientId() }\"]`\n\t\t\t\t\t)\n\t\t\t\t\t.focus();\n\t\t\t}\n\t\t}\n\t\t// In \"compose\" mode without a selected ID, we want to place focus on the section root when tabbing to the canvas.\n\t\telse if ( isZoomOut() ) {\n\t\t\tconst sectionRootClientId = getSectionRootClientId();\n\t\t\tconst sectionBlocks = getBlockOrder( sectionRootClientId );\n\n\t\t\t// If we have section within the section root, focus the first one.\n\t\t\tif ( sectionBlocks.length ) {\n\t\t\t\tcontainerRef.current\n\t\t\t\t\t.querySelector( `[data-block=\"${ sectionBlocks[ 0 ] }\"]` )\n\t\t\t\t\t.focus();\n\t\t\t}\n\t\t\t// If we don't have any section blocks, focus the section root.\n\t\t\telse if ( sectionRootClientId ) {\n\t\t\t\tcontainerRef.current\n\t\t\t\t\t.querySelector( `[data-block=\"${ sectionRootClientId }\"]` )\n\t\t\t\t\t.focus();\n\t\t\t} else {\n\t\t\t\t// If we don't have any section root, focus the canvas.\n\t\t\t\tcanvasElement.focus();\n\t\t\t}\n\t\t} else {\n\t\t\tconst isBefore =\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tevent.target.compareDocumentPosition( canvasElement ) &\n\t\t\t\tevent.target.DOCUMENT_POSITION_FOLLOWING;\n\t\t\tconst tabbables = focus.tabbable.find( containerRef.current );\n\t\t\tif ( tabbables.length ) {\n\t\t\t\tconst next = isBefore\n\t\t\t\t\t? tabbables[ 0 ]\n\t\t\t\t\t: tabbables[ tabbables.length - 1 ];\n\t\t\t\tnext.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst before = (\n\t\t<div\n\t\t\tref={ focusCaptureBeforeRef }\n\t\t\ttabIndex=\"0\"\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst after = (\n\t\t<div\n\t\t\tref={ focusCaptureAfterRef }\n\t\t\ttabIndex=\"0\"\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst ref = useRefEffect( ( node ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// In Edit mode, Tab should focus the first tabbable element after\n\t\t\t// the content, which is normally the sidebar (with block controls)\n\t\t\t// and Shift+Tab should focus the first tabbable element before the\n\t\t\t// content, which is normally the block toolbar.\n\t\t\t// Arrow keys can be used, and Tab and arrow keys can be used in\n\t\t\t// Navigation mode (press Esc), to navigate through blocks.\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// Bails in case the focus capture elements aren’t present. They\n\t\t\t\t// may be omitted to avoid silent tab stops in preview mode.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/59317\n\t\t\t\t! focusCaptureAfterRef.current ||\n\t\t\t\t! focusCaptureBeforeRef.current\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { target, shiftKey: isShift } = event;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\t\t\tconst nextTabbable = focus.tabbable[ direction ]( target );\n\n\t\t\t// We want to constrain the tabbing to the block and its child blocks.\n\t\t\t// If the preceding form element is within a different block,\n\t\t\t// such as two sibling image blocks in the placeholder state,\n\t\t\t// we want shift + tab from the first form element to move to the image\n\t\t\t// block toolbar and not the previous image block's form element.\n\t\t\tconst currentBlock = target.closest( '[data-block]' );\n\t\t\tconst isElementPartOfSelectedBlock =\n\t\t\t\tcurrentBlock &&\n\t\t\t\tnextTabbable &&\n\t\t\t\t( isInSameBlock( currentBlock, nextTabbable ) ||\n\t\t\t\t\tisInsideRootBlock( currentBlock, nextTabbable ) );\n\n\t\t\t// Allow tabbing from the block wrapper to a form element,\n\t\t\t// and between form elements rendered in a block and its child blocks,\n\t\t\t// such as inside a placeholder. Form elements are generally\n\t\t\t// meant to be UI rather than part of the content. Ideally\n\t\t\t// these are not rendered in the content and perhaps in the\n\t\t\t// future they can be rendered in an iframe or shadow DOM.\n\t\t\tif (\n\t\t\t\tisFormElement( nextTabbable ) &&\n\t\t\t\tisElementPartOfSelectedBlock\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst next = isShift ? focusCaptureBeforeRef : focusCaptureAfterRef;\n\n\t\t\t// Disable focus capturing on the focus capture element, so it\n\t\t\t// doesn't refocus this block and so it allows default behaviour\n\t\t\t// (moving focus to the next tabbable element).\n\t\t\tnoCaptureRef.current = true;\n\n\t\t\t// Focusing the focus capture element, which is located above and\n\t\t\t// below the editor, should not scroll the page all the way up or\n\t\t\t// down.\n\t\t\tnext.current.focus( { preventScroll: true } );\n\t\t}\n\n\t\tfunction onFocusOut( event ) {\n\t\t\t// `focusout` also fires when focus moves between elements within the\n\t\t\t// canvas, but only the element focus left the canvas from is of\n\t\t\t// interest. `contains` is false for a null `relatedTarget`, which is\n\t\t\t// what focus moving to another document reports.\n\t\t\tif ( ! node.contains( event.relatedTarget ) ) {\n\t\t\t\tsetLastFocus( { current: event.target } );\n\t\t\t}\n\n\t\t\tconst { ownerDocument } = node;\n\n\t\t\t// If focus disappears due to there being no blocks, move focus to\n\t\t\t// the writing flow wrapper.\n\t\t\tif (\n\t\t\t\t! event.relatedTarget &&\n\t\t\t\tevent.target.hasAttribute( 'data-block' ) &&\n\t\t\t\townerDocument.activeElement === ownerDocument.body &&\n\t\t\t\tgetBlockCount() === 0\n\t\t\t) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t}\n\n\t\t// When tabbing back to an element in block list, this event handler prevents scrolling if the\n\t\t// focus capture divs (before/after) are outside of the viewport. (For example shift+tab back to a paragraph\n\t\t// when focus is on a sidebar element. This prevents the scrollable writing area from jumping either to the\n\t\t// top or bottom of the document.\n\t\t//\n\t\t// Note that it isn't possible to disable scrolling in the onFocus event. We need to intercept this\n\t\t// earlier in the keypress handler, and call focus( { preventScroll: true } ) instead.\n\t\t// https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus#parameters\n\t\tfunction preventScrollOnTab( event ) {\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.target?.getAttribute( 'role' ) === 'region' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( containerRef.current === event.target ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\t\t\tconst target = focus.tabbable[ direction ]( event.target );\n\t\t\t// Only do something when the next tabbable is a focus capture div (before/after)\n\t\t\tif (\n\t\t\t\ttarget === focusCaptureBeforeRef.current ||\n\t\t\t\ttarget === focusCaptureAfterRef.current\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttarget.focus( { preventScroll: true } );\n\t\t\t}\n\t\t}\n\n\t\tconst { ownerDocument } = node;\n\t\tconst { defaultView } = ownerDocument;\n\t\tdefaultView.addEventListener( 'keydown', preventScrollOnTab );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\tnode.addEventListener( 'focusout', onFocusOut );\n\t\treturn () => {\n\t\t\tdefaultView.removeEventListener( 'keydown', preventScrollOnTab );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\tnode.removeEventListener( 'focusout', onFocusOut );\n\t\t};\n\t}, [] );\n\n\tconst mergedRefs = useMergeRefs( [ containerRef, ref ] );\n\n\treturn [ before, mergedRefs, after ];\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,OAAO,qBAAqB;AACrC,SAAS,WAAW;AACpB,SAAS,WAAW,mBAAmB;AACvC,SAAS,cAAc,oBAAoB;AAC3C,SAAS,cAAc;AACvB,SAAS,SAAS,wBAAwB;AAC1C,SAAS,eAAe,yBAAyB;AACjD,SAAS,cAAc;AAiFrB;AA/Ea,SAAR,YAA6B;AACnC,QAAM;AAAA;AAAA,IAA2D,OAAS;AAAA;AAC1E,QAAM,wBAAwB,OAAO;AACrC,QAAM,uBAAuB,OAAO;AAEpC,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,OAAQ,UAAW,gBAAiB,CAAE;AAC1C,QAAM,EAAE,aAAa,IAAI,OAAQ,YAAa,gBAAiB,CAAE;AAIjE,QAAM,eAAe,OAAO;AAE5B,WAAS,eAAgB,OAAQ;AAChC,UAAM,gBACL,aAAa,QAAQ,kBAAkB,MAAM,OAAO,gBACjD,aAAa,UACb,aAAa,QAAQ,cAAc,YAAY;AAGnD,QAAK,aAAa,SAAU;AAC3B,mBAAa,UAAU;AAAA,IACxB,WAAY,kBAAkB,GAAI;AACjC,mBAAa,QAAQ,MAAM;AAAA,IAC5B,WAAY,yBAAyB,GAAI;AACxC,UAAK,aAAa,GAAG,SAAU;AAC9B,qBAAa,EAAE,QAAQ,MAAM;AAAA,MAC9B,OAAO;AAEN,qBAAa,QACX;AAAA,UACA,gBAAiB,yBAAyB,CAAE;AAAA,QAC7C,EACC,MAAM;AAAA,MACT;AAAA,IACD,WAEU,UAAU,GAAI;AACvB,YAAM,sBAAsB,uBAAuB;AACnD,YAAM,gBAAgB,cAAe,mBAAoB;AAGzD,UAAK,cAAc,QAAS;AAC3B,qBAAa,QACX,cAAe,gBAAiB,cAAe,CAAE,CAAE,IAAK,EACxD,MAAM;AAAA,MACT,WAEU,qBAAsB;AAC/B,qBAAa,QACX,cAAe,gBAAiB,mBAAoB,IAAK,EACzD,MAAM;AAAA,MACT,OAAO;AAEN,sBAAc,MAAM;AAAA,MACrB;AAAA,IACD,OAAO;AACN,YAAM;AAAA;AAAA,QAEL,MAAM,OAAO,wBAAyB,aAAc,IACpD,MAAM,OAAO;AAAA;AACd,YAAM,YAAY,MAAM,SAAS,KAAM,aAAa,OAAQ;AAC5D,UAAK,UAAU,QAAS;AACvB,cAAM,OAAO,WACV,UAAW,CAAE,IACb,UAAW,UAAU,SAAS,CAAE;AACnC,aAAK,MAAM;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AAEA,QAAM,SACL;AAAA,IAAC;AAAA;AAAA,MACA,KAAM;AAAA,MACN,UAAS;AAAA,MACT,SAAU;AAAA;AAAA,EACX;AAGD,QAAM,QACL;AAAA,IAAC;AAAA;AAAA,MACA,KAAM;AAAA,MACN,UAAS;AAAA,MACT,SAAU;AAAA;AAAA,EACX;AAGD,QAAM,MAAM,aAAc,CAAE,SAAU;AACrC,aAAS,UAAW,OAAQ;AAC3B,UAAK,MAAM,kBAAmB;AAC7B;AAAA,MACD;AAQA,UAAK,MAAM,YAAY,KAAM;AAC5B;AAAA,MACD;AAEA;AAAA;AAAA;AAAA;AAAA,QAIC,CAAE,qBAAqB,WACvB,CAAE,sBAAsB;AAAA,QACvB;AACD;AAAA,MACD;AAEA,YAAM,EAAE,QAAQ,UAAU,QAAQ,IAAI;AACtC,YAAM,YAAY,UAAU,iBAAiB;AAC7C,YAAM,eAAe,MAAM,SAAU,SAAU,EAAG,MAAO;AAOzD,YAAM,eAAe,OAAO,QAAS,cAAe;AACpD,YAAM,+BACL,gBACA,iBACE,cAAe,cAAc,YAAa,KAC3C,kBAAmB,cAAc,YAAa;AAQhD,UACC,cAAe,YAAa,KAC5B,8BACC;AACD;AAAA,MACD;AACA,YAAM,OAAO,UAAU,wBAAwB;AAK/C,mBAAa,UAAU;AAKvB,WAAK,QAAQ,MAAO,EAAE,eAAe,KAAK,CAAE;AAAA,IAC7C;AAEA,aAAS,WAAY,OAAQ;AAK5B,UAAK,CAAE,KAAK,SAAU,MAAM,aAAc,GAAI;AAC7C,qBAAc,EAAE,SAAS,MAAM,OAAO,CAAE;AAAA,MACzC;AAEA,YAAM,EAAE,eAAAA,eAAc,IAAI;AAI1B,UACC,CAAE,MAAM,iBACR,MAAM,OAAO,aAAc,YAAa,KACxCA,eAAc,kBAAkBA,eAAc,QAC9C,cAAc,MAAM,GACnB;AACD,aAAK,MAAM;AAAA,MACZ;AAAA,IACD;AAUA,aAAS,mBAAoB,OAAQ;AACpC,UAAK,MAAM,YAAY,KAAM;AAC5B;AAAA,MACD;AAEA,UAAK,MAAM,QAAQ,aAAc,MAAO,MAAM,UAAW;AACxD;AAAA,MACD;AAEA,UAAK,aAAa,YAAY,MAAM,QAAS;AAC5C;AAAA,MACD;AAEA,YAAM,UAAU,MAAM;AACtB,YAAM,YAAY,UAAU,iBAAiB;AAC7C,YAAM,SAAS,MAAM,SAAU,SAAU,EAAG,MAAM,MAAO;AAEzD,UACC,WAAW,sBAAsB,WACjC,WAAW,qBAAqB,SAC/B;AACD,cAAM,eAAe;AACrB,eAAO,MAAO,EAAE,eAAe,KAAK,CAAE;AAAA,MACvC;AAAA,IACD;AAEA,UAAM,EAAE,cAAc,IAAI;AAC1B,UAAM,EAAE,YAAY,IAAI;AACxB,gBAAY,iBAAkB,WAAW,kBAAmB;AAC5D,SAAK,iBAAkB,WAAW,SAAU;AAC5C,SAAK,iBAAkB,YAAY,UAAW;AAC9C,WAAO,MAAM;AACZ,kBAAY,oBAAqB,WAAW,kBAAmB;AAC/D,WAAK,oBAAqB,WAAW,SAAU;AAC/C,WAAK,oBAAqB,YAAY,UAAW;AAAA,IAClD;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,aAAa,aAAc,CAAE,cAAc,GAAI,CAAE;AAEvD,SAAO,CAAE,QAAQ,YAAY,KAAM;AACpC;",
|
|
6
6
|
"names": ["ownerDocument"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/writing-flow/utils.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tserialize,\n\tcreateBlock,\n\tpasteHandler,\n\tfindTransform,\n\tgetBlockTransforms,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { getPasteEventData } from '../../utils/pasting';\nimport { store as blockEditorStore } from '../../store';\n\nexport const requiresWrapperOnCopy = Symbol( 'requiresWrapperOnCopy' );\n\n/**\n * Sets the clipboard data for the provided blocks, with both HTML and plain\n * text representations.\n *\n * @param {ClipboardEvent} event Clipboard event.\n * @param {WPBlock[]} blocks Blocks to set as clipboard data.\n * @param {Object} registry The registry to select from.\n */\nexport function setClipboardBlocks( event, blocks, registry ) {\n\tlet _blocks = blocks;\n\n\tconst [ firstBlock ] = blocks;\n\n\tif ( firstBlock ) {\n\t\tconst firstBlockType = registry\n\t\t\t.select( blocksStore )\n\t\t\t.getBlockType( firstBlock.name );\n\n\t\tif ( firstBlockType[ requiresWrapperOnCopy ] ) {\n\t\t\tconst { getBlockRootClientId, getBlockName, getBlockAttributes } =\n\t\t\t\tregistry.select( blockEditorStore );\n\t\t\tconst wrapperBlockClientId = getBlockRootClientId(\n\t\t\t\tfirstBlock.clientId\n\t\t\t);\n\t\t\tconst wrapperBlockName = getBlockName( wrapperBlockClientId );\n\n\t\t\tif ( wrapperBlockName ) {\n\t\t\t\t_blocks = createBlock(\n\t\t\t\t\twrapperBlockName,\n\t\t\t\t\tgetBlockAttributes( wrapperBlockClientId ),\n\t\t\t\t\t_blocks\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst serialized = serialize( _blocks );\n\n\tevent.clipboardData.setData( 'text/plain', toPlainText( serialized ) );\n\tevent.clipboardData.setData( 'text/html', serialized );\n}\n\n/**\n * Returns the blocks to be pasted from the clipboard event.\n *\n * @param {ClipboardEvent} event The clipboard event.\n * @param {boolean} canUserUseUnfilteredHTML Whether the user can or can't post unfiltered HTML.\n * @return {Array|string} A list of blocks or a string, depending on `handlerMode`.\n */\nexport function getPasteBlocks( event, canUserUseUnfilteredHTML ) {\n\tconst { plainText, html, files } = getPasteEventData( event );\n\tlet blocks = [];\n\n\tif ( files.length ) {\n\t\tconst fromTransforms = getBlockTransforms( 'from' );\n\t\tblocks = files\n\t\t\t.reduce( ( accumulator, file ) => {\n\t\t\t\tconst transformation = findTransform(\n\t\t\t\t\tfromTransforms,\n\t\t\t\t\t( transform ) =>\n\t\t\t\t\t\ttransform.type === 'files' &&\n\t\t\t\t\t\ttransform.isMatch( [ file ] )\n\t\t\t\t);\n\t\t\t\tif ( transformation ) {\n\t\t\t\t\taccumulator.push( transformation.transform( [ file ] ) );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, [] )\n\t\t\t.flat();\n\t} else {\n\t\tblocks = pasteHandler( {\n\t\t\tHTML: html,\n\t\t\tplainText,\n\t\t\tmode: 'BLOCKS',\n\t\t\tcanUserUseUnfilteredHTML,\n\t\t} );\n\t}\n\n\treturn blocks;\n}\n\n/**\n * Given a string of HTML representing serialized blocks, returns the plain\n * text extracted after stripping the HTML of any tags and fixing line breaks.\n *\n * @param {string} html Serialized blocks.\n * @return {string} The plain-text content with any html removed.\n */\nfunction toPlainText( html ) {\n\t// Manually handle BR tags as line breaks prior to `stripHTML` call\n\thtml = html.replace( /<br>/g, '\\n' );\n\n\tconst plainText = stripHTML( html ).trim();\n\n\t// Merge any consecutive line breaks\n\treturn plainText.replace( /\\n\\n+/g, '\\n\\n' );\n}\n\n/**\n * Makes the wrapper element an editing host, or stops it from being one. The\n * ARIA attributes travel with the editability: while the wrapper is the\n * active editing host it must present as a named multiline textbox, per the\n * WAI-ARIA textbox role, which requires an accessible name.\n *\n * @param {HTMLElement} node Wrapper element.\n * @param {boolean} value Whether the wrapper should be an\n * editing host.\n * @param {Object} options\n * @param {boolean} options.focus Move focus to the wrapper when it\n * becomes an editing host (Firefox does\n * not automatically move it). Default\n * true.\n *\n * @return {boolean} Whether the wrapper is an editing host now.\n */\nexport function setContentEditableWrapper(\n\tnode,\n\tvalue,\n\t{ focus = true } = {}\n) {\n\t// Check first: this is called on every selection change, and setting\n\t// contentEditable triggers a style recalculation.\n\tif ( node.contentEditable === String( value ) ) {\n\t\treturn value;\n\t}\n\n\tnode.contentEditable = value;\n\n\tif ( ! value ) {\n\t\tnode.removeAttribute( 'role' );\n\t\tnode.removeAttribute( 'aria-multiline' );\n\t\tnode.removeAttribute( 'aria-label' );\n\t\treturn false;\n\t}\n\n\t// Only act as an editing host if the environment supports it (JSDOM\n\t// does not implement contentEditable): without editing host semantics\n\t// the wrapper must not claim focus or textbox semantics.\n\tif ( ! node.isContentEditable ) {\n\t\tnode.removeAttribute( 'contenteditable' );\n\t\treturn false;\n\t}\n\n\t// Expose the host as a named multiline textbox so it has a role and\n\t// accessible name once it takes focus. The label is generic because the\n\t// host can span several blocks.\n\tnode.setAttribute( 'role', 'textbox' );\n\tnode.setAttribute( 'aria-multiline', 'true' );\n\tnode.setAttribute( 'aria-label', __( 'Editor canvas' ) );\n\n\tif ( focus ) {\n\t\t// Without preventScroll, focusing the wrapper scrolls the\n\t\t// viewport to the top of the wrapper.\n\t\tnode.focus( { preventScroll: true } );\n\t}\n\n\treturn true;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,uBAAuB,iBAAiB;AACjD;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,OACH;AACP,SAAS,yBAAyB;AAClC,SAAS,SAAS,wBAAwB;AAEnC,IAAM,wBAAwB,uBAAQ,uBAAwB;AAU9D,SAAS,mBAAoB,OAAO,QAAQ,UAAW;AAC7D,MAAI,UAAU;AAEd,QAAM,CAAE,UAAW,IAAI;AAEvB,MAAK,YAAa;AACjB,UAAM,iBAAiB,SACrB,OAAQ,WAAY,EACpB,aAAc,WAAW,IAAK;AAEhC,QAAK,eAAgB,qBAAsB,GAAI;AAC9C,YAAM,EAAE,sBAAsB,cAAc,mBAAmB,IAC9D,SAAS,OAAQ,gBAAiB;AACnC,YAAM,uBAAuB;AAAA,QAC5B,WAAW;AAAA,MACZ;AACA,YAAM,mBAAmB,aAAc,oBAAqB;AAE5D,UAAK,kBAAmB;AACvB,kBAAU;AAAA,UACT;AAAA,UACA,mBAAoB,oBAAqB;AAAA,UACzC;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAEA,QAAM,aAAa,UAAW,OAAQ;AAEtC,QAAM,cAAc,QAAS,cAAc,YAAa,UAAW,CAAE;AACrE,QAAM,cAAc,QAAS,aAAa,UAAW;AACtD;AASO,SAAS,eAAgB,OAAO,0BAA2B;AACjE,QAAM,EAAE,WAAW,MAAM,MAAM,IAAI,kBAAmB,KAAM;AAC5D,MAAI,SAAS,CAAC;AAEd,MAAK,MAAM,QAAS;AACnB,UAAM,iBAAiB,mBAAoB,MAAO;AAClD,aAAS,MACP,OAAQ,CAAE,aAAa,SAAU;AACjC,YAAM,iBAAiB;AAAA,QACtB;AAAA,QACA,CAAE,cACD,UAAU,SAAS,WACnB,UAAU,QAAS,CAAE,IAAK,CAAE;AAAA,MAC9B;AACA,UAAK,gBAAiB;AACrB,oBAAY,KAAM,eAAe,UAAW,CAAE,IAAK,CAAE,CAAE;AAAA,MACxD;AACA,aAAO;AAAA,IACR,GAAG,CAAC,CAAE,EACL,KAAK;AAAA,EACR,OAAO;AACN,aAAS,aAAc;AAAA,MACtB,MAAM;AAAA,MACN;AAAA,MACA,MAAM;AAAA,MACN;AAAA,IACD,CAAE;AAAA,EACH;AAEA,SAAO;AACR;AASA,SAAS,YAAa,MAAO;AAE5B,SAAO,KAAK,QAAS,SAAS,IAAK;AAEnC,QAAM,YAAY,UAAW,IAAK,EAAE,KAAK;AAGzC,SAAO,UAAU,QAAS,UAAU,MAAO;AAC5C;AAmBO,SAAS,0BACf,MACA,OACA,EAAE,QAAQ,KAAK,IAAI,CAAC,GACnB;AAGD,MAAK,KAAK,oBAAoB,OAAQ,KAAM,GAAI;AAC/C,WAAO;AAAA,EACR;AAEA,OAAK,kBAAkB;AAEvB,MAAK,CAAE,OAAQ;AACd,SAAK,gBAAiB,MAAO;AAC7B,SAAK,gBAAiB,gBAAiB;AACvC,SAAK,gBAAiB,YAAa;AACnC,WAAO;AAAA,EACR;AAKA,MAAK,CAAE,KAAK,mBAAoB;AAC/B,SAAK,gBAAiB,iBAAkB;AACxC,WAAO;AAAA,EACR;AAKA,OAAK,aAAc,QAAQ,SAAU;AACrC,OAAK,aAAc,kBAAkB,MAAO;AAC5C,OAAK,aAAc,cAAc,GAAI,eAAgB,CAAE;AAEvD,MAAK,OAAQ;AAGZ,SAAK,MAAO,EAAE,eAAe,KAAK,CAAE;AAAA,EACrC;AAEA,SAAO;AACR;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/writing-mode-control/index.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { textHorizontal, textVertical } from '@wordpress/icons';\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\n\nconst WRITING_MODES = [\n\t{\n\t\tlabel: __( 'Horizontal' ),\n\t\tvalue: 'horizontal-tb',\n\t\ticon: textHorizontal,\n\t},\n\t{\n\t\tlabel: __( 'Vertical' ),\n\t\tvalue: isRTL() ? 'vertical-lr' : 'vertical-rl',\n\t\ticon: textVertical,\n\t},\n];\n\n/**\n * Control to facilitate writing mode selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.className Class name to add to the control.\n * @param {string} props.value Currently selected writing mode.\n * @param {Function} props.onChange Handles change in the writing mode selection.\n *\n * @return {Element} Writing Mode control.\n */\nexport default function WritingModeControl( { className, value, onChange } ) {\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tisDeselectable\n\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\tclassName={ clsx( 'block-editor-writing-mode-control', className ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newValue ) => {\n\t\t\t\tonChange( newValue === value ? undefined : newValue );\n\t\t\t} }\n\t\t>\n\t\t\t{ WRITING_MODES.map( ( option ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\ticon={ option.icon }\n\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,OAAO,UAAU;AACjB,SAAS,IAAI,aAAa;AAC1B,SAAS,gBAAgB,oBAAoB;AAC7C;AAAA,EACC,oCAAoC;AAAA,EACpC,8CAA8C;AAAA,OACxC;AAsCF;AApCL,IAAM,gBAAgB;AAAA,EACrB;AAAA,IACC,OAAO,GAAI,YAAa;AAAA,IACxB,OAAO;AAAA,IACP,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,OAAO,GAAI,UAAW;AAAA,IACtB,OAAO,MAAM,IAAI,gBAAgB;AAAA,IACjC,MAAM;AAAA,EACP;AACD;AAYe,SAAR,mBAAqC,EAAE,WAAW,OAAO,SAAS,GAAI;AAC5E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,gBAAc;AAAA,MACd,OAAQ,GAAI,aAAc;AAAA,MAC1B,WAAY,KAAM,qCAAqC,SAAU;AAAA,MACjE;AAAA,MACA,UAAW,CAAE,aAAc;AAC1B,iBAAU,aAAa,QAAQ,SAAY,QAAS;AAAA,MACrD;AAAA,MAEE,wBAAc,IAAK,CAAE,WAAY;AAClC,eACC;AAAA,UAAC;AAAA;AAAA,YAEA,OAAQ,OAAO;AAAA,YACf,MAAO,OAAO;AAAA,YACd,OAAQ,OAAO;AAAA;AAAA,UAHT,OAAO;AAAA,QAId;AAAA,MAEF,CAAE;AAAA;AAAA,EACH;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/align.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { BlockControls, BlockAlignmentControl } from '../components';\nimport useAvailableAlignments from '../components/block-alignment-control/use-available-alignments';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\n/**\n * An array which includes all possible valid alignments,\n * used to validate if an alignment is valid or not.\n *\n * @constant\n * @type {string[]}\n */\nconst ALL_ALIGNMENTS = [ 'left', 'center', 'right', 'wide', 'full' ];\n\n/**\n * An array which includes all wide alignments.\n * In order for this alignments to be valid they need to be supported by the block,\n * and by the theme.\n *\n * @constant\n * @type {string[]}\n */\nconst WIDE_ALIGNMENTS = [ 'wide', 'full' ];\n\n/**\n * Returns the valid alignments.\n * Takes into consideration the aligns supported by a block, if the block supports wide controls or not and if theme supports wide controls or not.\n * Exported just for testing purposes, not exported outside the module.\n *\n * @param {?boolean|string[]} blockAlign Aligns supported by the block.\n * @param {?boolean} hasWideBlockSupport True if block supports wide alignments. And False otherwise.\n * @param {?boolean} hasWideEnabled True if theme supports wide alignments. And False otherwise.\n *\n * @return {string[]} Valid alignments.\n */\nexport function getValidAlignments(\n\tblockAlign,\n\thasWideBlockSupport = true,\n\thasWideEnabled = true\n) {\n\tlet validAlignments;\n\tif ( Array.isArray( blockAlign ) ) {\n\t\tvalidAlignments = ALL_ALIGNMENTS.filter( ( value ) =>\n\t\t\tblockAlign.includes( value )\n\t\t);\n\t} else if ( blockAlign === true ) {\n\t\t// `true` includes all alignments...\n\t\tvalidAlignments = [ ...ALL_ALIGNMENTS ];\n\t} else {\n\t\tvalidAlignments = [];\n\t}\n\n\tif (\n\t\t! hasWideEnabled ||\n\t\t( blockAlign === true && ! hasWideBlockSupport )\n\t) {\n\t\treturn validAlignments.filter(\n\t\t\t( alignment ) => ! WIDE_ALIGNMENTS.includes( alignment )\n\t\t);\n\t}\n\n\treturn validAlignments;\n}\n\n/**\n * Filters registered block settings, extending attributes to include `align`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( 'type' in ( settings.attributes?.align ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'align' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\t// Allow for '' since it is used by the `updateAlignment` function\n\t\t\t\t// in toolbar controls for special cases with defined default values.\n\t\t\t\tenum: [ ...ALL_ALIGNMENTS, '' ],\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\nfunction BlockEditAlignmentToolbarControlsPure( {\n\tname: blockName,\n\talign,\n\tsetAttributes,\n} ) {\n\t// Compute the block valid alignments by taking into account,\n\t// if the theme supports wide alignments or not and the layout's\n\t// available alignments. We do that for conditionally rendering\n\t// Slot.\n\tconst blockAllowedAlignments = getValidAlignments(\n\t\tgetBlockSupport( blockName, 'align' ),\n\t\thasBlockSupport( blockName, 'alignWide', true )\n\t);\n\n\tconst validAlignments = useAvailableAlignments(\n\t\tblockAllowedAlignments\n\t).map( ( { name } ) => name );\n\tconst blockEditingMode = useBlockEditingMode();\n\tif ( ! validAlignments.length || blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst updateAlignment = ( nextAlign ) => {\n\t\tif ( ! nextAlign ) {\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst blockDefaultAlign = blockType?.attributes?.align?.default;\n\t\t\tif ( blockDefaultAlign ) {\n\t\t\t\tnextAlign = '';\n\t\t\t}\n\t\t}\n\t\tsetAttributes( { align: nextAlign } );\n\t};\n\n\treturn (\n\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t<BlockAlignmentControl\n\t\t\t\tvalue={ align }\n\t\t\t\tonChange={ updateAlignment }\n\t\t\t\tcontrols={ validAlignments }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: BlockEditAlignmentToolbarControlsPure,\n\tuseBlockProps,\n\taddSaveProps: addAssignedAlign,\n\tattributeKeys: [ 'align' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'align', false );\n\t},\n};\n\nfunction useBlockProps( { name, align } ) {\n\tconst blockAllowedAlignments = getValidAlignments(\n\t\tgetBlockSupport( name, 'align' ),\n\t\thasBlockSupport( name, 'alignWide', true )\n\t);\n\tconst validAlignments = useAvailableAlignments( blockAllowedAlignments );\n\n\tif ( validAlignments.some( ( alignment ) => alignment.name === align ) ) {\n\t\treturn { 'data-align': align };\n\t}\n\n\treturn {};\n}\n\n/**\n * Override props assigned to save component to inject alignment class name if\n * block supports it.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addAssignedAlign( props, blockType, attributes ) {\n\tconst { align } = attributes;\n\tconst blockAlign = getBlockSupport( blockType, 'align' );\n\tconst hasWideBlockSupport = hasBlockSupport( blockType, 'alignWide', true );\n\n\t// Compute valid alignments without taking into account if\n\t// the theme supports wide alignments or not.\n\t// This way changing themes does not impact the block save.\n\tconst isAlignValid = getValidAlignments(\n\t\tblockAlign,\n\t\thasWideBlockSupport\n\t).includes( align );\n\tif ( isAlignValid ) {\n\t\tprops.className = clsx( `align${ align }`, props.className );\n\t}\n\n\treturn props;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/align/addAttribute',\n\taddAttribute\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/allowed-blocks.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport, getBlockType } from '@wordpress/blocks';\nimport { PrivateInspectorControlsAllowedBlocks } from '../components/inspector-controls/groups';\nimport BlockAllowedBlocksControl from '../components/block-allowed-blocks/allowed-blocks-control';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\nfunction BlockEditAllowedBlocksControlPure( { clientId } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isContentOnly = blockEditingMode === 'contentOnly';\n\n\tif ( isContentOnly ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PrivateInspectorControlsAllowedBlocks.Fill>\n\t\t\t<BlockAllowedBlocksControl clientId={ clientId } />\n\t\t</PrivateInspectorControlsAllowedBlocks.Fill>\n\t);\n}\n\nexport default {\n\tedit: BlockEditAllowedBlocksControlPure,\n\tattributeKeys: [ 'allowedBlocks' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'allowedBlocks' );\n\t},\n};\n\n/**\n * Filters registered block settings, extending attributes with allowedBlocks.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( settings?.attributes?.allowedBlocks?.type ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'allowedBlocks' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tallowedBlocks: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/allowedBlocks/attribute',\n\taddAttribute\n);\n\n/**\n * Add transforms to preserve allowedBlocks on block transformations.\n *\n * @param {Object} result The transformed block.\n * @param {Array} source Original blocks transformed.\n * @param {number} index Index of the transformed block.\n * @param {Array} results All blocks that resulted from the transformation.\n * @return {Object} Modified transformed block.\n */\nexport function addTransforms( result, source, index, results ) {\n\tif ( ! hasBlockSupport( result.name, 'allowedBlocks' ) ) {\n\t\treturn result;\n\t}\n\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the attribute should not be kept.\n\tif (\n\t\tsource.length !== 1 &&\n\t\tresults.length === 1 &&\n\t\tresult.innerBlocks.length === source.length\n\t) {\n\t\treturn result;\n\t}\n\n\t// If we are transforming one block to multiple blocks or multiple blocks to one block,\n\t// we ignore the attribute during the transform.\n\tif (\n\t\t( results.length === 1 && source.length > 1 ) ||\n\t\t( results.length > 1 && source.length === 1 )\n\t) {\n\t\treturn result;\n\t}\n\n\t// If we are transforming multiple blocks to multiple blocks with different counts,\n\t// we ignore the attribute during the transform.\n\tif (\n\t\tresults.length > 1 &&\n\t\tsource.length > 1 &&\n\t\tresults.length !== source.length\n\t) {\n\t\treturn result;\n\t}\n\n\t// If the target block already has allowedBlocks, we don't need to preserve\n\t// the source allowedBlocks.\n\tif ( result.attributes.allowedBlocks ) {\n\t\treturn result;\n\t}\n\n\tconst sourceAllowedBlocks = source[ index ]?.attributes?.allowedBlocks;\n\n\tif ( ! sourceAllowedBlocks ) {\n\t\treturn result;\n\t}\n\n\tconst blockType = getBlockType( result.name );\n\tconst destinationAllowedBlocks = blockType?.allowedBlocks || [];\n\n\tif ( ! destinationAllowedBlocks.length ) {\n\t\treturn {\n\t\t\t...result,\n\t\t\tattributes: {\n\t\t\t\t...result.attributes,\n\t\t\t\tallowedBlocks: sourceAllowedBlocks,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Filter out any source allowed blocks that are not defined in the destination allowed blocks.\n\tconst filteredSourceAllowedBlocks = sourceAllowedBlocks.filter( ( block ) =>\n\t\tdestinationAllowedBlocks.includes( block )\n\t);\n\n\treturn {\n\t\t...result,\n\t\tattributes: {\n\t\t\t...result.attributes,\n\t\t\tallowedBlocks: filteredSourceAllowedBlocks,\n\t\t},\n\t};\n}\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/allowedBlocks/addTransforms',\n\taddTransforms\n);\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB,oBAAoB;AAC9C,SAAS,6CAA6C;AACtD,OAAO,+BAA+B;AACtC,SAAS,2BAA2B;AAYjC;AAVH,SAAS,kCAAmC,EAAE,SAAS,GAAI;AAC1D,QAAM,mBAAmB,oBAAoB;AAC7C,QAAM,gBAAgB,qBAAqB;AAE3C,MAAK,eAAgB;AACpB,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,sCAAsC,MAAtC,EACA,8BAAC,6BAA0B,UAAsB,GAClD;AAEF;AAEA,IAAO,yBAAQ;AAAA,EACd,MAAM;AAAA,EACN,eAAe,CAAE,eAAgB;AAAA,EACjC,WAAY,MAAO;AAClB,WAAO,gBAAiB,MAAM,eAAgB;AAAA,EAC/C;AACD;AASO,SAAS,aAAc,UAAW;AAExC,MAAK,UAAU,YAAY,eAAe,MAAO;AAChD,WAAO;AAAA,EACR;AACA,MAAK,gBAAiB,UAAU,eAAgB,GAAI;AAEnD,aAAS,aAAa;AAAA,MACrB,GAAG,SAAS;AAAA,MACZ,eAAe;AAAA,QACd,MAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;AAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;AAWO,SAAS,cAAe,QAAQ,QAAQ,OAAO,SAAU;AAC/D,MAAK,CAAE,gBAAiB,OAAO,MAAM,eAAgB,GAAI;AACxD,WAAO;AAAA,EACR;AAIA,MACC,OAAO,WAAW,KAClB,QAAQ,WAAW,KACnB,OAAO,YAAY,WAAW,OAAO,QACpC;AACD,WAAO;AAAA,EACR;AAIA,MACG,QAAQ,WAAW,KAAK,OAAO,SAAS,KACxC,QAAQ,SAAS,KAAK,OAAO,WAAW,GACzC;AACD,WAAO;AAAA,EACR;AAIA,MACC,QAAQ,SAAS,KACjB,OAAO,SAAS,KAChB,QAAQ,WAAW,OAAO,QACzB;AACD,WAAO;AAAA,EACR;AAIA,MAAK,OAAO,WAAW,eAAgB;AACtC,WAAO;AAAA,EACR;AAEA,QAAM,sBAAsB,OAAQ,KAAM,GAAG,YAAY;AAEzD,MAAK,CAAE,qBAAsB;AAC5B,WAAO;AAAA,EACR;AAEA,QAAM,YAAY,aAAc,OAAO,IAAK;AAC5C,QAAM,2BAA2B,WAAW,iBAAiB,CAAC;AAE9D,MAAK,CAAE,yBAAyB,QAAS;AACxC,WAAO;AAAA,MACN,GAAG;AAAA,MACH,YAAY;AAAA,QACX,GAAG,OAAO;AAAA,QACV,eAAe;AAAA,MAChB;AAAA,IACD;AAAA,EACD;AAGA,QAAM,8BAA8B,oBAAoB;AAAA,IAAQ,CAAE,UACjE,yBAAyB,SAAU,KAAM;AAAA,EAC1C;AAEA,SAAO;AAAA,IACN,GAAG;AAAA,IACH,YAAY;AAAA,MACX,GAAG,OAAO;AAAA,MACV,eAAe;AAAA,IAChB;AAAA,EACD;AACD;AAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/anchor.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { TextControl, ExternalLink } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { InspectorControls } from '../components';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\n/**\n * Regular expression matching invalid anchor characters for replacement.\n *\n * @type {RegExp}\n */\nconst ANCHOR_REGEX = /[\\s#]/g;\n\n/**\n * Filters registered block settings, extending attributes with anchor using ID\n * of the first node.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( 'type' in ( settings.attributes?.anchor ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'anchor' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tanchor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\nfunction BlockEditAnchorControlPure( { anchor, setAttributes } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<TextControl\n\t\t\t\tclassName=\"html-anchor-control\"\n\t\t\t\tlabel={ __( 'HTML anchor' ) }\n\t\t\t\thelp={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Enter a word or two—without spaces—to make a unique web address just for this block, called an “anchor”. Then, you’ll be able to link directly to this section of your page.'\n\t\t\t\t\t\t) }{ ' ' }\n\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-jumps/'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Learn more about anchors' ) }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tvalue={ anchor || '' }\n\t\t\t\tplaceholder={ null }\n\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\tnextValue = nextValue.replace( ANCHOR_REGEX, '-' );\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tanchor: nextValue !== '' ? nextValue : undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\tautoComplete=\"off\"\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nexport default {\n\taddSaveProps,\n\tedit: BlockEditAnchorControlPure,\n\tattributeKeys: [ 'anchor' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'anchor' );\n\t},\n};\n\n/**\n * Override props assigned to save component to inject anchor ID, if block\n * supports anchor. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Current block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( extraProps, blockType, attributes ) {\n\tif ( hasBlockSupport( blockType, 'anchor' ) ) {\n\t\textraProps.id = attributes.anchor === '' ? null : attributes.anchor;\n\t}\n\n\treturn extraProps;\n}\n\naddFilter( 'blocks.registerBlockType', 'core/anchor/attribute', addAttribute );\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,aAAa,oBAAoB;AAC1C,SAAS,UAAU;AACnB,SAAS,uBAAuB;AAChC,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AAgD/B,mBAIC,KAJD;AAzCL,IAAM,eAAe;AAUd,SAAS,aAAc,UAAW;AAExC,MAAK,WAAY,SAAS,YAAY,UAAU,CAAC,IAAM;AACtD,WAAO;AAAA,EACR;AACA,MAAK,gBAAiB,UAAU,QAAS,GAAI;AAE5C,aAAS,aAAa;AAAA,MACrB,GAAG,SAAS;AAAA,MACZ,QAAQ;AAAA,QACP,MAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;AAEA,SAAS,2BAA4B,EAAE,QAAQ,cAAc,GAAI;AAChE,QAAM,mBAAmB,oBAAoB;AAE7C,MAAK,qBAAqB,WAAY;AACrC,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,qBAAkB,OAAM,YACxB;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,GAAI,aAAc;AAAA,MAC1B,MACC,iCACG;AAAA;AAAA,UACD;AAAA,QACD;AAAA,QAAK;AAAA,QACL;AAAA,UAAC;AAAA;AAAA,YACA,MAAO;AAAA,cACN;AAAA,YACD;AAAA,YAEE,aAAI,0BAA2B;AAAA;AAAA,QAClC;AAAA,SACD;AAAA,MAED,OAAQ,UAAU;AAAA,MAClB,aAAc;AAAA,MACd,UAAW,CAAE,cAAe;AAC3B,oBAAY,UAAU,QAAS,cAAc,GAAI;AACjD,sBAAe;AAAA,UACd,QAAQ,cAAc,KAAK,YAAY;AAAA,QACxC,CAAE;AAAA,MACH;AAAA,MACA,gBAAe;AAAA,MACf,cAAa;AAAA;AAAA,EACd,GACD;AAEF;AAEA,IAAO,iBAAQ;AAAA,EACd;AAAA,EACA,MAAM;AAAA,EACN,eAAe,CAAE,QAAS;AAAA,EAC1B,WAAY,MAAO;AAClB,WAAO,gBAAiB,MAAM,QAAS;AAAA,EACxC;AACD;AAaO,SAAS,aAAc,YAAY,WAAW,YAAa;AACjE,MAAK,gBAAiB,WAAW,QAAS,GAAI;AAC7C,eAAW,KAAK,WAAW,WAAW,KAAK,OAAO,WAAW;AAAA,EAC9D;AAEA,SAAO;AACR;AAEA,UAAW,4BAA4B,yBAAyB,YAAa;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/aria-label.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { shouldSkipSerialization } from './utils';\n\n/**\n * Filters registered block settings, extending attributes with ariaLabel using aria-label\n * of the first node.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( settings?.attributes?.ariaLabel?.type ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'ariaLabel' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tariaLabel: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject aria-label, if block\n * supports ariaLabel. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Current block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( extraProps, blockType, attributes ) {\n\tif (\n\t\thasBlockSupport( blockType, 'ariaLabel' ) &&\n\t\t! shouldSkipSerialization( blockType, 'ariaLabel', 'ariaLabel' )\n\t) {\n\t\textraProps[ 'aria-label' ] =\n\t\t\tattributes.ariaLabel === '' ? null : attributes.ariaLabel;\n\t}\n\n\treturn extraProps;\n}\n\nexport default {\n\taddSaveProps,\n\tattributeKeys: [ 'ariaLabel' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'ariaLabel' );\n\t},\n};\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/ariaLabel/attribute',\n\taddAttribute\n);\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAChC,SAAS,+BAA+B;AAUjC,SAAS,aAAc,UAAW;AAExC,MAAK,UAAU,YAAY,WAAW,MAAO;AAC5C,WAAO;AAAA,EACR;AACA,MAAK,gBAAiB,UAAU,WAAY,GAAI;AAE/C,aAAS,aAAa;AAAA,MACrB,GAAG,SAAS;AAAA,MACZ,WAAW;AAAA,QACV,MAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;AAaO,SAAS,aAAc,YAAY,WAAW,YAAa;AACjE,MACC,gBAAiB,WAAW,WAAY,KACxC,CAAE,wBAAyB,WAAW,aAAa,WAAY,GAC9D;AACD,eAAY,YAAa,IACxB,WAAW,cAAc,KAAK,OAAO,WAAW;AAAA,EAClD;AAEA,SAAO;AACR;AAEA,IAAO,qBAAQ;AAAA,EACd;AAAA,EACA,eAAe,CAAE,WAAY;AAAA,EAC7B,WAAY,MAAO;AAClB,WAAO,gBAAiB,MAAM,WAAY;AAAA,EAC3C;AACD;AAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/auto-inspector-controls.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { getBlockType, store as blocksStore } from '@wordpress/blocks';\nimport { PanelBody } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { DataForm } from '@wordpress/dataviews';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport InspectorControls from '../components/inspector-controls';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport BlockContext from '../components/block-context';\nimport { generateFieldsFromAttributes } from './generate-fields-from-attributes';\n\n/**\n * Checks if a block has any attributes marked for auto-generated inspector controls.\n *\n * @param {Object} blockTypeAttributes - The block type's attributes object.\n * @return {boolean} True if any attribute has autoGenerateControl marker.\n */\nfunction hasAutoGenerateControl( blockTypeAttributes ) {\n\tif ( ! blockTypeAttributes ) {\n\t\treturn false;\n\t}\n\treturn Object.values( blockTypeAttributes ).some(\n\t\t( attr ) => attr?.autoGenerateControl\n\t);\n}\n\n/**\n * Renders DataForm-based inspector controls for auto-registered PHP-only blocks.\n *\n * Fields are generated on-the-fly from attributes marked with `autoGenerateControl`\n * during PHP registration.\n *\n * @param {Object} props Component props.\n * @param {string} props.name Block name.\n * @param {string} props.clientId Block client ID.\n * @param {Function} props.setAttributes Function to update block attributes.\n */\nfunction AutoRegisterControls( { name, clientId, setAttributes } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst blockContext = useContext( BlockContext );\n\n\tconst attributes = useSelect(\n\t\t( select ) => {\n\t\t\tconst _attributes =\n\t\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId );\n\t\t\tif ( ! _attributes?.metadata?.bindings ) {\n\t\t\t\treturn _attributes;\n\t\t\t}\n\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\treturn Object.entries( _attributes.metadata.bindings ).reduce(\n\t\t\t\t( acc, [ attribute, binding ] ) => {\n\t\t\t\t\tconst source = getBlockBindingsSource( binding.source );\n\t\t\t\t\tif ( ! source ) {\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}\n\t\t\t\t\tconst values = source.getValues( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext: blockContext,\n\t\t\t\t\t\tbindings: { [ attribute ]: binding },\n\t\t\t\t\t} );\n\t\t\t\t\treturn { ...acc, ...values };\n\t\t\t\t},\n\t\t\t\t_attributes\n\t\t\t);\n\t\t},\n\t\t[ blockContext, clientId ]\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Generate fields from user-defined attributes marked by PHP.\n\t// The autoGenerateControl marker excludes block support attributes\n\t// (which have their own UI) and internal state (role: 'local').\n\t// Memoized since blockType.attributes don't change after registration.\n\tconst { fields, form } = useMemo( () => {\n\t\tif ( ! blockType?.attributes ) {\n\t\t\treturn { fields: [], form: { fields: [] } };\n\t\t}\n\t\treturn generateFieldsFromAttributes( blockType.attributes );\n\t}, [ blockType?.attributes ] );\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tif ( ! fields || fields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<DataForm\n\t\t\t\t\tdata={ attributes }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tform={ form }\n\t\t\t\t\tonChange={ setAttributes }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n\nexport default {\n\tedit: AutoRegisterControls,\n\tattributeKeys: [],\n\thasSupport( name ) {\n\t\tconst blockType = getBlockType( name );\n\t\treturn hasAutoGenerateControl( blockType?.attributes );\n\t},\n};\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,cAAc,SAAS,mBAAmB;AACnD,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AACzB,SAAS,YAAY,eAAe;AACpC,SAAS,UAAU;AACnB,OAAO,uBAAuB;AAC9B,SAAS,2BAA2B;AACpC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,cAAc;AACvB,OAAO,kBAAkB;AACzB,SAAS,oCAAoC;AAqFzC;AA7EJ,SAAS,uBAAwB,qBAAsB;AACtD,MAAK,CAAE,qBAAsB;AAC5B,WAAO;AAAA,EACR;AACA,SAAO,OAAO,OAAQ,mBAAoB,EAAE;AAAA,IAC3C,CAAE,SAAU,MAAM;AAAA,EACnB;AACD;AAaA,SAAS,qBAAsB,EAAE,MAAM,UAAU,cAAc,GAAI;AAClE,QAAM,mBAAmB,oBAAoB;AAE7C,QAAM,eAAe,WAAY,YAAa;AAE9C,QAAM,aAAa;AAAA,IAClB,CAAE,WAAY;AACb,YAAM,cACL,OAAQ,gBAAiB,EAAE,mBAAoB,QAAS;AACzD,UAAK,CAAE,aAAa,UAAU,UAAW;AACxC,eAAO;AAAA,MACR;AAEA,YAAM,EAAE,uBAAuB,IAAI,OAAQ,OAAQ,WAAY,CAAE;AACjE,aAAO,OAAO,QAAS,YAAY,SAAS,QAAS,EAAE;AAAA,QACtD,CAAE,KAAK,CAAE,WAAW,OAAQ,MAAO;AAClC,gBAAM,SAAS,uBAAwB,QAAQ,MAAO;AACtD,cAAK,CAAE,QAAS;AACf,mBAAO;AAAA,UACR;AACA,gBAAM,SAAS,OAAO,UAAW;AAAA,YAChC;AAAA,YACA,SAAS;AAAA,YACT,UAAU,EAAE,CAAE,SAAU,GAAG,QAAQ;AAAA,UACpC,CAAE;AACF,iBAAO,EAAE,GAAG,KAAK,GAAG,OAAO;AAAA,QAC5B;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,cAAc,QAAS;AAAA,EAC1B;AAEA,QAAM,YAAY,aAAc,IAAK;AAMrC,QAAM,EAAE,QAAQ,KAAK,IAAI,QAAS,MAAM;AACvC,QAAK,CAAE,WAAW,YAAa;AAC9B,aAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE;AAAA,IAC3C;AACA,WAAO,6BAA8B,UAAU,UAAW;AAAA,EAC3D,GAAG,CAAE,WAAW,UAAW,CAAE;AAE7B,MAAK,qBAAqB,WAAY;AACrC,WAAO;AAAA,EACR;AAEA,MAAK,CAAE,UAAU,OAAO,WAAW,GAAI;AACtC,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,qBACA,8BAAC,aAAU,OAAQ,GAAI,UAAW,GACjC;AAAA,IAAC;AAAA;AAAA,MACA,MAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,UAAW;AAAA;AAAA,EACZ,GACD,GACD;AAEF;AAEA,IAAO,kCAAQ;AAAA,EACd,MAAM;AAAA,EACN,eAAe,CAAC;AAAA,EAChB,WAAY,MAAO;AAClB,UAAM,YAAY,aAAc,IAAK;AACrC,WAAO,uBAAwB,WAAW,UAAW;AAAA,EACtD;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -129,10 +129,7 @@ function BackgroundImagePanel({
|
|
|
129
129
|
className,
|
|
130
130
|
selectedState
|
|
131
131
|
);
|
|
132
|
-
const backgroundGradientSupported = hasBackgroundSupport(
|
|
133
|
-
name,
|
|
134
|
-
"gradient"
|
|
135
|
-
);
|
|
132
|
+
const backgroundGradientSupported = hasBackgroundSupport(name, "gradient") && !!settings?.background?.gradient;
|
|
136
133
|
const colorSupport = getBlockSupport(name, "color");
|
|
137
134
|
const hasColorBackgroundSupport = colorSupport && colorSupport.background !== false;
|
|
138
135
|
const hasColorGradientSupport = !!colorSupport?.gradients;
|