@wordpress/block-editor 16.0.1-next.v.202607070741.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 +66 -1
- package/README.md +21 -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 +2 -4
- 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 +40 -10
- 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 +5 -3
- 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 +6 -1
- 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 +3 -1
- 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 +10 -18
- 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 +82 -50
- 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 +4 -1
- 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 +45 -13
- package/build/components/block-list/block.cjs.map +3 -3
- package/build/components/block-list/index.cjs +34 -12
- 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 +41 -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 +9 -4
- 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 +11 -4
- 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 +48 -0
- package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs.map +7 -0
- 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 +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 +43 -24
- 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 +4 -2
- package/build/components/block-toolbar/switch-section-style.cjs.map +3 -3
- 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 +2 -7
- package/build/components/block-tools/empty-block-inserter.cjs.map +2 -2
- package/build/components/block-tools/index.cjs +9 -6
- 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 +3 -5
- 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 +20 -6
- package/build/components/block-visibility/modal.cjs.map +2 -2
- package/build/components/block-visibility/use-block-visibility.cjs +28 -20
- package/build/components/block-visibility/use-block-visibility.cjs.map +4 -4
- package/build/components/block-visibility/utils.cjs +15 -2
- package/build/components/block-visibility/utils.cjs.map +3 -3
- package/build/components/block-visibility/viewport-menu-item.cjs +7 -1
- package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
- package/build/components/block-visibility/viewport-toolbar.cjs +5 -0
- package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
- package/build/components/block-visibility/viewport-visibility-info.cjs +5 -1
- 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 +8 -58
- 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 +0 -4
- 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 +5 -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 +30 -20
- package/build/components/dimension-control/index.cjs.map +3 -3
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs +9 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +3 -3
- 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 +9 -1
- 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 +66 -25
- package/build/components/global-styles/background-panel.cjs.map +3 -3
- package/build/components/global-styles/border-panel.cjs +153 -55
- package/build/components/global-styles/border-panel.cjs.map +3 -3
- package/build/components/global-styles/color-gradient-dropdown-item.cjs +46 -14
- package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +3 -3
- package/build/components/global-styles/color-panel.cjs +63 -17
- package/build/components/global-styles/color-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs +242 -64
- package/build/components/global-styles/dimensions-panel.cjs.map +3 -3
- package/build/components/global-styles/filters-panel.cjs +59 -20
- package/build/components/global-styles/filters-panel.cjs.map +3 -3
- package/build/components/global-styles/hooks.cjs +4 -1
- 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 +142 -0
- package/build/components/global-styles/inheritance/index.cjs.map +7 -0
- package/build/components/global-styles/inherited-value-context.cjs +173 -0
- package/build/components/global-styles/inherited-value-context.cjs.map +7 -0
- package/build/components/global-styles/shadow-panel-components.cjs +38 -20
- package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
- package/build/components/global-styles/state-control-badges.cjs +39 -3
- package/build/components/global-styles/state-control-badges.cjs.map +2 -2
- package/build/components/global-styles/state-control.cjs +1 -1
- package/build/components/global-styles/state-control.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs +271 -79
- package/build/components/global-styles/typography-panel.cjs.map +3 -3
- 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 +2 -4
- 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 +33 -6
- 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 +78 -16
- package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
- 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 +10 -1
- 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 +19 -11
- 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 +1 -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 +3 -1
- 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 +48 -42
- 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 +0 -1
- 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 +2 -1
- 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 +8 -2
- package/build/components/provider/block-refs-provider.cjs.map +2 -2
- package/build/components/provider/index.cjs +1 -1
- 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 +18 -6
- package/build/components/provider/use-block-sync.cjs.map +2 -2
- package/build/components/provider/use-media-upload-settings.cjs +3 -1
- 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 +3 -4
- package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/delete.cjs +2 -3
- package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/enter.cjs +3 -2
- package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
- 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 +3 -3
- package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/input-rules.cjs +16 -14
- package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +3 -3
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/paste-handler.cjs +10 -2
- package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +3 -3
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/shortcuts.cjs +3 -3
- package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +3 -3
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
- 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 +76 -17
- 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 +6 -19
- 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 +8 -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 +129 -136
- package/build/components/typewriter/index.cjs.map +3 -3
- 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 +314 -373
- package/build/components/url-input/index.cjs.map +3 -3
- 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 +23 -18
- 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 +1 -1
- 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 +14 -1
- package/build/components/writing-flow/index.cjs.map +3 -3
- package/build/components/writing-flow/use-arrow-nav.cjs +48 -7
- package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-click-selection.cjs +29 -3
- package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-clipboard-handler.cjs +33 -5
- package/build/components/writing-flow/use-clipboard-handler.cjs.map +3 -3
- package/build/components/writing-flow/use-drag-selection.cjs +3 -8
- package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-editable-root-event-handlers.cjs +179 -0
- package/build/components/writing-flow/use-editable-root-event-handlers.cjs.map +7 -0
- package/build/components/writing-flow/use-editable-root.cjs +75 -0
- package/build/components/writing-flow/use-editable-root.cjs.map +7 -0
- package/build/components/writing-flow/use-home-end.cjs +64 -0
- package/build/components/writing-flow/use-home-end.cjs.map +7 -0
- package/build/components/writing-flow/use-input.cjs +15 -5
- package/build/components/writing-flow/use-input.cjs.map +2 -2
- package/build/components/writing-flow/use-multi-selection.cjs +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 +14 -2
- package/build/components/writing-flow/use-select-all.cjs.map +2 -2
- package/build/components/writing-flow/use-selection-observer.cjs +132 -22
- package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
- 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 +28 -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 +13 -12
- 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 +2 -3
- package/build/hooks/block-fields/rich-text/index.cjs.map +3 -3
- 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 +4 -45
- package/build/hooks/block-style-variation.cjs.map +3 -3
- package/build/hooks/border.cjs +19 -4
- 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/custom-css.cjs +6 -2
- package/build/hooks/custom-css.cjs.map +2 -2
- package/build/hooks/dimensions.cjs +15 -4
- package/build/hooks/dimensions.cjs.map +2 -2
- package/build/hooks/duotone.cjs +26 -14
- package/build/hooks/duotone.cjs.map +3 -3
- package/build/hooks/elements.cjs +15 -5
- 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 +5 -3
- package/build/hooks/grid-visualizer.cjs.map +2 -2
- package/build/hooks/index.cjs.map +2 -2
- package/build/hooks/layout-child.cjs +22 -12
- package/build/hooks/layout-child.cjs.map +3 -3
- package/build/hooks/layout.cjs +32 -17
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/line-height.cjs +1 -2
- 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 +27 -7
- package/build/hooks/states.cjs.map +3 -3
- package/build/hooks/style.cjs +31 -9
- package/build/hooks/style.cjs.map +3 -3
- package/build/hooks/supports.cjs.map +2 -2
- package/build/hooks/text-align.cjs +36 -6
- package/build/hooks/text-align.cjs.map +3 -3
- package/build/hooks/typography.cjs +14 -5
- 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 +14 -6
- package/build/layouts/constrained.cjs.map +2 -2
- package/build/layouts/flex.cjs +27 -19
- package/build/layouts/flex.cjs.map +2 -2
- package/build/layouts/flow.cjs.map +2 -2
- package/build/layouts/grid.cjs +0 -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 +9 -5
- package/build/private-apis.cjs.map +3 -3
- package/build/store/actions.cjs +115 -42
- 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 +69 -13
- package/build/store/private-selectors.cjs.map +3 -3
- package/build/store/reducer.cjs +9 -7
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/selectors.cjs +44 -8
- package/build/store/selectors.cjs.map +2 -2
- package/build/store/utils.cjs.map +2 -2
- package/build/utils/block-bindings.cjs +29 -0
- package/build/utils/block-bindings.cjs.map +2 -2
- package/build/utils/dom.cjs +14 -0
- package/build/utils/dom.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/{components/rich-text/input-event.cjs → utils/native-undo.cjs} +29 -24
- package/build/utils/native-undo.cjs.map +7 -0
- 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 +2 -4
- 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 +43 -10
- 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 +5 -3
- 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 +7 -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 +3 -1
- 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 +11 -18
- 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 +83 -50
- 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 +4 -1
- 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 +45 -13
- package/build-module/components/block-list/block.mjs.map +3 -3
- package/build-module/components/block-list/index.mjs +35 -13
- 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 +41 -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 +9 -4
- 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 +11 -4
- 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 +28 -0
- package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs.map +7 -0
- 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 +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 +43 -24
- 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 +4 -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 +2 -7
- package/build-module/components/block-tools/empty-block-inserter.mjs.map +2 -2
- package/build-module/components/block-tools/index.mjs +10 -11
- 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 +4 -6
- 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 +22 -10
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/use-block-visibility.mjs +29 -21
- package/build-module/components/block-visibility/use-block-visibility.mjs.map +3 -3
- package/build-module/components/block-visibility/utils.mjs +18 -3
- package/build-module/components/block-visibility/utils.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-menu-item.mjs +7 -1
- package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-toolbar.mjs +5 -0
- package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs +5 -1
- 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 +11 -53
- 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 +0 -4
- 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 +5 -3
- 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 +30 -20
- package/build-module/components/dimension-control/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +10 -6
- 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 +9 -1
- 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 +71 -29
- package/build-module/components/global-styles/background-panel.mjs.map +2 -2
- package/build-module/components/global-styles/border-panel.mjs +157 -56
- package/build-module/components/global-styles/border-panel.mjs.map +2 -2
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +51 -15
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
- package/build-module/components/global-styles/color-panel.mjs +63 -17
- package/build-module/components/global-styles/color-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs +248 -66
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/filters-panel.mjs +64 -21
- package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
- package/build-module/components/global-styles/hooks.mjs +4 -1
- 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 +108 -0
- package/build-module/components/global-styles/inheritance/index.mjs.map +7 -0
- package/build-module/components/global-styles/inherited-value-context.mjs +141 -0
- package/build-module/components/global-styles/inherited-value-context.mjs.map +7 -0
- package/build-module/components/global-styles/shadow-panel-components.mjs +38 -20
- package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
- package/build-module/components/global-styles/state-control-badges.mjs +41 -5
- package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
- package/build-module/components/global-styles/state-control.mjs +1 -1
- package/build-module/components/global-styles/state-control.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs +276 -80
- 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 +2 -4
- 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 +33 -6
- 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 +86 -18
- 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 +6 -1
- 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 +19 -11
- 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 +1 -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 +4 -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 +50 -48
- 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 +0 -1
- 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 +2 -1
- 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 +8 -2
- package/build-module/components/provider/block-refs-provider.mjs.map +2 -2
- package/build-module/components/provider/index.mjs +1 -1
- 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 +18 -6
- package/build-module/components/provider/use-block-sync.mjs.map +2 -2
- package/build-module/components/provider/use-media-upload-settings.mjs +3 -1
- 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 +8 -5
- 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 +7 -4
- package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs +8 -3
- 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 +3 -3
- 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 +21 -15
- 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 +3 -3
- 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 +16 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +79 -14
- 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 +6 -18
- 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 +8 -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 +129 -136
- 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 +317 -382
- 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 +23 -18
- 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 +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 +14 -1
- package/build-module/components/writing-flow/index.mjs.map +2 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs +53 -8
- package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs +29 -3
- package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs +36 -7
- package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/writing-flow/use-drag-selection.mjs +1 -6
- 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 +154 -0
- package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs.map +7 -0
- package/build-module/components/writing-flow/use-editable-root.mjs +54 -0
- package/build-module/components/writing-flow/use-editable-root.mjs.map +7 -0
- package/build-module/components/writing-flow/use-home-end.mjs +43 -0
- package/build-module/components/writing-flow/use-home-end.mjs.map +7 -0
- package/build-module/components/writing-flow/use-input.mjs +15 -5
- package/build-module/components/writing-flow/use-input.mjs.map +2 -2
- package/build-module/components/writing-flow/use-multi-selection.mjs +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 +19 -3
- package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
- package/build-module/components/writing-flow/use-selection-observer.mjs +134 -21
- 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 +26 -1
- 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 +13 -12
- 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 +2 -6
- 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 +8 -44
- package/build-module/hooks/block-style-variation.mjs.map +2 -2
- package/build-module/hooks/border.mjs +19 -4
- 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/custom-css.mjs +7 -3
- package/build-module/hooks/custom-css.mjs.map +2 -2
- package/build-module/hooks/dimensions.mjs +15 -4
- package/build-module/hooks/dimensions.mjs.map +2 -2
- package/build-module/hooks/duotone.mjs +20 -9
- package/build-module/hooks/duotone.mjs.map +2 -2
- package/build-module/hooks/elements.mjs +15 -5
- 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 +5 -3
- 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 +22 -12
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +30 -16
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/line-height.mjs +1 -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 +27 -7
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/hooks/style.mjs +40 -11
- 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 +39 -10
- package/build-module/hooks/text-align.mjs.map +2 -2
- package/build-module/hooks/typography.mjs +14 -5
- 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 +14 -6
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +27 -19
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/flow.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +0 -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 +7 -3
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs +116 -43
- 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 +69 -13
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +9 -7
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/selectors.mjs +44 -8
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-module/store/utils.mjs.map +2 -2
- package/build-module/utils/block-bindings.mjs +28 -0
- package/build-module/utils/block-bindings.mjs.map +2 -2
- package/build-module/utils/dom.mjs +13 -0
- package/build-module/utils/dom.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 +29 -0
- package/build-module/utils/native-undo.mjs.map +7 -0
- 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 +16 -29
- package/build-style/content.css +16 -29
- package/build-style/default-editor-styles-rtl.css +1 -1
- package/build-style/default-editor-styles.css +1 -1
- package/build-style/style-rtl.css +228 -66
- package/build-style/style.css +228 -66
- package/build-types/components/block-context/index.d.ts +7 -0
- 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/block-bindings.d.ts +19 -0
- package/build-types/utils/block-bindings.d.ts.map +1 -1
- package/build-types/utils/dom.d.ts +11 -0
- package/build-types/utils/dom.d.ts.map +1 -1
- 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/get-px-from-css-unit.d.ts +2 -2
- package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -1
- package/build-types/utils/pasting.d.ts +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 +45 -45
- 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/__snapshots__/index.js.snap +1 -1
- package/src/components/alignment-control/test/index.js +0 -11
- package/src/components/alignment-control/ui.js +2 -7
- package/src/components/autocomplete/index.js +0 -7
- package/src/components/background-image-control/index.js +74 -49
- package/src/components/background-image-control/style.scss +13 -4
- 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/__snapshots__/index.js.snap +3 -3
- package/src/components/block-alignment-control/test/index.js +1 -8
- package/src/components/block-alignment-control/ui.js +4 -13
- 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/__snapshots__/index.js.snap +1 -1
- package/src/components/block-breadcrumb/test/index.js +0 -7
- package/src/components/block-canvas/index.js +9 -9
- package/src/components/block-card/index.js +0 -11
- package/src/components/block-card/style.scss +1 -1
- 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/__snapshots__/block-view.js.snap +1 -1
- 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 +2 -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 +13 -42
- 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/__snapshots__/index.js.snap +1 -1
- 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 +67 -39
- 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 +5 -11
- package/src/components/block-list/block-invalid-warning.js +0 -7
- package/src/components/block-list/block.js +63 -23
- package/src/components/block-list/content.scss +1 -11
- package/src/components/block-list/index.js +62 -26
- 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 +63 -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 +23 -11
- package/src/components/block-list/use-block-props/use-focus-handler.js +35 -16
- 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 +38 -0
- 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/style.scss +1 -1
- 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-manager/style.scss +1 -1
- 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-navigation/style.scss +1 -1
- package/src/components/block-parent-selector/index.js +5 -9
- 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-quick-navigation/style.scss +1 -3
- 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/style.scss +2 -2
- 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 +41 -29
- package/src/components/block-toolbar/pattern-overrides-dropdown.js +0 -7
- package/src/components/block-toolbar/switch-section-style.js +5 -9
- 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 +3 -14
- package/src/components/block-tools/index.js +10 -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-types-list/style.scss +0 -1
- 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/__snapshots__/index.js.snap +3 -3
- package/src/components/block-vertical-alignment-control/test/index.js +18 -9
- package/src/components/block-vertical-alignment-control/ui.js +3 -8
- package/src/components/block-visibility/{constants.js → constants.ts} +10 -4
- package/src/components/block-visibility/modal.js +24 -21
- package/src/components/block-visibility/style.scss +1 -1
- package/src/components/block-visibility/test/use-block-visibility.js +128 -47
- package/src/components/block-visibility/test/utils.js +11 -3
- package/src/components/block-visibility/use-block-visibility.ts +92 -0
- package/src/components/block-visibility/utils.js +31 -13
- package/src/components/block-visibility/viewport-menu-item.js +10 -8
- package/src/components/block-visibility/viewport-toolbar.js +6 -7
- package/src/components/block-visibility/viewport-visibility-info.js +5 -8
- 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 -44
- package/src/components/border-radius-control/utils.js +12 -110
- package/src/components/button-block-appender/content.scss +7 -9
- package/src/components/button-block-appender/index.js +0 -11
- package/src/components/child-layout-control/index.js +0 -11
- 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/__snapshots__/control.js.snap +3 -3
- 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 +6 -14
- 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/__snapshots__/index.js.snap +1 -1
- package/src/components/default-block-appender/test/index.js +0 -7
- package/src/components/dimension-control/index.js +9 -8
- package/src/components/dimension-control/stories/index.story.jsx +0 -7
- package/src/components/dimensions-tool/aspect-ratio-tool.js +13 -12
- 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 +16 -12
- 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 +1 -8
- 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 +107 -41
- package/src/components/global-styles/border-panel.js +219 -55
- package/src/components/global-styles/color-gradient-dropdown-item.js +93 -39
- package/src/components/global-styles/color-panel.js +92 -18
- package/src/components/global-styles/dimensions-panel.js +422 -82
- package/src/components/global-styles/filters-panel.js +88 -39
- package/src/components/global-styles/hooks.js +8 -8
- package/src/components/global-styles/image-settings-panel.js +0 -7
- package/src/components/global-styles/inheritance/index.js +197 -0
- package/src/components/global-styles/inheritance/style.scss +184 -0
- package/src/components/global-styles/inheritance/test/index.js +270 -0
- package/src/components/global-styles/inherited-value-context.js +264 -0
- package/src/components/global-styles/shadow-panel-components.js +44 -34
- package/src/components/global-styles/state-control-badges.js +45 -13
- package/src/components/global-styles/state-control.js +2 -5
- package/src/components/global-styles/style.scss +5 -0
- package/src/components/global-styles/test/background-panel.js +334 -5
- package/src/components/global-styles/test/border-panel.js +434 -0
- package/src/components/global-styles/test/color-panel.js +182 -9
- package/src/components/global-styles/test/dimensions-panel.js +746 -0
- package/src/components/global-styles/test/filters-panel.js +187 -0
- package/src/components/global-styles/test/inherited-value-context-core.js +87 -0
- package/src/components/global-styles/test/inherited-value-context.js +442 -0
- package/src/components/global-styles/test/state-control-badges.js +58 -0
- package/src/components/global-styles/test/typography-panel-core.js +178 -0
- package/src/components/global-styles/test/typography-panel.js +845 -15
- package/src/components/global-styles/test/typography-utils.js +0 -3
- package/src/components/global-styles/typography-panel.js +449 -108
- 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/style.scss +33 -0
- 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 -9
- 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/__snapshots__/index.js.snap +1 -1
- 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 +55 -14
- package/src/components/inserter/media-tab/media-list.js +0 -7
- package/src/components/inserter/media-tab/media-panel.js +117 -32
- 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 +63 -7
- package/src/components/inserter/media-tab/test/media-panel.js +120 -0
- 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/style.scss +19 -16
- 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-list-item/style.scss +0 -15
- 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 +5 -8
- 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 +24 -14
- 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 +1 -9
- 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 +7 -13
- 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 +3 -3
- package/src/components/link-control/test/index.js +6 -17
- 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/style.scss +1 -2
- 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 +53 -61
- 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 +28 -9
- 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 -12
- 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 +6 -1
- 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 +4 -8
- 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 +12 -5
- package/src/components/provider/index.js +2 -9
- 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 +18 -13
- package/src/components/provider/use-media-upload-settings.js +2 -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/style.scss +1 -1
- 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 +8 -12
- package/src/components/rich-text/event-listeners/delete.js +7 -11
- package/src/components/rich-text/event-listeners/enter.js +10 -11
- 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 +3 -10
- package/src/components/rich-text/event-listeners/input-rules.js +23 -25
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +3 -10
- package/src/components/rich-text/event-listeners/paste-handler.js +29 -11
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +3 -10
- package/src/components/rich-text/event-listeners/shortcuts.js +3 -10
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +3 -10
- 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 +116 -37
- 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/skip-to-selected-block/style.scss +1 -1
- 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 +16 -8
- package/src/components/spacing-sizes-control/utils.js +7 -31
- 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 +8 -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 +228 -227
- 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 +400 -488
- package/src/components/url-input/test/button.js +0 -11
- package/src/components/url-input/test/index.js +666 -0
- 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 +29 -26
- 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 +2 -9
- 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/__snapshots__/index.js.snap +1 -1
- package/src/components/warning/test/index.js +0 -7
- package/src/components/writing-flow/index.js +17 -12
- package/src/components/writing-flow/test/index.js +0 -7
- package/src/components/writing-flow/use-arrow-nav.js +112 -28
- package/src/components/writing-flow/use-click-selection.js +55 -12
- package/src/components/writing-flow/use-clipboard-handler.js +70 -13
- package/src/components/writing-flow/use-drag-selection.js +1 -21
- package/src/components/writing-flow/use-editable-root-event-handlers.js +259 -0
- package/src/components/writing-flow/use-editable-root.js +105 -0
- package/src/components/writing-flow/use-home-end.js +64 -0
- package/src/components/writing-flow/use-input.js +25 -15
- package/src/components/writing-flow/use-multi-selection.js +2 -10
- package/src/components/writing-flow/use-preview-mode-nav.js +0 -7
- package/src/components/writing-flow/use-select-all.js +33 -10
- package/src/components/writing-flow/use-selection-observer.js +218 -49
- package/src/components/writing-flow/use-tab-nav.js +7 -8
- package/src/components/writing-flow/utils.js +62 -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 +28 -37
- 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/link/styles.scss +1 -6
- package/src/hooks/block-fields/media/index.js +0 -7
- package/src/hooks/block-fields/media/styles.scss +1 -6
- package/src/hooks/block-fields/rich-text/index.js +6 -16
- package/src/hooks/block-fields/rich-text/styles.scss +1 -1
- 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 +8 -81
- package/src/hooks/border.js +19 -15
- 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/custom-css.js +15 -6
- package/src/hooks/dimensions.js +17 -15
- package/src/hooks/duotone.js +26 -19
- package/src/hooks/elements.js +14 -11
- 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 +40 -43
- package/src/hooks/index.js +0 -3
- package/src/hooks/layout-child.js +19 -16
- package/src/hooks/layout.js +49 -44
- package/src/hooks/line-height.js +0 -8
- 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 +38 -16
- package/src/hooks/style.js +67 -24
- 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 +408 -0
- 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 +450 -0
- package/src/hooks/test/settings.js +0 -7
- package/src/hooks/test/state-utils.js +0 -7
- package/src/hooks/test/style.js +29 -7
- package/src/hooks/test/text-align.js +34 -8
- package/src/hooks/test/use-typography-props.js +0 -3
- package/src/hooks/test/utils.js +0 -3
- package/src/hooks/text-align.js +41 -21
- package/src/hooks/typography.js +35 -32
- 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 +5 -8
- package/src/layouts/flex.js +5 -8
- package/src/layouts/flow.js +0 -7
- package/src/layouts/grid.js +0 -10
- 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 +7 -5
- package/src/store/actions.js +215 -72
- 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 +125 -23
- package/src/store/reducer.js +17 -21
- package/src/store/selectors.js +100 -29
- package/src/store/test/actions.js +204 -27
- 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 +426 -18
- 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/style.scss +2 -0
- package/src/utils/block-bindings.ts +50 -0
- package/src/utils/dom.ts +33 -0
- 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 +53 -0
- 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 +178 -0
- 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/build/components/duotone/utils.cjs +0 -87
- package/build/components/duotone/utils.cjs.map +0 -7
- package/build/components/rich-text/input-event.cjs.map +0 -7
- package/build/components/rich-text/shortcut.cjs +0 -51
- package/build/components/rich-text/shortcut.cjs.map +0 -7
- package/build-module/components/duotone/utils.mjs +0 -59
- package/build-module/components/duotone/utils.mjs.map +0 -7
- package/build-module/components/rich-text/input-event.mjs +0 -25
- package/build-module/components/rich-text/input-event.mjs.map +0 -7
- package/build-module/components/rich-text/shortcut.mjs +0 -26
- package/build-module/components/rich-text/shortcut.mjs.map +0 -7
- package/src/components/block-visibility/use-block-visibility.js +0 -54
- package/src/components/duotone/utils.js +0 -90
- package/src/components/rich-text/input-event.js +0 -31
- package/src/components/rich-text/shortcut.js +0 -32
- package/src/hooks/test/get-variation-styles-with-ref-values.js +0 -91
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// packages/block-editor/src/components/writing-flow/use-editable-root-event-handlers.js
|
|
2
|
+
import { useSelect } from "@wordpress/data";
|
|
3
|
+
import { useRefEffect } from "@wordpress/compose";
|
|
4
|
+
import { useContext } from "@wordpress/element";
|
|
5
|
+
import { store as blockEditorStore } from "../../store/index.mjs";
|
|
6
|
+
import { getBlockClientId, getSelectionEditableElement } from "../../utils/dom.mjs";
|
|
7
|
+
import { BlockRefs } from "../provider/block-refs-provider.mjs";
|
|
8
|
+
var SUPPORTED_EVENTS = {
|
|
9
|
+
onKeyDown: "keydown",
|
|
10
|
+
onKeyUp: "keyup",
|
|
11
|
+
onBeforeInput: "beforeinput",
|
|
12
|
+
onInput: "input",
|
|
13
|
+
onCompositionStart: "compositionstart",
|
|
14
|
+
onCompositionUpdate: "compositionupdate",
|
|
15
|
+
onCompositionEnd: "compositionend"
|
|
16
|
+
};
|
|
17
|
+
var EVENT_TYPES = Object.values(SUPPORTED_EVENTS);
|
|
18
|
+
function getEventHandlers(props) {
|
|
19
|
+
let handlers;
|
|
20
|
+
for (const name in SUPPORTED_EVENTS) {
|
|
21
|
+
if (typeof props[name] === "function") {
|
|
22
|
+
handlers = handlers || {};
|
|
23
|
+
handlers[SUPPORTED_EVENTS[name]] = props[name];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return handlers;
|
|
27
|
+
}
|
|
28
|
+
var EVENT_INTERFACE = [
|
|
29
|
+
"eventPhase",
|
|
30
|
+
"bubbles",
|
|
31
|
+
"cancelable",
|
|
32
|
+
"timeStamp",
|
|
33
|
+
"defaultPrevented",
|
|
34
|
+
"isTrusted"
|
|
35
|
+
];
|
|
36
|
+
var KEYBOARD_EVENT_INTERFACE = [
|
|
37
|
+
...EVENT_INTERFACE,
|
|
38
|
+
"view",
|
|
39
|
+
"detail",
|
|
40
|
+
"key",
|
|
41
|
+
"code",
|
|
42
|
+
"location",
|
|
43
|
+
"ctrlKey",
|
|
44
|
+
"shiftKey",
|
|
45
|
+
"altKey",
|
|
46
|
+
"metaKey",
|
|
47
|
+
"repeat",
|
|
48
|
+
"locale",
|
|
49
|
+
"getModifierState",
|
|
50
|
+
"charCode",
|
|
51
|
+
"keyCode",
|
|
52
|
+
"which"
|
|
53
|
+
];
|
|
54
|
+
var INPUT_EVENT_INTERFACE = [...EVENT_INTERFACE, "data"];
|
|
55
|
+
var EVENT_INTERFACES = {
|
|
56
|
+
keydown: KEYBOARD_EVENT_INTERFACE,
|
|
57
|
+
keyup: KEYBOARD_EVENT_INTERFACE,
|
|
58
|
+
beforeinput: INPUT_EVENT_INTERFACE,
|
|
59
|
+
input: INPUT_EVENT_INTERFACE,
|
|
60
|
+
compositionstart: INPUT_EVENT_INTERFACE,
|
|
61
|
+
compositionupdate: INPUT_EVENT_INTERFACE,
|
|
62
|
+
compositionend: INPUT_EVENT_INTERFACE
|
|
63
|
+
};
|
|
64
|
+
function createBlockSyntheticEvent(nativeEvent, target) {
|
|
65
|
+
let propagationStopped = false;
|
|
66
|
+
const syntheticEvent = {
|
|
67
|
+
nativeEvent,
|
|
68
|
+
type: nativeEvent.type,
|
|
69
|
+
target,
|
|
70
|
+
currentTarget: null,
|
|
71
|
+
preventDefault() {
|
|
72
|
+
nativeEvent.preventDefault();
|
|
73
|
+
syntheticEvent.defaultPrevented = true;
|
|
74
|
+
},
|
|
75
|
+
isDefaultPrevented() {
|
|
76
|
+
return syntheticEvent.defaultPrevented;
|
|
77
|
+
},
|
|
78
|
+
stopPropagation() {
|
|
79
|
+
nativeEvent.stopPropagation();
|
|
80
|
+
propagationStopped = true;
|
|
81
|
+
},
|
|
82
|
+
isPropagationStopped() {
|
|
83
|
+
return propagationStopped;
|
|
84
|
+
},
|
|
85
|
+
// The modern event system doesn't pool, so persistence is a no-op.
|
|
86
|
+
persist() {
|
|
87
|
+
},
|
|
88
|
+
isPersistent() {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
for (const property of EVENT_INTERFACES[nativeEvent.type]) {
|
|
93
|
+
const value = nativeEvent[property];
|
|
94
|
+
syntheticEvent[property] = typeof value === "function" ? value.bind(nativeEvent) : value;
|
|
95
|
+
}
|
|
96
|
+
return syntheticEvent;
|
|
97
|
+
}
|
|
98
|
+
function useEditableRootEventHandlers() {
|
|
99
|
+
const { hasMultiSelection, getBlockParents } = useSelect(blockEditorStore);
|
|
100
|
+
const { refsMap, eventHandlers } = useContext(BlockRefs);
|
|
101
|
+
return useRefEffect(
|
|
102
|
+
(node) => {
|
|
103
|
+
function onEvent(event) {
|
|
104
|
+
if (!eventHandlers.size || event.target !== node || !event.isTrusted || node.contentEditable !== "true" || hasMultiSelection()) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
const selection = node.ownerDocument.defaultView.getSelection();
|
|
108
|
+
if (!selection.rangeCount) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const editable = getSelectionEditableElement(selection, node);
|
|
112
|
+
const clientId = getBlockClientId(editable);
|
|
113
|
+
if (!clientId) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const clientIds = [
|
|
117
|
+
clientId,
|
|
118
|
+
...getBlockParents(clientId, true)
|
|
119
|
+
];
|
|
120
|
+
let syntheticEvent;
|
|
121
|
+
for (const ancestorClientId of clientIds) {
|
|
122
|
+
const handler = eventHandlers.get(ancestorClientId)?.current?.[event.type];
|
|
123
|
+
const element = handler && refsMap.get(ancestorClientId);
|
|
124
|
+
if (!element) {
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
if (!syntheticEvent) {
|
|
128
|
+
syntheticEvent = createBlockSyntheticEvent(
|
|
129
|
+
event,
|
|
130
|
+
editable
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
syntheticEvent.currentTarget = element;
|
|
134
|
+
handler(syntheticEvent);
|
|
135
|
+
if (syntheticEvent.isPropagationStopped()) {
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
const root = node.ownerDocument.documentElement;
|
|
141
|
+
const unsubscribers = EVENT_TYPES.map((type) => {
|
|
142
|
+
root.addEventListener(type, onEvent);
|
|
143
|
+
return () => root.removeEventListener(type, onEvent);
|
|
144
|
+
});
|
|
145
|
+
return () => unsubscribers.forEach((unsubscribe) => unsubscribe());
|
|
146
|
+
},
|
|
147
|
+
[hasMultiSelection, getBlockParents, refsMap, eventHandlers]
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
export {
|
|
151
|
+
useEditableRootEventHandlers as default,
|
|
152
|
+
getEventHandlers
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=use-editable-root-event-handlers.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/writing-flow/use-editable-root-event-handlers.js"],
|
|
4
|
+
"sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\nimport { useContext } from '@wordpress/element';\nimport { store as blockEditorStore } from '../../store';\nimport { getBlockClientId, getSelectionEditableElement } from '../../utils/dom';\nimport { BlockRefs } from '../provider/block-refs-provider';\n\n// The React `on*` props the host bridges, mapped to their DOM event type. Only\n// editing events are redirected under `editableRoot` (the wrapper becomes the\n// editing host, so keyboard, input and composition events target it instead of\n// the block); pointer and other events still reach the block and need no\n// bridging. React prop names don't map to DOM types by lowercasing in general\n// (onChange is `input`, onDoubleClick is `dblclick`), so the mapping is\n// explicit, which also locks the bridged surface to events React actually fires.\nconst SUPPORTED_EVENTS = {\n\tonKeyDown: 'keydown',\n\tonKeyUp: 'keyup',\n\tonBeforeInput: 'beforeinput',\n\tonInput: 'input',\n\tonCompositionStart: 'compositionstart',\n\tonCompositionUpdate: 'compositionupdate',\n\tonCompositionEnd: 'compositionend',\n};\n\n// The DOM event types the host listens for. Fixed, so the host attaches these\n// listeners once rather than tracking which types are in use.\nconst EVENT_TYPES = Object.values( SUPPORTED_EVENTS );\n\n/**\n * Collects the supported `on*` event handlers from a set of props, e.g. a\n * block's merged `wrapperProps`, keyed by DOM event type. Used by the block to\n * register them (see `useRegisterBlockEventHandlers`).\n *\n * @param {Object} props Props to read handlers from.\n *\n * @return {Object|undefined} The handlers by event type, or undefined when\n * there are none.\n */\nexport function getEventHandlers( props ) {\n\tlet handlers;\n\n\tfor ( const name in SUPPORTED_EVENTS ) {\n\t\tif ( typeof props[ name ] === 'function' ) {\n\t\t\thandlers = handlers || {};\n\t\t\thandlers[ SUPPORTED_EVENTS[ name ] ] = props[ name ];\n\t\t}\n\t}\n\n\treturn handlers;\n}\n\n// The native properties React copies onto its SyntheticEvent for each event\n// type (the *EventInterface tables in react-dom), so the wrapper exposes exactly\n// what a React handler would see and nothing more. Values are copied straight\n// from the native event; React's normalizers only paper over browsers we don't\n// support, and anything omitted stays reachable through `nativeEvent`, as in\n// React (e.g. `getTargetRanges` on a `beforeinput`).\nconst EVENT_INTERFACE = [\n\t'eventPhase',\n\t'bubbles',\n\t'cancelable',\n\t'timeStamp',\n\t'defaultPrevented',\n\t'isTrusted',\n];\nconst KEYBOARD_EVENT_INTERFACE = [\n\t...EVENT_INTERFACE,\n\t'view',\n\t'detail',\n\t'key',\n\t'code',\n\t'location',\n\t'ctrlKey',\n\t'shiftKey',\n\t'altKey',\n\t'metaKey',\n\t'repeat',\n\t'locale',\n\t'getModifierState',\n\t'charCode',\n\t'keyCode',\n\t'which',\n];\nconst INPUT_EVENT_INTERFACE = [ ...EVENT_INTERFACE, 'data' ];\nconst EVENT_INTERFACES = {\n\tkeydown: KEYBOARD_EVENT_INTERFACE,\n\tkeyup: KEYBOARD_EVENT_INTERFACE,\n\tbeforeinput: INPUT_EVENT_INTERFACE,\n\tinput: INPUT_EVENT_INTERFACE,\n\tcompositionstart: INPUT_EVENT_INTERFACE,\n\tcompositionupdate: INPUT_EVENT_INTERFACE,\n\tcompositionend: INPUT_EVENT_INTERFACE,\n};\n\n/**\n * Builds a React `SyntheticEvent`-like object for an extension handler, which\n * expects one. It mirrors what react-dom does: a plain object wrapping the real\n * native event, eagerly copying the same interface properties React exposes for\n * the event type, so a handler sees exactly React's surface and nothing more.\n *\n * `preventDefault` and `stopPropagation` forward to the native event, so they\n * behave as through React; `stopPropagation` also flags the walk through block\n * ancestors to stop. `target` is the editable inside the block rather than the\n * real target (the editing host above it), and `currentTarget` is reassigned as\n * the event bubbles from block to block.\n *\n * @param {Event} nativeEvent The event to wrap.\n * @param {HTMLElement} target The element to report as the target.\n *\n * @return {Object} The synthetic event.\n */\nfunction createBlockSyntheticEvent( nativeEvent, target ) {\n\tlet propagationStopped = false;\n\n\tconst syntheticEvent = {\n\t\tnativeEvent,\n\t\ttype: nativeEvent.type,\n\t\ttarget,\n\t\tcurrentTarget: null,\n\t\tpreventDefault() {\n\t\t\tnativeEvent.preventDefault();\n\t\t\tsyntheticEvent.defaultPrevented = true;\n\t\t},\n\t\tisDefaultPrevented() {\n\t\t\treturn syntheticEvent.defaultPrevented;\n\t\t},\n\t\tstopPropagation() {\n\t\t\tnativeEvent.stopPropagation();\n\t\t\tpropagationStopped = true;\n\t\t},\n\t\tisPropagationStopped() {\n\t\t\treturn propagationStopped;\n\t\t},\n\t\t// The modern event system doesn't pool, so persistence is a no-op.\n\t\tpersist() {},\n\t\tisPersistent() {\n\t\t\treturn true;\n\t\t},\n\t};\n\n\tfor ( const property of EVENT_INTERFACES[ nativeEvent.type ] ) {\n\t\tconst value = nativeEvent[ property ];\n\t\tsyntheticEvent[ property ] =\n\t\t\ttypeof value === 'function' ? value.bind( nativeEvent ) : value;\n\t}\n\n\treturn syntheticEvent;\n}\n\n/**\n * Backwards compatibility for block event handlers under `editableRoot`.\n *\n * When a block supports `editableRoot`, the writing flow wrapper is the\n * contentEditable editing host, so keyboard, input and composition events\n * target the wrapper instead of the block. React `on*` handlers a third party\n * added to a block through `wrapperProps` (e.g. via an `editor.BlockListBlock`\n * filter) are on the block element, below the target, so they stop firing.\n *\n * The block registers those handlers (see `useBlockProps`), and this hook\n * calls them from the host: it resolves the block that owns the selection and\n * every block ancestor, and invokes each registered handler with a synthetic\n * event, innermost first, like a bubbling event. The listeners are attached\n * where React attaches its own (the portal container, the iframe's document\n * element), so a block's handler runs and its `preventDefault` /\n * `stopPropagation` behave as they would through React, without editableRoot.\n *\n * This does not cover handlers a filter puts on its own wrapping element rather\n * than the block's `wrapperProps`; the block element is the supported event\n * surface. It can be removed once input handling is lifted to the host.\n */\nexport default function useEditableRootEventHandlers() {\n\tconst { hasMultiSelection, getBlockParents } =\n\t\tuseSelect( blockEditorStore );\n\tconst { refsMap, eventHandlers } = useContext( BlockRefs );\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tfunction onEvent( event ) {\n\t\t\t\t// Only act on real events targeting the host itself, while it\n\t\t\t\t// is the editing host for a single block and some block has a\n\t\t\t\t// handler to call.\n\t\t\t\tif (\n\t\t\t\t\t! eventHandlers.size ||\n\t\t\t\t\tevent.target !== node ||\n\t\t\t\t\t! event.isTrusted ||\n\t\t\t\t\tnode.contentEditable !== 'true' ||\n\t\t\t\t\thasMultiSelection()\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst selection = node.ownerDocument.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 editable = getSelectionEditableElement( selection, node );\n\t\t\t\tconst clientId = getBlockClientId( editable );\n\n\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Call the handler on the block that owns the selection and each\n\t\t\t\t// of its block ancestors, innermost first, like a bubbling\n\t\t\t\t// event. The hierarchy comes from the store rather than the DOM,\n\t\t\t\t// and one synthetic event, wrapping the real event, is reused\n\t\t\t\t// for the whole chain, its currentTarget moved from block to\n\t\t\t\t// block. The element is only resolved for blocks with a handler.\n\t\t\t\tconst clientIds = [\n\t\t\t\t\tclientId,\n\t\t\t\t\t...getBlockParents( clientId, true ),\n\t\t\t\t];\n\n\t\t\t\tlet syntheticEvent;\n\t\t\t\tfor ( const ancestorClientId of clientIds ) {\n\t\t\t\t\tconst handler =\n\t\t\t\t\t\teventHandlers.get( ancestorClientId )?.current?.[\n\t\t\t\t\t\t\tevent.type\n\t\t\t\t\t\t];\n\t\t\t\t\tconst element = handler && refsMap.get( ancestorClientId );\n\n\t\t\t\t\tif ( ! element ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( ! syntheticEvent ) {\n\t\t\t\t\t\tsyntheticEvent = createBlockSyntheticEvent(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\teditable\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tsyntheticEvent.currentTarget = element;\n\t\t\t\t\thandler( syntheticEvent );\n\n\t\t\t\t\tif ( syntheticEvent.isPropagationStopped() ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Attach where React attaches its own event system: the portal\n\t\t\t// container, which for the iframed canvas is the document element\n\t\t\t// (see `preparePortalMount` in react-dom). Listening at the same\n\t\t\t// node, non-capture, means a block's handler runs in the bubbling\n\t\t\t// phase after core, and its stopPropagation stops at the same point\n\t\t\t// React's would, as its `on*` handler would without editableRoot.\n\t\t\tconst root = node.ownerDocument.documentElement;\n\t\t\tconst unsubscribers = EVENT_TYPES.map( ( type ) => {\n\t\t\t\troot.addEventListener( type, onEvent );\n\t\t\t\treturn () => root.removeEventListener( type, onEvent );\n\t\t\t} );\n\t\t\treturn () =>\n\t\t\t\tunsubscribers.forEach( ( unsubscribe ) => unsubscribe() );\n\t\t},\n\t\t[ hasMultiSelection, getBlockParents, refsMap, eventHandlers ]\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,SAAS,wBAAwB;AAC1C,SAAS,kBAAkB,mCAAmC;AAC9D,SAAS,iBAAiB;AAS1B,IAAM,mBAAmB;AAAA,EACxB,WAAW;AAAA,EACX,SAAS;AAAA,EACT,eAAe;AAAA,EACf,SAAS;AAAA,EACT,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,kBAAkB;AACnB;AAIA,IAAM,cAAc,OAAO,OAAQ,gBAAiB;AAY7C,SAAS,iBAAkB,OAAQ;AACzC,MAAI;AAEJ,aAAY,QAAQ,kBAAmB;AACtC,QAAK,OAAO,MAAO,IAAK,MAAM,YAAa;AAC1C,iBAAW,YAAY,CAAC;AACxB,eAAU,iBAAkB,IAAK,CAAE,IAAI,MAAO,IAAK;AAAA,IACpD;AAAA,EACD;AAEA,SAAO;AACR;AAQA,IAAM,kBAAkB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AACA,IAAM,2BAA2B;AAAA,EAChC,GAAG;AAAA,EACH;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AACA,IAAM,wBAAwB,CAAE,GAAG,iBAAiB,MAAO;AAC3D,IAAM,mBAAmB;AAAA,EACxB,SAAS;AAAA,EACT,OAAO;AAAA,EACP,aAAa;AAAA,EACb,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,gBAAgB;AACjB;AAmBA,SAAS,0BAA2B,aAAa,QAAS;AACzD,MAAI,qBAAqB;AAEzB,QAAM,iBAAiB;AAAA,IACtB;AAAA,IACA,MAAM,YAAY;AAAA,IAClB;AAAA,IACA,eAAe;AAAA,IACf,iBAAiB;AAChB,kBAAY,eAAe;AAC3B,qBAAe,mBAAmB;AAAA,IACnC;AAAA,IACA,qBAAqB;AACpB,aAAO,eAAe;AAAA,IACvB;AAAA,IACA,kBAAkB;AACjB,kBAAY,gBAAgB;AAC5B,2BAAqB;AAAA,IACtB;AAAA,IACA,uBAAuB;AACtB,aAAO;AAAA,IACR;AAAA;AAAA,IAEA,UAAU;AAAA,IAAC;AAAA,IACX,eAAe;AACd,aAAO;AAAA,IACR;AAAA,EACD;AAEA,aAAY,YAAY,iBAAkB,YAAY,IAAK,GAAI;AAC9D,UAAM,QAAQ,YAAa,QAAS;AACpC,mBAAgB,QAAS,IACxB,OAAO,UAAU,aAAa,MAAM,KAAM,WAAY,IAAI;AAAA,EAC5D;AAEA,SAAO;AACR;AAuBe,SAAR,+BAAgD;AACtD,QAAM,EAAE,mBAAmB,gBAAgB,IAC1C,UAAW,gBAAiB;AAC7B,QAAM,EAAE,SAAS,cAAc,IAAI,WAAY,SAAU;AACzD,SAAO;AAAA,IACN,CAAE,SAAU;AACX,eAAS,QAAS,OAAQ;AAIzB,YACC,CAAE,cAAc,QAChB,MAAM,WAAW,QACjB,CAAE,MAAM,aACR,KAAK,oBAAoB,UACzB,kBAAkB,GACjB;AACD;AAAA,QACD;AAEA,cAAM,YAAY,KAAK,cAAc,YAAY,aAAa;AAE9D,YAAK,CAAE,UAAU,YAAa;AAC7B;AAAA,QACD;AAEA,cAAM,WAAW,4BAA6B,WAAW,IAAK;AAC9D,cAAM,WAAW,iBAAkB,QAAS;AAE5C,YAAK,CAAE,UAAW;AACjB;AAAA,QACD;AAQA,cAAM,YAAY;AAAA,UACjB;AAAA,UACA,GAAG,gBAAiB,UAAU,IAAK;AAAA,QACpC;AAEA,YAAI;AACJ,mBAAY,oBAAoB,WAAY;AAC3C,gBAAM,UACL,cAAc,IAAK,gBAAiB,GAAG,UACtC,MAAM,IACP;AACD,gBAAM,UAAU,WAAW,QAAQ,IAAK,gBAAiB;AAEzD,cAAK,CAAE,SAAU;AAChB;AAAA,UACD;AAEA,cAAK,CAAE,gBAAiB;AACvB,6BAAiB;AAAA,cAChB;AAAA,cACA;AAAA,YACD;AAAA,UACD;AAEA,yBAAe,gBAAgB;AAC/B,kBAAS,cAAe;AAExB,cAAK,eAAe,qBAAqB,GAAI;AAC5C;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAQA,YAAM,OAAO,KAAK,cAAc;AAChC,YAAM,gBAAgB,YAAY,IAAK,CAAE,SAAU;AAClD,aAAK,iBAAkB,MAAM,OAAQ;AACrC,eAAO,MAAM,KAAK,oBAAqB,MAAM,OAAQ;AAAA,MACtD,CAAE;AACF,aAAO,MACN,cAAc,QAAS,CAAE,gBAAiB,YAAY,CAAE;AAAA,IAC1D;AAAA,IACA,CAAE,mBAAmB,iBAAiB,SAAS,aAAc;AAAA,EAC9D;AACD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// packages/block-editor/src/components/writing-flow/use-editable-root.js
|
|
2
|
+
import { useRegistry, useSelect } from "@wordpress/data";
|
|
3
|
+
import { useRefEffect } from "@wordpress/compose";
|
|
4
|
+
import { store as blockEditorStore } from "../../store/index.mjs";
|
|
5
|
+
import { setContentEditableWrapper } from "./utils.mjs";
|
|
6
|
+
import { getBlockClientId, getSelectionEditableElement } from "../../utils/dom.mjs";
|
|
7
|
+
import { unlock } from "../../lock-unlock.mjs";
|
|
8
|
+
function useEditableRoot() {
|
|
9
|
+
const registry = useRegistry();
|
|
10
|
+
const enabled = useSelect((select) => {
|
|
11
|
+
const { getSelectedBlockClientId, canHostEditableRoot, isZoomOut } = unlock(select(blockEditorStore));
|
|
12
|
+
return !isZoomOut() && canHostEditableRoot(getSelectedBlockClientId());
|
|
13
|
+
}, []);
|
|
14
|
+
return useRefEffect(
|
|
15
|
+
(node) => {
|
|
16
|
+
if (!enabled) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const {
|
|
20
|
+
getSelectedBlockClientId,
|
|
21
|
+
hasMultiSelection,
|
|
22
|
+
isMultiSelecting
|
|
23
|
+
} = registry.select(blockEditorStore);
|
|
24
|
+
if (!setContentEditableWrapper(node, true, { focus: false })) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const { activeElement } = node.ownerDocument;
|
|
28
|
+
const selection = node.ownerDocument.defaultView.getSelection();
|
|
29
|
+
if (activeElement !== node && activeElement?.isContentEditable && node.contains(activeElement) && getBlockClientId(activeElement) === getSelectedBlockClientId() && selection.anchorNode && activeElement.contains(selection.anchorNode)) {
|
|
30
|
+
node.focus();
|
|
31
|
+
}
|
|
32
|
+
return () => {
|
|
33
|
+
if (hasMultiSelection() || isMultiSelecting()) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
setContentEditableWrapper(node, false);
|
|
37
|
+
if (node.ownerDocument.activeElement === node) {
|
|
38
|
+
const editable = getSelectionEditableElement(
|
|
39
|
+
node.ownerDocument.defaultView.getSelection(),
|
|
40
|
+
node
|
|
41
|
+
);
|
|
42
|
+
if (editable && getBlockClientId(editable) === getSelectedBlockClientId()) {
|
|
43
|
+
editable.focus();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
[enabled, registry]
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
export {
|
|
52
|
+
useEditableRoot as default
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=use-editable-root.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/writing-flow/use-editable-root.js"],
|
|
4
|
+
"sourcesContent": ["import { useRegistry, useSelect } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\nimport { store as blockEditorStore } from '../../store';\nimport { setContentEditableWrapper } from './utils';\nimport { getBlockClientId, getSelectionEditableElement } from '../../utils/dom';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Keeps the writing flow wrapper contentEditable while the selected block\n * supports `editableRoot`, so the native selection can extend across blocks.\n * While the wrapper is editable it must also hold focus: a nested editable\n * element cannot retain focus once an ancestor becomes an editing host (the\n * first DOM mutation moves focus to the host, inconsistently across\n * browsers).\n */\nexport default function useEditableRoot() {\n\tconst registry = useRegistry();\n\tconst enabled = useSelect( ( select ) => {\n\t\tconst { getSelectedBlockClientId, canHostEditableRoot, isZoomOut } =\n\t\t\tunlock( select( blockEditorStore ) );\n\t\treturn (\n\t\t\t! isZoomOut() && canHostEditableRoot( getSelectedBlockClientId() )\n\t\t);\n\t}, [] );\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( ! enabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\thasMultiSelection,\n\t\t\t\tisMultiSelecting,\n\t\t\t} = registry.select( blockEditorStore );\n\n\t\t\t// Focus is moved separately below, only when an editable\n\t\t\t// element belonging to the selected block holds it.\n\t\t\tif ( ! setContentEditableWrapper( node, true, { focus: false } ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Move focus from the block's editable element to the wrapper,\n\t\t\t// but only when an editable element belonging to the selected\n\t\t\t// block has focus. Never steal focus from other regions (e.g.\n\t\t\t// List View), UI elements (e.g. buttons), or other editables\n\t\t\t// within the wrapper (e.g. the post title). The selection is\n\t\t\t// preserved. If the selection is still outside the focused\n\t\t\t// element, a mousedown just focused it and the browser has not\n\t\t\t// placed the caret yet; moving focus now would cancel the\n\t\t\t// pending caret placement. The selection observer moves focus\n\t\t\t// once the selection lands.\n\t\t\tconst { activeElement } = node.ownerDocument;\n\t\t\tconst selection = node.ownerDocument.defaultView.getSelection();\n\t\t\tif (\n\t\t\t\tactiveElement !== node &&\n\t\t\t\tactiveElement?.isContentEditable &&\n\t\t\t\tnode.contains( activeElement ) &&\n\t\t\t\tgetBlockClientId( activeElement ) ===\n\t\t\t\t\tgetSelectedBlockClientId() &&\n\t\t\t\tselection.anchorNode &&\n\t\t\t\tactiveElement.contains( selection.anchorNode )\n\t\t\t) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\t// A multi-selection owns the wrapper as its editing host\n\t\t\t\t// now: the host and its textbox semantics remain, and the\n\t\t\t\t// selection observer disables both together when the\n\t\t\t\t// selection collapses. Removing the attributes here would\n\t\t\t\t// strip the accessible name off the focused editing host at\n\t\t\t\t// the moment cross-block editing begins.\n\t\t\t\tif ( hasMultiSelection() || isMultiSelecting() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetContentEditableWrapper( node, false );\n\n\t\t\t\t// If the wrapper held focus, return focus to the editable\n\t\t\t\t// element containing the selection, which is focusable\n\t\t\t\t// again now that the wrapper is no longer an editing host.\n\t\t\t\t// Only do so if that element belongs to the selected block:\n\t\t\t\t// when the selection moved to another block through the\n\t\t\t\t// store, the stale DOM selection must not reclaim block\n\t\t\t\t// selection through its focus handler.\n\t\t\t\tif ( node.ownerDocument.activeElement === node ) {\n\t\t\t\t\tconst editable = getSelectionEditableElement(\n\t\t\t\t\t\tnode.ownerDocument.defaultView.getSelection(),\n\t\t\t\t\t\tnode\n\t\t\t\t\t);\n\t\t\t\t\tif (\n\t\t\t\t\t\teditable &&\n\t\t\t\t\t\tgetBlockClientId( editable ) ===\n\t\t\t\t\t\t\tgetSelectedBlockClientId()\n\t\t\t\t\t) {\n\t\t\t\t\t\teditable.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\t[ enabled, registry ]\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,aAAa,iBAAiB;AACvC,SAAS,oBAAoB;AAC7B,SAAS,SAAS,wBAAwB;AAC1C,SAAS,iCAAiC;AAC1C,SAAS,kBAAkB,mCAAmC;AAC9D,SAAS,cAAc;AAUR,SAAR,kBAAmC;AACzC,QAAM,WAAW,YAAY;AAC7B,QAAM,UAAU,UAAW,CAAE,WAAY;AACxC,UAAM,EAAE,0BAA0B,qBAAqB,UAAU,IAChE,OAAQ,OAAQ,gBAAiB,CAAE;AACpC,WACC,CAAE,UAAU,KAAK,oBAAqB,yBAAyB,CAAE;AAAA,EAEnE,GAAG,CAAC,CAAE;AAEN,SAAO;AAAA,IACN,CAAE,SAAU;AACX,UAAK,CAAE,SAAU;AAChB;AAAA,MACD;AAEA,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,SAAS,OAAQ,gBAAiB;AAItC,UAAK,CAAE,0BAA2B,MAAM,MAAM,EAAE,OAAO,MAAM,CAAE,GAAI;AAClE;AAAA,MACD;AAYA,YAAM,EAAE,cAAc,IAAI,KAAK;AAC/B,YAAM,YAAY,KAAK,cAAc,YAAY,aAAa;AAC9D,UACC,kBAAkB,QAClB,eAAe,qBACf,KAAK,SAAU,aAAc,KAC7B,iBAAkB,aAAc,MAC/B,yBAAyB,KAC1B,UAAU,cACV,cAAc,SAAU,UAAU,UAAW,GAC5C;AACD,aAAK,MAAM;AAAA,MACZ;AAEA,aAAO,MAAM;AAOZ,YAAK,kBAAkB,KAAK,iBAAiB,GAAI;AAChD;AAAA,QACD;AAEA,kCAA2B,MAAM,KAAM;AASvC,YAAK,KAAK,cAAc,kBAAkB,MAAO;AAChD,gBAAM,WAAW;AAAA,YAChB,KAAK,cAAc,YAAY,aAAa;AAAA,YAC5C;AAAA,UACD;AACA,cACC,YACA,iBAAkB,QAAS,MAC1B,yBAAyB,GACzB;AACD,qBAAS,MAAM;AAAA,UAChB;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,SAAS,QAAS;AAAA,EACrB;AACD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// packages/block-editor/src/components/writing-flow/use-home-end.js
|
|
2
|
+
import { HOME, END } from "@wordpress/keycodes";
|
|
3
|
+
import { useSelect } from "@wordpress/data";
|
|
4
|
+
import { useRefEffect } from "@wordpress/compose";
|
|
5
|
+
import { getSelectionEditableElement } from "../../utils/dom.mjs";
|
|
6
|
+
import { store as blockEditorStore } from "../../store/index.mjs";
|
|
7
|
+
function useHomeEnd() {
|
|
8
|
+
const { hasMultiSelection } = useSelect(blockEditorStore);
|
|
9
|
+
return useRefEffect((node) => {
|
|
10
|
+
function onKeyDown(event) {
|
|
11
|
+
if (event.defaultPrevented) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (event.keyCode !== HOME && event.keyCode !== END) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (event.metaKey || event.ctrlKey || event.altKey) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (!event.target.isContentEditable || hasMultiSelection()) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const selection = node.ownerDocument.defaultView.getSelection();
|
|
24
|
+
if (!getSelectionEditableElement(selection, node)) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
selection.modify(
|
|
29
|
+
event.shiftKey ? "extend" : "move",
|
|
30
|
+
event.keyCode === HOME ? "backward" : "forward",
|
|
31
|
+
"lineboundary"
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
node.addEventListener("keydown", onKeyDown);
|
|
35
|
+
return () => {
|
|
36
|
+
node.removeEventListener("keydown", onKeyDown);
|
|
37
|
+
};
|
|
38
|
+
}, []);
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
useHomeEnd as default
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=use-home-end.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/writing-flow/use-home-end.js"],
|
|
4
|
+
"sourcesContent": ["import { HOME, END } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\nimport { getSelectionEditableElement } from '../../utils/dom';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Moves the caret to the start or end of the visual line for Home and End\n * with `Selection.modify()`, because the browser's default caret movement\n * cannot be relied on in two cases:\n *\n * - While the wrapper is the contentEditable editing host (a selected block\n * supports `editableRoot`), browsers don't perform the default caret\n * movement for Home and End.\n * - Chromium on macOS maps Home and End to scroll commands, so it never\n * moves the caret in editable content on that platform, including nested\n * editable elements like the tab labels in the tab-list block.\n */\nexport default function useHomeEnd() {\n\tconst { hasMultiSelection } = useSelect( blockEditorStore );\n\treturn 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\tif ( event.keyCode !== HOME && event.keyCode !== END ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.metaKey || event.ctrlKey || event.altKey ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only handle keys pressed in editable content, in both of the\n\t\t\t// cases mentioned above: `event.target` is the focused element,\n\t\t\t// and `isContentEditable` is true both for the wrapper as the\n\t\t\t// editing host and for a nested editable element like a tab label.\n\t\t\t// Anything else that takes focus like inputs and textareas keep\n\t\t\t// default behavior.\n\t\t\tif ( ! event.target.isContentEditable || hasMultiSelection() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selection = node.ownerDocument.defaultView.getSelection();\n\n\t\t\tif ( ! getSelectionEditableElement( selection, node ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t\tselection.modify(\n\t\t\t\tevent.shiftKey ? 'extend' : 'move',\n\t\t\t\tevent.keyCode === HOME ? 'backward' : 'forward',\n\t\t\t\t'lineboundary'\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,MAAM,WAAW;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,mCAAmC;AAC5C,SAAS,SAAS,wBAAwB;AAc3B,SAAR,aAA8B;AACpC,QAAM,EAAE,kBAAkB,IAAI,UAAW,gBAAiB;AAC1D,SAAO,aAAc,CAAE,SAAU;AAChC,aAAS,UAAW,OAAQ;AAC3B,UAAK,MAAM,kBAAmB;AAC7B;AAAA,MACD;AAEA,UAAK,MAAM,YAAY,QAAQ,MAAM,YAAY,KAAM;AACtD;AAAA,MACD;AAEA,UAAK,MAAM,WAAW,MAAM,WAAW,MAAM,QAAS;AACrD;AAAA,MACD;AAQA,UAAK,CAAE,MAAM,OAAO,qBAAqB,kBAAkB,GAAI;AAC9D;AAAA,MACD;AAEA,YAAM,YAAY,KAAK,cAAc,YAAY,aAAa;AAE9D,UAAK,CAAE,4BAA6B,WAAW,IAAK,GAAI;AACvD;AAAA,MACD;AAEA,YAAM,eAAe;AACrB,gBAAU;AAAA,QACT,MAAM,WAAW,WAAW;AAAA,QAC5B,MAAM,YAAY,OAAO,aAAa;AAAA,QACtC;AAAA,MACD;AAAA,IACD;AAEA,SAAK,iBAAkB,WAAW,SAAU;AAC5C,WAAO,MAAM;AACZ,WAAK,oBAAqB,WAAW,SAAU;AAAA,IAChD;AAAA,EACD,GAAG,CAAC,CAAE;AACP;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -10,6 +10,8 @@ import {
|
|
|
10
10
|
findTransform
|
|
11
11
|
} from "@wordpress/blocks";
|
|
12
12
|
import { store as blockEditorStore } from "../../store/index.mjs";
|
|
13
|
+
import { setContentEditableWrapper } from "./utils.mjs";
|
|
14
|
+
import { getSelectionEditableElement } from "../../utils/dom.mjs";
|
|
13
15
|
function useInput() {
|
|
14
16
|
const {
|
|
15
17
|
__unstableIsFullySelected,
|
|
@@ -34,7 +36,15 @@ function useInput() {
|
|
|
34
36
|
} = useDispatch(blockEditorStore);
|
|
35
37
|
return useRefEffect((node) => {
|
|
36
38
|
function onBeforeInput(event) {
|
|
37
|
-
if (node.contentEditable
|
|
39
|
+
if (node.contentEditable !== "true") {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (hasMultiSelection()) {
|
|
43
|
+
event.preventDefault();
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const selection = node.ownerDocument.defaultView.getSelection();
|
|
47
|
+
if (!getSelectionEditableElement(selection, node)) {
|
|
38
48
|
event.preventDefault();
|
|
39
49
|
}
|
|
40
50
|
}
|
|
@@ -92,7 +102,7 @@ function useInput() {
|
|
|
92
102
|
return;
|
|
93
103
|
}
|
|
94
104
|
if (event.keyCode === ENTER) {
|
|
95
|
-
node
|
|
105
|
+
setContentEditableWrapper(node, false);
|
|
96
106
|
event.preventDefault();
|
|
97
107
|
if (__unstableIsFullySelected()) {
|
|
98
108
|
replaceBlocks(
|
|
@@ -103,7 +113,7 @@ function useInput() {
|
|
|
103
113
|
__unstableSplitSelection();
|
|
104
114
|
}
|
|
105
115
|
} else if (event.keyCode === BACKSPACE || event.keyCode === DELETE) {
|
|
106
|
-
node
|
|
116
|
+
setContentEditableWrapper(node, false);
|
|
107
117
|
event.preventDefault();
|
|
108
118
|
if (__unstableIsFullySelected()) {
|
|
109
119
|
removeBlocks(getSelectedBlockClientIds());
|
|
@@ -117,7 +127,7 @@ function useInput() {
|
|
|
117
127
|
// input anything.
|
|
118
128
|
event.key.length === 1 && !(event.metaKey || event.ctrlKey)
|
|
119
129
|
) {
|
|
120
|
-
node
|
|
130
|
+
setContentEditableWrapper(node, false);
|
|
121
131
|
if (__unstableIsSelectionMergeable()) {
|
|
122
132
|
__unstableDeleteSelection(event.keyCode === DELETE);
|
|
123
133
|
} else {
|
|
@@ -130,7 +140,7 @@ function useInput() {
|
|
|
130
140
|
if (!hasMultiSelection()) {
|
|
131
141
|
return;
|
|
132
142
|
}
|
|
133
|
-
node
|
|
143
|
+
setContentEditableWrapper(node, false);
|
|
134
144
|
if (__unstableIsSelectionMergeable()) {
|
|
135
145
|
__unstableDeleteSelection();
|
|
136
146
|
} else {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/writing-flow/use-input.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\nimport { ENTER, BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport {\n\tcreateBlock,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tgetBlockTransforms,\n\tfindTransform,\n} from '@wordpress/blocks';\nimport { store as blockEditorStore } from '../../store';\nimport { setContentEditableWrapper } from './utils';\nimport { getSelectionEditableElement } from '../../utils/dom';\n\n/**\n * Handles input for selections across blocks.\n */\nexport default function useInput() {\n\tconst {\n\t\t__unstableIsFullySelected,\n\t\tgetSelectedBlockClientIds,\n\t\tgetSelectedBlockClientId,\n\t\t__unstableIsSelectionMergeable,\n\t\thasMultiSelection,\n\t\tgetBlockName,\n\t\tcanInsertBlockType,\n\t\tgetBlockRootClientId,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t\tgetBlockAttributes,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\treplaceBlocks,\n\t\t__unstableSplitSelection,\n\t\tremoveBlocks,\n\t\t__unstableDeleteSelection,\n\t\t__unstableExpandSelection,\n\t\t__unstableMarkAutomaticChange,\n\t} = useDispatch( blockEditorStore );\n\n\treturn useRefEffect( ( node ) => {\n\t\tfunction onBeforeInput( event ) {\n\t\t\t// If writing flow is editable, never allow the browser to alter\n\t\t\t// the DOM outside of an editable element within a block. This\n\t\t\t// will cause React errors (and the DOM should only be altered in\n\t\t\t// a controlled fashion). The wrapper can be contentEditable with\n\t\t\t// a single selection when the selected block supports\n\t\t\t// `editableRoot`; in that case edits within the block's editable\n\t\t\t// element are handled by its rich text instance.\n\t\t\tif ( node.contentEditable !== 'true' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hasMultiSelection() ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selection = node.ownerDocument.defaultView.getSelection();\n\n\t\t\tif ( ! getSelectionEditableElement( selection, node ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( ! hasMultiSelection() ) {\n\t\t\t\tif ( event.keyCode === ENTER ) {\n\t\t\t\t\tif ( event.shiftKey || __unstableIsFullySelected() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\t\t\tconst blockName = getBlockName( clientId );\n\t\t\t\t\tconst selectionStart = getSelectionStart();\n\t\t\t\t\tconst selectionEnd = getSelectionEnd();\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tselectionStart.attributeKey ===\n\t\t\t\t\t\tselectionEnd.attributeKey\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst selectedAttributeValue =\n\t\t\t\t\t\t\tgetBlockAttributes( clientId )[\n\t\t\t\t\t\t\t\tselectionStart.attributeKey\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\tconst transforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t\t\t\t( { type } ) => type === 'enter'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst transformation = findTransform(\n\t\t\t\t\t\t\ttransforms,\n\t\t\t\t\t\t\t( item ) => {\n\t\t\t\t\t\t\t\treturn item.regExp.test(\n\t\t\t\t\t\t\t\t\tselectedAttributeValue\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( transformation ) {\n\t\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\ttransformation.transform( {\n\t\t\t\t\t\t\t\t\tcontent: selectedAttributeValue,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t__unstableMarkAutomaticChange();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! hasBlockSupport( blockName, 'splitting', false ) &&\n\t\t\t\t\t\t! event.__deprecatedOnSplit\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Ensure template is not locked.\n\t\t\t\t\tif (\n\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\tgetDefaultBlockName(),\n\t\t\t\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t\t\t\t) ||\n\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\t__unstableSplitSelection();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode === ENTER ) {\n\t\t\t\tsetContentEditableWrapper( node, false );\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif ( __unstableIsFullySelected() ) {\n\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\tgetSelectedBlockClientIds(),\n\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t__unstableSplitSelection();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tevent.keyCode === BACKSPACE ||\n\t\t\t\tevent.keyCode === DELETE\n\t\t\t) {\n\t\t\t\tsetContentEditableWrapper( node, false );\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif ( __unstableIsFullySelected() ) {\n\t\t\t\t\tremoveBlocks( getSelectedBlockClientIds() );\n\t\t\t\t} else if ( __unstableIsSelectionMergeable() ) {\n\t\t\t\t\t__unstableDeleteSelection( event.keyCode === DELETE );\n\t\t\t\t} else {\n\t\t\t\t\t__unstableExpandSelection();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t// If key.length is longer than 1, it's a control key that doesn't\n\t\t\t\t// input anything.\n\t\t\t\tevent.key.length === 1 &&\n\t\t\t\t! ( event.metaKey || event.ctrlKey )\n\t\t\t) {\n\t\t\t\tsetContentEditableWrapper( node, false );\n\t\t\t\tif ( __unstableIsSelectionMergeable() ) {\n\t\t\t\t\t__unstableDeleteSelection( event.keyCode === DELETE );\n\t\t\t\t} else {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t// Safari does not stop default behaviour with either\n\t\t\t\t\t// event.preventDefault() or node.contentEditable = false, so\n\t\t\t\t\t// remove the selection to stop browser manipulation.\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}\n\t\t\t}\n\t\t}\n\n\t\tfunction onCompositionStart( event ) {\n\t\t\tif ( ! hasMultiSelection() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetContentEditableWrapper( node, false );\n\n\t\t\tif ( __unstableIsSelectionMergeable() ) {\n\t\t\t\t__unstableDeleteSelection();\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t// Safari does not stop default behaviour with either\n\t\t\t\t// event.preventDefault() or node.contentEditable = false, so\n\t\t\t\t// remove the selection to stop browser manipulation.\n\t\t\t\tnode.ownerDocument.defaultView.getSelection().removeAllRanges();\n\t\t\t}\n\t\t}\n\n\t\tnode.addEventListener( 'beforeinput', onBeforeInput );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\tnode.addEventListener( 'compositionstart', onCompositionStart );\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'beforeinput', onBeforeInput );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\tnode.removeEventListener( 'compositionstart', onCompositionStart );\n\t\t};\n\t}, [] );\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,WAAW,mBAAmB;AACvC,SAAS,oBAAoB;AAC7B,SAAS,OAAO,WAAW,cAAc;AACzC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,SAAS,wBAAwB;AAC1C,SAAS,iCAAiC;AAC1C,SAAS,mCAAmC;AAK7B,SAAR,WAA4B;AAClC,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,UAAW,gBAAiB;AAChC,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,YAAa,gBAAiB;AAElC,SAAO,aAAc,CAAE,SAAU;AAChC,aAAS,cAAe,OAAQ;AAQ/B,UAAK,KAAK,oBAAoB,QAAS;AACtC;AAAA,MACD;AAEA,UAAK,kBAAkB,GAAI;AAC1B,cAAM,eAAe;AACrB;AAAA,MACD;AAEA,YAAM,YAAY,KAAK,cAAc,YAAY,aAAa;AAE9D,UAAK,CAAE,4BAA6B,WAAW,IAAK,GAAI;AACvD,cAAM,eAAe;AAAA,MACtB;AAAA,IACD;AAEA,aAAS,UAAW,OAAQ;AAC3B,UAAK,MAAM,kBAAmB;AAC7B;AAAA,MACD;AAEA,UAAK,CAAE,kBAAkB,GAAI;AAC5B,YAAK,MAAM,YAAY,OAAQ;AAC9B,cAAK,MAAM,YAAY,0BAA0B,GAAI;AACpD;AAAA,UACD;AAEA,gBAAM,WAAW,yBAAyB;AAC1C,gBAAM,YAAY,aAAc,QAAS;AACzC,gBAAM,iBAAiB,kBAAkB;AACzC,gBAAM,eAAe,gBAAgB;AAErC,cACC,eAAe,iBACf,aAAa,cACZ;AACD,kBAAM,yBACL,mBAAoB,QAAS,EAC5B,eAAe,YAChB;AACD,kBAAM,aAAa,mBAAoB,MAAO,EAAE;AAAA,cAC/C,CAAE,EAAE,KAAK,MAAO,SAAS;AAAA,YAC1B;AACA,kBAAM,iBAAiB;AAAA,cACtB;AAAA,cACA,CAAE,SAAU;AACX,uBAAO,KAAK,OAAO;AAAA,kBAClB;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAEA,gBAAK,gBAAiB;AACrB;AAAA,gBACC;AAAA,gBACA,eAAe,UAAW;AAAA,kBACzB,SAAS;AAAA,gBACV,CAAE;AAAA,cACH;AACA,4CAA8B;AAC9B;AAAA,YACD;AAAA,UACD;AAEA,cACC,CAAE,gBAAiB,WAAW,aAAa,KAAM,KACjD,CAAE,MAAM,qBACP;AACD;AAAA,UACD;AAGA,cACC;AAAA,YACC,oBAAoB;AAAA,YACpB,qBAAsB,QAAS;AAAA,UAChC,KACA;AAAA,YACC;AAAA,YACA,qBAAsB,QAAS;AAAA,UAChC,GACC;AACD,qCAAyB;AACzB,kBAAM,eAAe;AAAA,UACtB;AAAA,QACD;AACA;AAAA,MACD;AAEA,UAAK,MAAM,YAAY,OAAQ;AAC9B,kCAA2B,MAAM,KAAM;AACvC,cAAM,eAAe;AACrB,YAAK,0BAA0B,GAAI;AAClC;AAAA,YACC,0BAA0B;AAAA,YAC1B,YAAa,oBAAoB,CAAE;AAAA,UACpC;AAAA,QACD,OAAO;AACN,mCAAyB;AAAA,QAC1B;AAAA,MACD,WACC,MAAM,YAAY,aAClB,MAAM,YAAY,QACjB;AACD,kCAA2B,MAAM,KAAM;AACvC,cAAM,eAAe;AACrB,YAAK,0BAA0B,GAAI;AAClC,uBAAc,0BAA0B,CAAE;AAAA,QAC3C,WAAY,+BAA+B,GAAI;AAC9C,oCAA2B,MAAM,YAAY,MAAO;AAAA,QACrD,OAAO;AACN,oCAA0B;AAAA,QAC3B;AAAA,MACD;AAAA;AAAA;AAAA,QAGC,MAAM,IAAI,WAAW,KACrB,EAAI,MAAM,WAAW,MAAM;AAAA,QAC1B;AACD,kCAA2B,MAAM,KAAM;AACvC,YAAK,+BAA+B,GAAI;AACvC,oCAA2B,MAAM,YAAY,MAAO;AAAA,QACrD,OAAO;AACN,gBAAM,eAAe;AAIrB,eAAK,cAAc,YACjB,aAAa,EACb,gBAAgB;AAAA,QACnB;AAAA,MACD;AAAA,IACD;AAEA,aAAS,mBAAoB,OAAQ;AACpC,UAAK,CAAE,kBAAkB,GAAI;AAC5B;AAAA,MACD;AAEA,gCAA2B,MAAM,KAAM;AAEvC,UAAK,+BAA+B,GAAI;AACvC,kCAA0B;AAAA,MAC3B,OAAO;AACN,cAAM,eAAe;AAIrB,aAAK,cAAc,YAAY,aAAa,EAAE,gBAAgB;AAAA,MAC/D;AAAA,IACD;AAEA,SAAK,iBAAkB,eAAe,aAAc;AACpD,SAAK,iBAAkB,WAAW,SAAU;AAC5C,SAAK,iBAAkB,oBAAoB,kBAAmB;AAC9D,WAAO,MAAM;AACZ,WAAK,oBAAqB,eAAe,aAAc;AACvD,WAAK,oBAAqB,WAAW,SAAU;AAC/C,WAAK,oBAAqB,oBAAoB,kBAAmB;AAAA,IAClE;AAAA,EACD,GAAG,CAAC,CAAE;AACP;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { useRefEffect } from "@wordpress/compose";
|
|
3
3
|
import { useSelect } from "@wordpress/data";
|
|
4
4
|
import { store as blockEditorStore } from "../../store/index.mjs";
|
|
5
|
+
import { setContentEditableWrapper } from "./utils.mjs";
|
|
5
6
|
function selector(select) {
|
|
6
7
|
const {
|
|
7
8
|
isMultiSelecting,
|
|
@@ -46,8 +47,7 @@ function useMultiSelection() {
|
|
|
46
47
|
if (!isFullSelection) {
|
|
47
48
|
return;
|
|
48
49
|
}
|
|
49
|
-
node
|
|
50
|
-
node.focus();
|
|
50
|
+
setContentEditableWrapper(node, true);
|
|
51
51
|
defaultView.getSelection().removeAllRanges();
|
|
52
52
|
},
|
|
53
53
|
[
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/writing-flow/use-multi-selection.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '../../store';\nimport { setContentEditableWrapper } from './utils';\n\nfunction selector( select ) {\n\tconst {\n\t\tisMultiSelecting,\n\t\tgetMultiSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\tgetSelectedBlockClientId,\n\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t__unstableIsFullySelected,\n\t} = select( blockEditorStore );\n\n\treturn {\n\t\tisMultiSelecting: isMultiSelecting(),\n\t\tmultiSelectedBlockClientIds: getMultiSelectedBlockClientIds(),\n\t\thasMultiSelection: hasMultiSelection(),\n\t\tselectedBlockClientId: getSelectedBlockClientId(),\n\t\tinitialPosition: getSelectedBlocksInitialCaretPosition(),\n\t\tisFullSelection: __unstableIsFullySelected(),\n\t};\n}\n\nexport default function useMultiSelection() {\n\tconst {\n\t\tinitialPosition,\n\t\tisMultiSelecting,\n\t\tmultiSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\tselectedBlockClientId,\n\t\tisFullSelection,\n\t} = useSelect( selector, [] );\n\n\t/**\n\t * When the component updates, and there is multi selection, we need to\n\t * select the entire block contents.\n\t */\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView } = ownerDocument;\n\n\t\t\t// Allow initialPosition to bypass focus behavior. This is useful\n\t\t\t// for the list view or other areas where we don't want to transfer\n\t\t\t// focus to the editor canvas.\n\t\t\tif ( initialPosition === undefined || initialPosition === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( ! hasMultiSelection || isMultiSelecting ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { length } = multiSelectedBlockClientIds;\n\n\t\t\tif ( length < 2 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( ! isFullSelection ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Allow cross contentEditable selection by temporarily making\n\t\t\t// all content editable. We can't rely on using the store and\n\t\t\t// React because re-rending happens too slowly. We need to be\n\t\t\t// able to select across instances immediately.\n\t\t\t// For some browsers, like Safari, it is important that focus\n\t\t\t// happens BEFORE selection removal.\n\t\t\tsetContentEditableWrapper( node, true );\n\n\t\t\tdefaultView.getSelection().removeAllRanges();\n\t\t},\n\t\t[\n\t\t\thasMultiSelection,\n\t\t\tisMultiSelecting,\n\t\t\tmultiSelectedBlockClientIds,\n\t\t\tselectedBlockClientId,\n\t\t\tinitialPosition,\n\t\t\tisFullSelection,\n\t\t]\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAC1B,SAAS,SAAS,wBAAwB;AAC1C,SAAS,iCAAiC;AAE1C,SAAS,SAAU,QAAS;AAC3B,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,OAAQ,gBAAiB;AAE7B,SAAO;AAAA,IACN,kBAAkB,iBAAiB;AAAA,IACnC,6BAA6B,+BAA+B;AAAA,IAC5D,mBAAmB,kBAAkB;AAAA,IACrC,uBAAuB,yBAAyB;AAAA,IAChD,iBAAiB,sCAAsC;AAAA,IACvD,iBAAiB,0BAA0B;AAAA,EAC5C;AACD;AAEe,SAAR,oBAAqC;AAC3C,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,UAAW,UAAU,CAAC,CAAE;AAM5B,SAAO;AAAA,IACN,CAAE,SAAU;AACX,YAAM,EAAE,cAAc,IAAI;AAC1B,YAAM,EAAE,YAAY,IAAI;AAKxB,UAAK,oBAAoB,UAAa,oBAAoB,MAAO;AAChE;AAAA,MACD;AAEA,UAAK,CAAE,qBAAqB,kBAAmB;AAC9C;AAAA,MACD;AAEA,YAAM,EAAE,OAAO,IAAI;AAEnB,UAAK,SAAS,GAAI;AACjB;AAAA,MACD;AAEA,UAAK,CAAE,iBAAkB;AACxB;AAAA,MACD;AAQA,gCAA2B,MAAM,IAAK;AAEtC,kBAAY,aAAa,EAAE,gBAAgB;AAAA,IAC5C;AAAA,IACA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/writing-flow/use-preview-mode-nav.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import { useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { TAB, UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * In preview mode, handles Tab and arrow key navigation to move only between\n * block elements, skipping all other focusable content.\n *\n * @return {Function} Ref callback.\n */\nexport function usePreviewModeNav() {\n\tconst isPreviewMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().isPreviewMode,\n\t\t[]\n\t);\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( ! isPreviewMode ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction onKeyDown( event ) {\n\t\t\t\tconst { keyCode, shiftKey, target } = event;\n\n\t\t\t\tconst isTab = keyCode === TAB;\n\t\t\t\tconst isUp = keyCode === UP;\n\t\t\t\tconst isDown = keyCode === DOWN;\n\t\t\t\tconst isLeft = keyCode === LEFT;\n\t\t\t\tconst isRight = keyCode === RIGHT;\n\t\t\t\tconst isArrow = isUp || isDown || isLeft || isRight;\n\n\t\t\t\tif ( ! isTab && ! isArrow ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst isReverse = isTab ? shiftKey : isUp || isLeft;\n\n\t\t\t\tconst blocks = Array.from(\n\t\t\t\t\tnode.querySelectorAll( '[data-block]' )\n\t\t\t\t);\n\n\t\t\t\tif ( ! blocks.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst currentBlock = target.closest( '[data-block]' );\n\t\t\t\tconst currentIndex = currentBlock\n\t\t\t\t\t? blocks.indexOf( currentBlock )\n\t\t\t\t\t: -1;\n\n\t\t\t\t// If focus is not on a block, don't intercept navigation.\n\t\t\t\tif ( currentIndex === -1 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// For Tab navigation, allow escaping the block list at boundaries.\n\t\t\t\t// For arrow keys, wrap around.\n\t\t\t\tif ( isTab ) {\n\t\t\t\t\tif ( isReverse && currentIndex === 0 ) {\n\t\t\t\t\t\t// At first block, Shift+Tab should exit the block list.\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif ( ! isReverse && currentIndex === blocks.length - 1 ) {\n\t\t\t\t\t\t// At last block, Tab should exit the block list.\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet nextIndex;\n\t\t\t\tif ( isReverse ) {\n\t\t\t\t\tnextIndex =\n\t\t\t\t\t\tcurrentIndex <= 0\n\t\t\t\t\t\t\t? blocks.length - 1\n\t\t\t\t\t\t\t: currentIndex - 1;\n\t\t\t\t} else {\n\t\t\t\t\tnextIndex =\n\t\t\t\t\t\tcurrentIndex === -1 || currentIndex >= blocks.length - 1\n\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t: currentIndex + 1;\n\t\t\t\t}\n\n\t\t\t\tevent.preventDefault();\n\t\t\t\tblocks[ nextIndex ].focus();\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\t};\n\t\t},\n\t\t[ isPreviewMode ]\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAC1B,SAAS,KAAK,IAAI,MAAM,MAAM,aAAa;AAC3C,SAAS,SAAS,wBAAwB;AAQnC,SAAS,oBAAoB;AACnC,QAAM,gBAAgB;AAAA,IACrB,CAAE,WAAY,OAAQ,gBAAiB,EAAE,YAAY,EAAE;AAAA,IACvD,CAAC;AAAA,EACF;AAEA,SAAO;AAAA,IACN,CAAE,SAAU;AACX,UAAK,CAAE,eAAgB;AACtB;AAAA,MACD;AAEA,eAAS,UAAW,OAAQ;AAC3B,cAAM,EAAE,SAAS,UAAU,OAAO,IAAI;AAEtC,cAAM,QAAQ,YAAY;AAC1B,cAAM,OAAO,YAAY;AACzB,cAAM,SAAS,YAAY;AAC3B,cAAM,SAAS,YAAY;AAC3B,cAAM,UAAU,YAAY;AAC5B,cAAM,UAAU,QAAQ,UAAU,UAAU;AAE5C,YAAK,CAAE,SAAS,CAAE,SAAU;AAC3B;AAAA,QACD;AAEA,cAAM,YAAY,QAAQ,WAAW,QAAQ;AAE7C,cAAM,SAAS,MAAM;AAAA,UACpB,KAAK,iBAAkB,cAAe;AAAA,QACvC;AAEA,YAAK,CAAE,OAAO,QAAS;AACtB;AAAA,QACD;AAEA,cAAM,eAAe,OAAO,QAAS,cAAe;AACpD,cAAM,eAAe,eAClB,OAAO,QAAS,YAAa,IAC7B;AAGH,YAAK,iBAAiB,IAAK;AAC1B;AAAA,QACD;AAIA,YAAK,OAAQ;AACZ,cAAK,aAAa,iBAAiB,GAAI;AAEtC;AAAA,UACD;AACA,cAAK,CAAE,aAAa,iBAAiB,OAAO,SAAS,GAAI;AAExD;AAAA,UACD;AAAA,QACD;AAEA,YAAI;AACJ,YAAK,WAAY;AAChB,sBACC,gBAAgB,IACb,OAAO,SAAS,IAChB,eAAe;AAAA,QACpB,OAAO;AACN,sBACC,iBAAiB,MAAM,gBAAgB,OAAO,SAAS,IACpD,IACA,eAAe;AAAA,QACpB;AAEA,cAAM,eAAe;AACrB,eAAQ,SAAU,EAAE,MAAM;AAAA,MAC3B;AAEA,WAAK,iBAAkB,WAAW,SAAU;AAC5C,aAAO,MAAM;AACZ,aAAK,oBAAqB,WAAW,SAAU;AAAA,MAChD;AAAA,IACD;AAAA,IACA,CAAE,aAAc;AAAA,EACjB;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,7 +4,11 @@ import { useSelect, useDispatch } from "@wordpress/data";
|
|
|
4
4
|
import { __unstableUseShortcutEventMatch as useShortcutEventMatch } from "@wordpress/keyboard-shortcuts";
|
|
5
5
|
import { useRefEffect } from "@wordpress/compose";
|
|
6
6
|
import { store as blockEditorStore } from "../../store/index.mjs";
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
isInsideRootBlock,
|
|
9
|
+
getBlockClientId,
|
|
10
|
+
getSelectionEditableElement
|
|
11
|
+
} from "../../utils/dom.mjs";
|
|
8
12
|
function useSelectAll() {
|
|
9
13
|
const { getBlockOrder, getSelectedBlockClientIds, getBlockRootClientId } = useSelect(blockEditorStore);
|
|
10
14
|
const { multiSelect, selectBlock } = useDispatch(blockEditorStore);
|
|
@@ -15,11 +19,23 @@ function useSelectAll() {
|
|
|
15
19
|
return;
|
|
16
20
|
}
|
|
17
21
|
const selectedClientIds = getSelectedBlockClientIds();
|
|
18
|
-
|
|
22
|
+
const { ownerDocument } = node;
|
|
23
|
+
const selection = ownerDocument.defaultView.getSelection();
|
|
24
|
+
const editable = event.target === node && getSelectionEditableElement(selection, node) || event.target;
|
|
25
|
+
if (selectedClientIds.length < 2 && !isEntirelySelected(editable)) {
|
|
26
|
+
if (event.target === node && editable !== node) {
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
const range = ownerDocument.createRange();
|
|
29
|
+
range.selectNodeContents(editable);
|
|
30
|
+
selection.removeAllRanges();
|
|
31
|
+
selection.addRange(range);
|
|
32
|
+
ownerDocument.dispatchEvent(
|
|
33
|
+
new Event("selectionchange")
|
|
34
|
+
);
|
|
35
|
+
}
|
|
19
36
|
return;
|
|
20
37
|
}
|
|
21
38
|
event.preventDefault();
|
|
22
|
-
const { ownerDocument } = event.target;
|
|
23
39
|
const [firstSelectedClientId] = selectedClientIds;
|
|
24
40
|
const activeClientId = getBlockClientId(
|
|
25
41
|
ownerDocument.activeElement
|
|
@@ -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
|
}
|