@wordpress/block-editor 12.1.0 → 12.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/autocompleters/block.js +11 -5
- package/build/autocompleters/block.js.map +1 -1
- package/build/components/alignment-control/ui.js +9 -11
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/autocomplete/index.js +3 -4
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-actions/index.js +8 -12
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +17 -21
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.native.js +14 -17
- package/build/components/block-alignment-control/ui.native.js.map +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js +5 -10
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +4 -6
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +9 -7
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-caption/index.native.js +30 -35
- package/build/components/block-caption/index.native.js.map +1 -1
- package/build/components/block-card/index.js +7 -9
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-compare/block-view.js +8 -9
- package/build/components/block-compare/block-view.js.map +1 -1
- package/build/components/block-compare/index.js +7 -9
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-context/index.js +4 -5
- package/build/components/block-context/index.js.map +1 -1
- package/build/components/block-controls/fill.js +15 -22
- package/build/components/block-controls/fill.js.map +1 -1
- package/build/components/block-controls/hook.js +1 -3
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-controls/slot.js +28 -18
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js +7 -17
- package/build/components/block-controls/slot.native.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.js +5 -6
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.native.js +3 -4
- package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build/components/block-draggable/dropping-insertion-point.native.js +6 -7
- package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
- package/build/components/block-draggable/index.js +15 -16
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +43 -58
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-edit/edit.js +1 -4
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-edit/edit.native.js +1 -4
- package/build/components/block-edit/edit.native.js.map +1 -1
- package/build/components/block-edit-visually-button/index.js +3 -4
- package/build/components/block-edit-visually-button/index.js.map +1 -1
- package/build/components/block-editing-mode/index.js +84 -0
- package/build/components/block-editing-mode/index.js.map +1 -0
- package/build/components/block-full-height-alignment-control/index.js +6 -7
- package/build/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build/components/block-icon/index.js +7 -11
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-icon/index.native.js +9 -13
- package/build/components/block-icon/index.native.js.map +1 -1
- package/build/components/block-inspector/index.js +36 -46
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
- package/build/components/block-list/block-html.js +3 -4
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +3 -4
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.native.js +10 -15
- package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build/components/block-list/block-list-block-context.js +15 -0
- package/build/components/block-list/block-list-block-context.js.map +1 -0
- package/build/components/block-list/block-list-context.native.js +5 -11
- package/build/components/block-list/block-list-context.native.js.map +1 -1
- package/build/components/block-list/block-list-item-cell.native.js +5 -6
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +17 -18
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-outline.native.js +8 -9
- package/build/components/block-list/block-outline.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js +10 -12
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js +68 -83
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +69 -90
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +12 -15
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +143 -153
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/insertion-point.native.js +4 -5
- package/build/components/block-list/insertion-point.native.js.map +1 -1
- package/build/components/block-list/layout.js +6 -9
- package/build/components/block-list/layout.js.map +1 -1
- package/build/components/block-list/subdirectory-icon.js +10 -13
- package/build/components/block-list/subdirectory-icon.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +17 -13
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.native.js +1 -2
- package/build/components/block-list/use-block-props/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js +2 -2
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
- package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +8 -8
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list-appender/index.js +30 -15
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js +9 -11
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-lock/menu-item.js +3 -4
- package/build/components/block-lock/menu-item.js.map +1 -1
- package/build/components/block-lock/modal.js +6 -9
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-lock/toolbar.js +4 -10
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +67 -70
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/index.native.js +26 -34
- package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build/components/block-mover/button.js +6 -7
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +5 -8
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +23 -46
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-mover/mover-description.native.js +7 -10
- package/build/components/block-mover/mover-description.native.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +20 -25
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-parent-selector/index.js +2 -2
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +27 -31
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +35 -42
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-list/index.js +74 -81
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-popover/drop-zone.js +4 -5
- package/build/components/block-popover/drop-zone.js.map +1 -1
- package/build/components/block-popover/inbetween.js +10 -15
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +14 -15
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/auto.js +6 -8
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +15 -18
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings/button.native.js +7 -10
- package/build/components/block-settings/button.native.js.map +1 -1
- package/build/components/block-settings-menu/block-convert-button.js +5 -7
- package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
- package/build/components/block-settings-menu/block-html-convert-button.js +10 -14
- package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.js +19 -25
- package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +132 -111
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/index.js +4 -5
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +14 -16
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +6 -7
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +5 -7
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-styles/menu-items.js +4 -5
- package/build/components/block-styles/menu-items.js.map +1 -1
- package/build/components/block-styles/preview-panel.js +8 -12
- package/build/components/block-styles/preview-panel.js.map +1 -1
- package/build/components/block-styles/preview.native.js +6 -7
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-styles/use-styles-for-block.js +7 -9
- package/build/components/block-styles/use-styles-for-block.js.map +1 -1
- package/build/components/block-styles/utils.js +4 -7
- package/build/components/block-styles/utils.js.map +1 -1
- package/build/components/block-switcher/block-styles-menu.js +4 -5
- package/build/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js +29 -26
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +9 -10
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/block-switcher/block-variation-transformations.js +116 -0
- package/build/components/block-switcher/block-variation-transformations.js.map +1 -0
- package/build/components/block-switcher/index.js +64 -55
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +21 -25
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +3 -4
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-switcher/utils.js +2 -3
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-title/index.js +5 -6
- package/build/components/block-title/index.js.map +1 -1
- package/build/components/block-title/use-block-display-title.js +5 -6
- package/build/components/block-title/use-block-display-title.js.map +1 -1
- package/build/components/block-toolbar/index.js +13 -12
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/utils.js +14 -16
- package/build/components/block-toolbar/utils.js.map +1 -1
- package/build/components/block-tools/back-compat.js +3 -4
- package/build/components/block-tools/back-compat.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +10 -9
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +6 -9
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +6 -7
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +17 -14
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +19 -20
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-tools/use-block-toolbar-popover-props.js +9 -14
- package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +3 -4
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-types-list/index.js +8 -9
- package/build/components/block-types-list/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js +22 -27
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.js +8 -9
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +7 -9
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +30 -41
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +7 -9
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js +7 -8
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/index.js +9 -10
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +8 -11
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +4 -5
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/border-radius-control/utils.js +3 -7
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/button-block-appender/index.js +13 -15
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/button-block-appender/index.native.js +25 -29
- package/build/components/button-block-appender/index.native.js.map +1 -1
- package/build/components/caption/index.native.js +40 -43
- package/build/components/caption/index.native.js.map +1 -1
- package/build/components/child-layout-control/index.js +5 -6
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/color-palette/control.js +5 -6
- package/build/components/color-palette/control.js.map +1 -1
- package/build/components/color-palette/with-color-context.js +1 -7
- package/build/components/color-palette/with-color-context.js.map +1 -1
- package/build/components/color-style-selector/index.js +28 -35
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors/utils.js +5 -8
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js +9 -24
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/control.js +19 -22
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +32 -39
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +20 -25
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js +27 -31
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build/components/contrast-checker/index.js +12 -13
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/contrast-checker/index.native.js +16 -18
- package/build/components/contrast-checker/index.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +15 -11
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.native.js +86 -3
- package/build/components/convert-to-group-buttons/index.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +6 -12
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +22 -38
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build/components/copy-handler/index.js +4 -7
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +12 -16
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +7 -9
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/default-block-appender/index.native.js +8 -10
- package/build/components/default-block-appender/index.native.js.map +1 -1
- package/build/components/default-style-picker/index.js +14 -22
- package/build/components/default-style-picker/index.js.map +1 -1
- package/build/components/duotone/components.js +14 -18
- package/build/components/duotone/components.js.map +1 -1
- package/build/components/duotone/utils.js +1 -2
- package/build/components/duotone/utils.js.map +1 -1
- package/build/components/duotone-control/index.js +12 -15
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/editable-text/index.js +5 -6
- package/build/components/editable-text/index.js.map +1 -1
- package/build/components/editor-styles/index.js +4 -5
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/floating-toolbar/index.native.js +7 -8
- package/build/components/floating-toolbar/index.native.js.map +1 -1
- package/build/components/font-appearance-control/index.js +19 -26
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +10 -12
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +17 -21
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/font-sizes/utils.js +6 -12
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +11 -30
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +7 -10
- package/build/components/global-styles/advanced-panel.js.map +1 -1
- package/build/components/global-styles/border-panel.js +45 -78
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +104 -147
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.native.js +25 -42
- package/build/components/global-styles/color-panel.native.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +81 -111
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +58 -72
- package/build/components/global-styles/effects-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +53 -71
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/get-block-css-selector.js +4 -7
- package/build/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build/components/global-styles/hooks.js +22 -37
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +69 -125
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/typography-utils.js +49 -26
- package/build/components/global-styles/typography-utils.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +140 -235
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +11 -27
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/gradients/use-gradient.js +6 -7
- package/build/components/gradients/use-gradient.js.map +1 -1
- package/build/components/height-control/index.js +9 -10
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/iframe/index.js +52 -80
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/iframe/use-compatibility-styles.js +29 -20
- package/build/components/iframe/use-compatibility-styles.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +83 -91
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/context.js +9 -10
- package/build/components/image-editor/context.js.map +1 -1
- package/build/components/image-editor/cropper.js +11 -12
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/index.js +12 -13
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +11 -12
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/image-editor/use-transform-image.js +5 -6
- package/build/components/image-editor/use-transform-image.js.map +1 -1
- package/build/components/image-editor/zoom-dropdown.js +10 -13
- package/build/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build/components/image-size-control/index.js +12 -13
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +7 -8
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/default-block-appender.js +6 -8
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +4 -7
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +8 -10
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-block-context.js +1 -4
- package/build/components/inner-blocks/use-block-context.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +15 -9
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js +9 -11
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/patterns-list.js +11 -18
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/sidebar.js +20 -24
- package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +29 -40
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +7 -9
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js +8 -9
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-type-impressions.native.js +3 -5
- package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +5 -6
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-clipboard-block.native.js +2 -2
- package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
- package/build/components/inserter/hooks/use-debounced-input.js +1 -2
- package/build/components/inserter/hooks/use-debounced-input.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +10 -12
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/index.js +40 -58
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +24 -31
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +11 -12
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js +2 -5
- package/build/components/inserter/media-tab/hooks.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +6 -7
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +12 -14
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +47 -58
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +24 -28
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/media-tab/utils.js +3 -5
- package/build/components/inserter/media-tab/utils.js.map +1 -1
- package/build/components/inserter/menu.js +15 -19
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js +27 -31
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/mobile-tab-navigation.js +7 -9
- package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build/components/inserter/panel.js +5 -6
- package/build/components/inserter/panel.js.map +1 -1
- package/build/components/inserter/preview-panel.js +4 -5
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +9 -12
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.js +13 -18
- package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.native.js +5 -6
- package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build/components/inserter/search-items.js +12 -40
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter/search-results.js +34 -22
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/search-results.native.js +11 -12
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/inserter/tabs.js +8 -9
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter/tabs.native.js +37 -55
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inserter/utils.native.js +13 -17
- package/build/components/inserter/utils.native.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +11 -13
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inserter-list-item/index.js +68 -72
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inserter-listbox/index.js +3 -4
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +6 -7
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js +4 -5
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +6 -8
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.js +13 -24
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +7 -11
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/slot.js +9 -13
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +6 -10
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +6 -7
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js +3 -8
- package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
- package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab.js +3 -6
- package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +5 -6
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -3
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build/components/inspector-popover-header/index.js +18 -22
- package/build/components/inspector-popover-header/index.js.map +1 -1
- package/build/components/justify-content-control/ui.js +8 -10
- package/build/components/justify-content-control/ui.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +6 -7
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.js +13 -18
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/line-height-control/index.native.js +4 -5
- package/build/components/line-height-control/index.native.js.map +1 -1
- package/build/components/link-control/index.js +84 -63
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/is-url-like.js +32 -2
- package/build/components/link-control/is-url-like.js.map +1 -1
- package/build/components/link-control/link-preview.js +24 -27
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-create-button.js +7 -9
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js +22 -27
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-item.js +13 -15
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +22 -28
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +6 -35
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/settings.js +6 -8
- package/build/components/link-control/settings.js.map +1 -1
- package/build/components/link-control/use-internal-value.js +54 -0
- package/build/components/link-control/use-internal-value.js.map +1 -0
- package/build/components/link-control/use-rich-url-data.js +1 -1
- package/build/components/link-control/use-rich-url-data.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +10 -23
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/list-view/appender.js +18 -13
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/aria-referenced-text.js +44 -0
- package/build/components/list-view/aria-referenced-text.js.map +1 -0
- package/build/components/list-view/block-contents.js +40 -38
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +67 -21
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +134 -120
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +6 -8
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +4 -5
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/expander.js +3 -4
- package/build/components/list-view/expander.js.map +1 -1
- package/build/components/list-view/index.js +56 -46
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +10 -11
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +4 -6
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js +29 -8
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +25 -13
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/list-view/use-list-view-expand-selected-item.js +4 -5
- package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
- package/build/components/list-view/use-list-view-scroll-into-view.js +5 -6
- package/build/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
- package/build/components/media-placeholder/index.js +71 -92
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +5 -6
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +94 -107
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload/check.js +4 -5
- package/build/components/media-upload/check.js.map +1 -1
- package/build/components/media-upload/index.native.js +1 -1
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js +3 -4
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +16 -15
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/observe-typing/index.js +3 -4
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/panel-color-settings/index.js +4 -5
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/plain-text/index.js +4 -6
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +8 -14
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/preview-options/index.js +8 -9
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +3 -4
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/provider/use-block-sync.js +7 -8
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/provider/with-registry-provider.js +5 -7
- package/build/components/provider/with-registry-provider.js.map +1 -1
- package/build/components/publish-date-time-picker/index.js +6 -9
- package/build/components/publish-date-time-picker/index.js.map +1 -1
- package/build/components/recursion-provider/index.js +7 -11
- package/build/components/recursion-provider/index.js.map +1 -1
- package/build/components/resizable-box-popover/index.js +5 -6
- package/build/components/resizable-box-popover/index.js.map +1 -1
- package/build/components/responsive-block-control/label.js +5 -6
- package/build/components/responsive-block-control/label.js.map +1 -1
- package/build/components/rich-text/embed-handler-picker.native.js +6 -10
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build/components/rich-text/format-edit.js +7 -8
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +9 -18
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +13 -16
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/index.js +43 -47
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +130 -157
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/input-event.js +4 -5
- package/build/components/rich-text/input-event.js.map +1 -1
- package/build/components/rich-text/shortcut.js +5 -6
- package/build/components/rich-text/shortcut.js.map +1 -1
- package/build/components/rich-text/split-value.js +8 -10
- package/build/components/rich-text/split-value.js.map +1 -1
- package/build/components/rich-text/toolbar-button.js +6 -7
- package/build/components/rich-text/toolbar-button.js.map +1 -1
- package/build/components/rich-text/use-before-input-rules.js +1 -4
- package/build/components/rich-text/use-before-input-rules.js.map +1 -1
- package/build/components/rich-text/use-enter.js +3 -6
- package/build/components/rich-text/use-enter.js.map +1 -1
- package/build/components/rich-text/use-firefox-compat.js +32 -1
- package/build/components/rich-text/use-firefox-compat.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +11 -17
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +9 -15
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js +4 -5
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +5 -7
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/rich-text/utils.js +5 -7
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +3 -4
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +38 -0
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -0
- package/build/components/spacing-sizes-control/index.js +60 -62
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +21 -22
- package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -0
- package/build/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +22 -22
- package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -0
- package/build/components/spacing-sizes-control/input-controls/single.js +51 -0
- package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -0
- package/build/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +51 -69
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -0
- package/build/components/spacing-sizes-control/sides-dropdown/index.js +84 -0
- package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -0
- package/build/components/spacing-sizes-control/utils.js +213 -31
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/text-decoration-control/index.js +5 -6
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +5 -6
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/tool-selector/index.js +13 -16
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/typewriter/index.js +6 -9
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/ungroup-button/index.native.js +11 -16
- package/build/components/ungroup-button/index.native.js.map +1 -1
- package/build/components/unit-control/index.js +4 -5
- package/build/components/unit-control/index.js.map +1 -1
- package/build/components/url-input/index.js +15 -23
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-input/index.native.js +6 -8
- package/build/components/url-input/index.native.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +12 -15
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/url-popover/index.js +12 -14
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +7 -8
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer-url.js +5 -6
- package/build/components/url-popover/link-viewer-url.js.map +1 -1
- package/build/components/url-popover/link-viewer.js +8 -9
- package/build/components/url-popover/link-viewer.js.map +1 -1
- package/build/components/use-block-display-information/index.js +2 -2
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +41 -38
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +8 -11
- package/build/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build/components/use-moving-animation/index.js +9 -12
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +2 -6
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.native.js +8 -10
- package/build/components/use-on-block-drop/index.native.js.map +1 -1
- package/build/components/use-paste-styles/index.js +2 -6
- package/build/components/use-paste-styles/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js +8 -1
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/warning/index.js +6 -7
- package/build/components/warning/index.js.map +1 -1
- package/build/components/warning/index.native.js +9 -10
- package/build/components/warning/index.native.js.map +1 -1
- package/build/components/writing-flow/index.js +4 -5
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-arrow-nav.js +13 -7
- package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +4 -6
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +9 -6
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/align.js +11 -22
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/anchor.js +6 -3
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/aria-label.js +1 -3
- package/build/hooks/aria-label.js.map +1 -1
- package/build/hooks/behaviors.js +148 -0
- package/build/hooks/behaviors.js.map +1 -0
- package/build/hooks/border.js +25 -38
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +22 -37
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +26 -30
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/contrast-checker.js +4 -7
- package/build/hooks/contrast-checker.js.map +1 -1
- package/build/hooks/custom-class-name.js +5 -4
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/dimensions.js +6 -39
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +36 -52
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js +5 -6
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +14 -21
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/gap.js +5 -6
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/index.js +2 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout.js +50 -68
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/line-height.js +5 -8
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/lock.js +2 -2
- package/build/hooks/lock.js.map +1 -1
- package/build/hooks/margin.js +6 -9
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/metadata-name.js +4 -5
- package/build/hooks/metadata-name.js.map +1 -1
- package/build/hooks/metadata.js +3 -7
- package/build/hooks/metadata.js.map +1 -1
- package/build/hooks/padding.js +6 -9
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/position.js +26 -40
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/settings.js +1 -3
- package/build/hooks/settings.js.map +1 -1
- package/build/hooks/style.js +12 -19
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/supports.js +3 -5
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.js +18 -27
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +1 -2
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/use-border-props.js +1 -3
- package/build/hooks/use-border-props.js.map +1 -1
- package/build/hooks/use-color-props.js +6 -8
- package/build/hooks/use-color-props.js.map +1 -1
- package/build/hooks/use-editor-wrapper-styles.native.js +34 -39
- package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -1
- package/build/hooks/use-spacing-props.js +1 -1
- package/build/hooks/use-spacing-props.js.map +1 -1
- package/build/hooks/use-typography-props.js +8 -12
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/utils.js +6 -18
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +22 -27
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +43 -54
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +10 -13
- package/build/layouts/flow.js.map +1 -1
- package/build/layouts/grid.js +45 -25
- package/build/layouts/grid.js.map +1 -1
- package/build/layouts/index.js +1 -2
- package/build/layouts/index.js.map +1 -1
- package/build/layouts/utils.js +3 -9
- package/build/layouts/utils.js.map +1 -1
- package/build/private-apis.js +4 -7
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +251 -334
- package/build/store/actions.js.map +1 -1
- package/build/store/array.js +1 -2
- package/build/store/array.js.map +1 -1
- package/build/store/private-actions.js +44 -2
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +108 -3
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +99 -166
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +171 -231
- package/build/store/selectors.js.map +1 -1
- package/build/utils/block-variation-transforms.js +4 -7
- package/build/utils/block-variation-transforms.js.map +1 -1
- package/build/utils/math.js +1 -2
- package/build/utils/math.js.map +1 -1
- package/build/utils/object.js +1 -4
- package/build/utils/object.js.map +1 -1
- package/build/utils/order-inserter-block-items.js +39 -0
- package/build/utils/order-inserter-block-items.js.map +1 -0
- package/build/utils/parse-css-unit-to-px.js +3 -6
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build/utils/pasting.js +5 -8
- package/build/utils/pasting.js.map +1 -1
- package/build/utils/pre-parse-patterns.js +1 -1
- package/build/utils/pre-parse-patterns.js.map +1 -1
- package/build/utils/sorting.js +1 -2
- package/build/utils/sorting.js.map +1 -1
- package/build/utils/transform-styles/index.js +5 -7
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build/utils/transform-styles/transforms/wrap.js +28 -31
- package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-module/autocompleters/block.js +10 -5
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +9 -11
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/autocomplete/index.js +3 -4
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-actions/index.js +8 -12
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +17 -21
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.native.js +14 -17
- package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +5 -10
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +4 -6
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +8 -7
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-caption/index.native.js +29 -34
- package/build-module/components/block-caption/index.native.js.map +1 -1
- package/build-module/components/block-card/index.js +7 -9
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-compare/block-view.js +8 -9
- package/build-module/components/block-compare/block-view.js.map +1 -1
- package/build-module/components/block-compare/index.js +7 -9
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-context/index.js +4 -5
- package/build-module/components/block-context/index.js.map +1 -1
- package/build-module/components/block-controls/fill.js +17 -23
- package/build-module/components/block-controls/fill.js.map +1 -1
- package/build-module/components/block-controls/hook.js +1 -3
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-controls/slot.js +29 -21
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-controls/slot.native.js +8 -18
- package/build-module/components/block-controls/slot.native.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.js +5 -7
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.native.js +3 -4
- package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build-module/components/block-draggable/dropping-insertion-point.native.js +6 -7
- package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
- package/build-module/components/block-draggable/index.js +16 -17
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +43 -58
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-edit/edit.js +1 -4
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-edit/edit.native.js +1 -4
- package/build-module/components/block-edit/edit.native.js.map +1 -1
- package/build-module/components/block-edit-visually-button/index.js +3 -4
- package/build-module/components/block-edit-visually-button/index.js.map +1 -1
- package/build-module/components/block-editing-mode/index.js +72 -0
- package/build-module/components/block-editing-mode/index.js.map +1 -0
- package/build-module/components/block-full-height-alignment-control/index.js +6 -7
- package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build-module/components/block-icon/index.js +7 -11
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-icon/index.native.js +9 -13
- package/build-module/components/block-icon/index.native.js.map +1 -1
- package/build-module/components/block-inspector/index.js +36 -46
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
- package/build-module/components/block-list/block-html.js +3 -4
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +3 -4
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js +10 -15
- package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-list-block-context.js +6 -0
- package/build-module/components/block-list/block-list-block-context.js.map +1 -0
- package/build-module/components/block-list/block-list-context.native.js +5 -11
- package/build-module/components/block-list/block-list-context.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item-cell.native.js +5 -6
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +17 -18
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js +8 -9
- package/build-module/components/block-list/block-outline.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js +10 -12
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js +65 -80
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +69 -90
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +12 -15
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +144 -155
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/insertion-point.native.js +4 -5
- package/build-module/components/block-list/insertion-point.native.js.map +1 -1
- package/build-module/components/block-list/layout.js +6 -9
- package/build-module/components/block-list/layout.js.map +1 -1
- package/build-module/components/block-list/subdirectory-icon.js +10 -13
- package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +15 -12
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.native.js +1 -2
- package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +2 -2
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +7 -8
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +29 -15
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.native.js +9 -11
- package/build-module/components/block-list-appender/index.native.js.map +1 -1
- package/build-module/components/block-lock/menu-item.js +3 -4
- package/build-module/components/block-lock/menu-item.js.map +1 -1
- package/build-module/components/block-lock/modal.js +6 -9
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-lock/toolbar.js +5 -10
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +66 -70
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/index.native.js +26 -34
- package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-mover/button.js +6 -7
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +5 -8
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +23 -46
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-mover/mover-description.native.js +7 -10
- package/build-module/components/block-mover/mover-description.native.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +20 -25
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +2 -2
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +27 -31
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +35 -42
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +71 -78
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-popover/drop-zone.js +4 -5
- package/build-module/components/block-popover/drop-zone.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +10 -15
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +14 -15
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +6 -8
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +15 -18
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings/button.native.js +7 -10
- package/build-module/components/block-settings/button.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-convert-button.js +5 -7
- package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
- package/build-module/components/block-settings-menu/block-html-convert-button.js +10 -14
- package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build-module/components/block-settings-menu/block-mode-toggle.js +19 -25
- package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +135 -113
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +4 -5
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +14 -16
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +6 -7
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +5 -7
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-styles/menu-items.js +4 -5
- package/build-module/components/block-styles/menu-items.js.map +1 -1
- package/build-module/components/block-styles/preview-panel.js +8 -12
- package/build-module/components/block-styles/preview-panel.js.map +1 -1
- package/build-module/components/block-styles/preview.native.js +6 -7
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-styles/use-styles-for-block.js +7 -9
- package/build-module/components/block-styles/use-styles-for-block.js.map +1 -1
- package/build-module/components/block-styles/utils.js +4 -7
- package/build-module/components/block-styles/utils.js.map +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js +4 -5
- package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js +28 -26
- package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js +9 -10
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/block-switcher/block-variation-transformations.js +99 -0
- package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -0
- package/build-module/components/block-switcher/index.js +63 -55
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +21 -25
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +3 -4
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +2 -3
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-title/index.js +5 -6
- package/build-module/components/block-title/index.js.map +1 -1
- package/build-module/components/block-title/use-block-display-title.js +5 -6
- package/build-module/components/block-title/use-block-display-title.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +12 -12
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/utils.js +14 -16
- package/build-module/components/block-toolbar/utils.js.map +1 -1
- package/build-module/components/block-tools/back-compat.js +3 -4
- package/build-module/components/block-tools/back-compat.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +9 -9
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +6 -9
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +6 -7
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +17 -14
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +19 -20
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js +9 -14
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +3 -4
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-types-list/index.js +8 -9
- package/build-module/components/block-types-list/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +22 -27
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +8 -9
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +7 -9
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +30 -41
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +7 -9
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/all-input-control.js +7 -8
- package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +9 -10
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +8 -11
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +4 -5
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js +3 -7
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +13 -15
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.native.js +25 -29
- package/build-module/components/button-block-appender/index.native.js.map +1 -1
- package/build-module/components/caption/index.native.js +40 -43
- package/build-module/components/caption/index.native.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +5 -6
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/color-palette/control.js +5 -6
- package/build-module/components/color-palette/control.js.map +1 -1
- package/build-module/components/color-palette/with-color-context.js +1 -6
- package/build-module/components/color-palette/with-color-context.js.map +1 -1
- package/build-module/components/color-style-selector/index.js +28 -35
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/colors/utils.js +5 -8
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js +9 -24
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +19 -21
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +32 -39
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +20 -24
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +27 -31
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build-module/components/contrast-checker/index.js +12 -13
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/contrast-checker/index.native.js +16 -18
- package/build-module/components/contrast-checker/index.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +15 -11
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.native.js +75 -1
- package/build-module/components/convert-to-group-buttons/index.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +6 -12
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +21 -37
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build-module/components/copy-handler/index.js +4 -7
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +12 -16
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +7 -9
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.native.js +8 -10
- package/build-module/components/default-block-appender/index.native.js.map +1 -1
- package/build-module/components/default-style-picker/index.js +14 -22
- package/build-module/components/default-style-picker/index.js.map +1 -1
- package/build-module/components/duotone/components.js +14 -18
- package/build-module/components/duotone/components.js.map +1 -1
- package/build-module/components/duotone/utils.js +1 -2
- package/build-module/components/duotone/utils.js.map +1 -1
- package/build-module/components/duotone-control/index.js +12 -15
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/editable-text/index.js +5 -6
- package/build-module/components/editable-text/index.js.map +1 -1
- package/build-module/components/editor-styles/index.js +4 -5
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/floating-toolbar/index.native.js +7 -8
- package/build-module/components/floating-toolbar/index.native.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +19 -26
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +10 -12
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +17 -21
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/font-sizes/utils.js +6 -12
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +11 -30
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +7 -10
- package/build-module/components/global-styles/advanced-panel.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +45 -78
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +104 -147
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.native.js +25 -42
- package/build-module/components/global-styles/color-panel.native.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +81 -111
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +58 -72
- package/build-module/components/global-styles/effects-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +53 -71
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/get-block-css-selector.js +5 -8
- package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +22 -37
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +69 -125
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-utils.js +48 -26
- package/build-module/components/global-styles/typography-utils.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +142 -237
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +12 -28
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/gradients/use-gradient.js +6 -7
- package/build-module/components/gradients/use-gradient.js.map +1 -1
- package/build-module/components/height-control/index.js +9 -10
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/iframe/index.js +53 -81
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/iframe/use-compatibility-styles.js +29 -20
- package/build-module/components/iframe/use-compatibility-styles.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +83 -91
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/context.js +9 -10
- package/build-module/components/image-editor/context.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +11 -12
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/index.js +12 -13
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +11 -12
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-editor/use-transform-image.js +5 -6
- package/build-module/components/image-editor/use-transform-image.js.map +1 -1
- package/build-module/components/image-editor/zoom-dropdown.js +10 -13
- package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build-module/components/image-size-control/index.js +12 -13
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +7 -8
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.js +6 -8
- package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +4 -7
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +8 -9
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-block-context.js +1 -4
- package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +15 -9
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +9 -11
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +11 -18
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js +20 -24
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +29 -40
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +7 -9
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js +8 -9
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +3 -5
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +5 -6
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-clipboard-block.native.js +2 -2
- package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-debounced-input.js +1 -2
- package/build-module/components/inserter/hooks/use-debounced-input.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +10 -12
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/index.js +40 -58
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +24 -31
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +11 -12
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/media-tab/hooks.js +2 -5
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +6 -7
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +12 -14
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +47 -58
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +24 -28
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/media-tab/utils.js +3 -5
- package/build-module/components/inserter/media-tab/utils.js.map +1 -1
- package/build-module/components/inserter/menu.js +15 -19
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js +27 -31
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js +7 -9
- package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build-module/components/inserter/panel.js +5 -6
- package/build-module/components/inserter/panel.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +4 -5
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +9 -12
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.js +13 -18
- package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js +5 -6
- package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build-module/components/inserter/search-items.js +12 -40
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/search-results.js +31 -22
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/search-results.native.js +11 -12
- package/build-module/components/inserter/search-results.native.js.map +1 -1
- package/build-module/components/inserter/tabs.js +8 -9
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js +37 -55
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inserter/utils.native.js +13 -17
- package/build-module/components/inserter/utils.native.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +11 -13
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +65 -69
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js +3 -4
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +6 -7
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js +4 -5
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +6 -8
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +13 -23
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +7 -11
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +9 -13
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js +6 -10
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +6 -7
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js +3 -8
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -6
- package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +5 -6
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -3
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build-module/components/inspector-popover-header/index.js +18 -22
- package/build-module/components/inspector-popover-header/index.js.map +1 -1
- package/build-module/components/justify-content-control/ui.js +8 -10
- package/build-module/components/justify-content-control/ui.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +6 -7
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +13 -18
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.native.js +4 -5
- package/build-module/components/line-height-control/index.native.js.map +1 -1
- package/build-module/components/link-control/index.js +83 -64
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/is-url-like.js +32 -3
- package/build-module/components/link-control/is-url-like.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +24 -27
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-create-button.js +7 -9
- package/build-module/components/link-control/search-create-button.js.map +1 -1
- package/build-module/components/link-control/search-input.js +22 -27
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-item.js +13 -15
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +21 -27
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +7 -33
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/link-control/settings.js +7 -9
- package/build-module/components/link-control/settings.js.map +1 -1
- package/build-module/components/link-control/use-internal-value.js +46 -0
- package/build-module/components/link-control/use-internal-value.js.map +1 -0
- package/build-module/components/link-control/use-rich-url-data.js +1 -1
- package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +10 -23
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/appender.js +17 -14
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/aria-referenced-text.js +35 -0
- package/build-module/components/list-view/aria-referenced-text.js.map +1 -0
- package/build-module/components/list-view/block-contents.js +40 -38
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +65 -22
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +131 -120
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +6 -8
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +4 -5
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/expander.js +3 -4
- package/build-module/components/list-view/expander.js.map +1 -1
- package/build-module/components/list-view/index.js +57 -47
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +10 -11
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +4 -6
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js +28 -8
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +25 -13
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/list-view/use-list-view-expand-selected-item.js +4 -5
- package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
- package/build-module/components/list-view/use-list-view-scroll-into-view.js +5 -6
- package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +71 -92
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +5 -6
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +94 -107
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/check.js +4 -5
- package/build-module/components/media-upload/check.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +1 -1
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +3 -4
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +16 -15
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/observe-typing/index.js +3 -4
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/panel-color-settings/index.js +4 -5
- package/build-module/components/panel-color-settings/index.js.map +1 -1
- package/build-module/components/plain-text/index.js +4 -6
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +8 -14
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/preview-options/index.js +8 -9
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +3 -4
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +7 -8
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/provider/with-registry-provider.js +5 -7
- package/build-module/components/provider/with-registry-provider.js.map +1 -1
- package/build-module/components/publish-date-time-picker/index.js +6 -9
- package/build-module/components/publish-date-time-picker/index.js.map +1 -1
- package/build-module/components/recursion-provider/index.js +7 -11
- package/build-module/components/recursion-provider/index.js.map +1 -1
- package/build-module/components/resizable-box-popover/index.js +5 -6
- package/build-module/components/resizable-box-popover/index.js.map +1 -1
- package/build-module/components/responsive-block-control/label.js +5 -6
- package/build-module/components/responsive-block-control/label.js.map +1 -1
- package/build-module/components/rich-text/embed-handler-picker.native.js +6 -10
- package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build-module/components/rich-text/format-edit.js +7 -8
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +9 -18
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +13 -16
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/index.js +43 -47
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +130 -157
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/input-event.js +4 -5
- package/build-module/components/rich-text/input-event.js.map +1 -1
- package/build-module/components/rich-text/shortcut.js +5 -6
- package/build-module/components/rich-text/shortcut.js.map +1 -1
- package/build-module/components/rich-text/split-value.js +8 -10
- package/build-module/components/rich-text/split-value.js.map +1 -1
- package/build-module/components/rich-text/toolbar-button.js +6 -7
- package/build-module/components/rich-text/toolbar-button.js.map +1 -1
- package/build-module/components/rich-text/use-before-input-rules.js +1 -4
- package/build-module/components/rich-text/use-before-input-rules.js.map +1 -1
- package/build-module/components/rich-text/use-enter.js +3 -6
- package/build-module/components/rich-text/use-enter.js.map +1 -1
- package/build-module/components/rich-text/use-firefox-compat.js +29 -1
- package/build-module/components/rich-text/use-firefox-compat.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +11 -17
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +9 -15
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js +4 -5
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +5 -7
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/utils.js +5 -7
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +3 -4
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +27 -0
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -0
- package/build-module/components/spacing-sizes-control/index.js +62 -63
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +21 -22
- package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -0
- package/build-module/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +21 -21
- package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -0
- package/build-module/components/spacing-sizes-control/input-controls/single.js +40 -0
- package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -0
- package/build-module/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +53 -70
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -0
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +73 -0
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -0
- package/build-module/components/spacing-sizes-control/utils.js +196 -25
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/text-decoration-control/index.js +5 -6
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +5 -6
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +13 -16
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/typewriter/index.js +6 -9
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/ungroup-button/index.native.js +11 -14
- package/build-module/components/ungroup-button/index.native.js.map +1 -1
- package/build-module/components/unit-control/index.js +4 -5
- package/build-module/components/unit-control/index.js.map +1 -1
- package/build-module/components/url-input/index.js +15 -23
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-input/index.native.js +6 -8
- package/build-module/components/url-input/index.native.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +12 -15
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/url-popover/index.js +12 -14
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +7 -8
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer-url.js +5 -6
- package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js +8 -9
- package/build-module/components/url-popover/link-viewer.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +2 -2
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +41 -39
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +8 -11
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +9 -12
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +2 -6
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.native.js +8 -10
- package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
- package/build-module/components/use-paste-styles/index.js +2 -6
- package/build-module/components/use-paste-styles/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js +8 -1
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/warning/index.js +6 -7
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/warning/index.native.js +9 -10
- package/build-module/components/warning/index.native.js.map +1 -1
- package/build-module/components/writing-flow/index.js +4 -5
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-arrow-nav.js +13 -7
- package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +4 -6
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +9 -6
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/align.js +11 -21
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/anchor.js +5 -3
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/aria-label.js +1 -3
- package/build-module/hooks/aria-label.js.map +1 -1
- package/build-module/hooks/behaviors.js +129 -0
- package/build-module/hooks/behaviors.js.map +1 -0
- package/build-module/hooks/border.js +25 -38
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +22 -37
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +23 -27
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/contrast-checker.js +4 -7
- package/build-module/hooks/contrast-checker.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +4 -4
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/dimensions.js +6 -37
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +35 -50
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-family.js +5 -6
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +14 -21
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/gap.js +5 -6
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/index.js +1 -0
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout.js +49 -68
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/line-height.js +5 -8
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/lock.js +2 -2
- package/build-module/hooks/lock.js.map +1 -1
- package/build-module/hooks/margin.js +6 -9
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/metadata-name.js +4 -5
- package/build-module/hooks/metadata-name.js.map +1 -1
- package/build-module/hooks/metadata.js +3 -7
- package/build-module/hooks/metadata.js.map +1 -1
- package/build-module/hooks/padding.js +6 -9
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/position.js +26 -40
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/settings.js +1 -3
- package/build-module/hooks/settings.js.map +1 -1
- package/build-module/hooks/style.js +11 -19
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/supports.js +3 -5
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.js +18 -27
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js +1 -2
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-border-props.js +1 -3
- package/build-module/hooks/use-border-props.js.map +1 -1
- package/build-module/hooks/use-color-props.js +6 -8
- package/build-module/hooks/use-color-props.js.map +1 -1
- package/build-module/hooks/use-editor-wrapper-styles.native.js +34 -39
- package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -1
- package/build-module/hooks/use-spacing-props.js +1 -1
- package/build-module/hooks/use-spacing-props.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +8 -12
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/utils.js +7 -19
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +22 -27
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +43 -54
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +10 -13
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/layouts/grid.js +45 -25
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/layouts/index.js +1 -2
- package/build-module/layouts/index.js.map +1 -1
- package/build-module/layouts/utils.js +3 -9
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/private-apis.js +3 -5
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +253 -336
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/array.js +1 -2
- package/build-module/store/array.js.map +1 -1
- package/build-module/store/private-actions.js +40 -2
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +97 -3
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +97 -166
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +168 -230
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/block-variation-transforms.js +4 -7
- package/build-module/utils/block-variation-transforms.js.map +1 -1
- package/build-module/utils/math.js +1 -2
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/object.js +1 -4
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/order-inserter-block-items.js +30 -0
- package/build-module/utils/order-inserter-block-items.js.map +1 -0
- package/build-module/utils/parse-css-unit-to-px.js +3 -6
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/utils/pasting.js +5 -8
- package/build-module/utils/pasting.js.map +1 -1
- package/build-module/utils/pre-parse-patterns.js +1 -1
- package/build-module/utils/pre-parse-patterns.js.map +1 -1
- package/build-module/utils/sorting.js +1 -2
- package/build-module/utils/sorting.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +5 -7
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-module/utils/transform-styles/transforms/wrap.js +25 -28
- package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-style/content-rtl.css +33 -17
- package/build-style/content.css +33 -17
- 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 +46 -157
- package/build-style/style.css +47 -157
- package/package.json +32 -31
- package/src/autocompleters/block.js +15 -7
- package/src/components/block-breadcrumb/index.js +11 -3
- package/src/components/block-controls/fill.js +15 -17
- package/src/components/block-controls/slot.js +21 -18
- package/src/components/block-controls/slot.native.js +3 -8
- package/src/components/block-draggable/index.js +2 -1
- package/src/components/block-edit/test/edit.js +1 -1
- package/src/components/block-editing-mode/index.js +71 -0
- package/src/components/block-inspector/index.js +1 -0
- package/src/components/block-list/block-list-block-context.js +6 -0
- package/src/components/block-list/block.js +38 -56
- package/src/components/block-list/block.native.js +30 -41
- package/src/components/block-list/content.scss +8 -12
- package/src/components/block-list/index.native.js +164 -153
- package/src/components/block-list/test/index.native.js +2 -2
- package/src/components/block-list/use-block-props/index.js +7 -2
- package/src/components/block-list/use-in-between-inserter.js +7 -3
- package/src/components/block-list-appender/index.js +26 -5
- package/src/components/block-lock/toolbar.js +2 -8
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +23 -0
- package/src/components/block-mover/style.scss +1 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +81 -41
- package/src/components/block-styles/preview-panel.js +1 -3
- package/src/components/block-switcher/block-transformations-menu.js +12 -0
- package/src/components/block-switcher/block-variation-transformations.js +115 -0
- package/src/components/block-switcher/index.js +38 -5
- package/src/components/block-switcher/pattern-transformations-menu.js +5 -5
- package/src/components/block-switcher/style.scss +6 -5
- package/src/components/block-toolbar/index.js +10 -11
- package/src/components/block-tools/block-contextual-toolbar.js +4 -5
- package/src/components/block-tools/insertion-point.js +23 -9
- package/src/components/block-tools/selected-block-popover.js +6 -0
- package/src/components/button-block-appender/content.scss +22 -0
- package/src/components/color-palette/test/__snapshots__/control.js.snap +66 -50
- package/src/components/color-palette/with-color-context.js +2 -6
- package/src/components/colors-gradients/control.js +3 -3
- package/src/components/colors-gradients/panel-color-gradient-settings.js +4 -5
- package/src/components/convert-to-group-buttons/index.js +9 -2
- package/src/components/convert-to-group-buttons/index.native.js +79 -1
- package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +32 -38
- package/src/components/global-styles/dimensions-panel.js +17 -7
- package/src/components/global-styles/get-block-css-selector.js +2 -2
- package/src/components/global-styles/style.scss +3 -0
- package/src/components/global-styles/test/typography-utils.js +139 -1
- package/src/components/global-styles/typography-utils.js +53 -28
- package/src/components/global-styles/use-global-styles-output.js +18 -8
- package/src/components/global-styles/utils.js +9 -3
- package/src/components/iframe/index.js +61 -73
- package/src/components/iframe/use-compatibility-styles.js +34 -18
- package/src/components/inner-blocks/README.md +5 -0
- package/src/components/inner-blocks/index.js +2 -0
- package/src/components/inner-blocks/index.native.js +16 -6
- package/src/components/inner-blocks/use-nested-settings-update.js +20 -3
- package/src/components/inserter/index.js +1 -9
- package/src/components/inserter/quick-inserter.js +0 -2
- package/src/components/inserter/search-results.js +32 -6
- package/src/components/inspector-controls/README.md +1 -1
- package/src/components/inspector-controls/fill.js +2 -6
- package/src/components/inspector-controls-tabs/index.js +0 -1
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -1
- package/src/components/link-control/index.js +71 -33
- package/src/components/link-control/is-url-like.js +40 -3
- package/src/components/link-control/search-results.js +4 -14
- package/src/components/link-control/settings-drawer.js +2 -37
- package/src/components/link-control/settings.js +2 -2
- package/src/components/link-control/style.scss +5 -6
- package/src/components/link-control/test/index.js +169 -61
- package/src/components/link-control/test/is-url-like.js +66 -0
- package/src/components/link-control/use-internal-value.js +60 -0
- package/src/components/link-control/use-search-handler.js +10 -27
- package/src/components/list-view/appender.js +6 -7
- package/src/components/list-view/aria-referenced-text.js +30 -0
- package/src/components/list-view/block-contents.js +10 -3
- package/src/components/list-view/block-select-button.js +59 -1
- package/src/components/list-view/block.js +69 -45
- package/src/components/list-view/branch.js +1 -7
- package/src/components/list-view/index.js +45 -22
- package/src/components/list-view/style.scss +2 -10
- package/src/components/list-view/test/use-list-view-drop-zone.js +38 -1
- package/src/components/list-view/use-block-selection.js +2 -2
- package/src/components/list-view/use-list-view-client-ids.js +21 -4
- package/src/components/list-view/use-list-view-drop-zone.js +22 -4
- package/src/components/media-replace-flow/test/index.js +1 -1
- package/src/components/navigable-toolbar/index.js +7 -5
- package/src/components/publish-date-time-picker/index.js +0 -2
- package/src/components/rich-text/index.js +1 -1
- package/src/components/rich-text/use-firefox-compat.js +27 -1
- package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +26 -0
- package/src/components/spacing-sizes-control/index.js +85 -71
- package/src/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +14 -13
- package/src/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +15 -14
- package/src/components/spacing-sizes-control/input-controls/single.js +40 -0
- package/src/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +55 -80
- package/src/components/spacing-sizes-control/sides-dropdown/index.js +91 -0
- package/src/components/spacing-sizes-control/style.scss +28 -100
- package/src/components/spacing-sizes-control/test/utils.js +233 -4
- package/src/components/spacing-sizes-control/utils.js +203 -20
- package/src/components/ungroup-button/index.native.js +2 -2
- package/src/components/url-input/README.md +6 -0
- package/src/components/url-input/index.js +1 -0
- package/src/components/use-block-drop-zone/index.js +31 -17
- package/src/components/use-resize-canvas/index.js +9 -1
- package/src/components/writing-flow/test/index.js +15 -0
- package/src/components/writing-flow/use-arrow-nav.js +17 -4
- package/src/components/writing-flow/use-tab-nav.js +14 -3
- package/src/hooks/align.js +3 -11
- package/src/hooks/anchor.js +3 -1
- package/src/hooks/behaviors.js +160 -0
- package/src/hooks/custom-class-name.js +23 -19
- package/src/hooks/dimensions.js +0 -40
- package/src/hooks/duotone.js +3 -11
- package/src/hooks/index.js +1 -0
- package/src/hooks/layout.js +14 -19
- package/src/hooks/style.js +3 -1
- package/src/hooks/utils.js +8 -7
- package/src/layouts/grid.js +29 -3
- package/src/private-apis.js +2 -4
- package/src/store/private-actions.js +39 -0
- package/src/store/private-selectors.js +117 -0
- package/src/store/reducer.js +33 -8
- package/src/store/selectors.js +56 -35
- package/src/store/test/private-actions.js +32 -1
- package/src/store/test/private-selectors.js +333 -0
- package/src/store/test/reducer.js +48 -7
- package/src/store/test/selectors.js +99 -0
- package/src/style.scss +0 -3
- package/src/utils/order-inserter-block-items.js +26 -0
- package/build/components/block-list/block-list-compact.native.js +0 -75
- package/build/components/block-list/block-list-compact.native.js.map +0 -1
- package/build/components/link-control/use-internal-input-value.js +0 -27
- package/build/components/link-control/use-internal-input-value.js.map +0 -1
- package/build/components/off-canvas-editor/appender.js +0 -125
- package/build/components/off-canvas-editor/appender.js.map +0 -1
- package/build/components/off-canvas-editor/block-contents.js +0 -141
- package/build/components/off-canvas-editor/block-contents.js.map +0 -1
- package/build/components/off-canvas-editor/block-select-button.js +0 -126
- package/build/components/off-canvas-editor/block-select-button.js.map +0 -1
- package/build/components/off-canvas-editor/block.js +0 -297
- package/build/components/off-canvas-editor/block.js.map +0 -1
- package/build/components/off-canvas-editor/branch.js +0 -197
- package/build/components/off-canvas-editor/branch.js.map +0 -1
- package/build/components/off-canvas-editor/context.js +0 -19
- package/build/components/off-canvas-editor/context.js.map +0 -1
- package/build/components/off-canvas-editor/drop-indicator.js +0 -118
- package/build/components/off-canvas-editor/drop-indicator.js.map +0 -1
- package/build/components/off-canvas-editor/expander.js +0 -41
- package/build/components/off-canvas-editor/expander.js.map +0 -1
- package/build/components/off-canvas-editor/index.js +0 -236
- package/build/components/off-canvas-editor/index.js.map +0 -1
- package/build/components/off-canvas-editor/leaf-more-menu.js +0 -148
- package/build/components/off-canvas-editor/leaf-more-menu.js.map +0 -1
- package/build/components/off-canvas-editor/leaf.js +0 -60
- package/build/components/off-canvas-editor/leaf.js.map +0 -1
- package/build/components/off-canvas-editor/link-ui.js +0 -186
- package/build/components/off-canvas-editor/link-ui.js.map +0 -1
- package/build/components/off-canvas-editor/update-attributes.js +0 -108
- package/build/components/off-canvas-editor/update-attributes.js.map +0 -1
- package/build/components/off-canvas-editor/use-block-selection.js +0 -139
- package/build/components/off-canvas-editor/use-block-selection.js.map +0 -1
- package/build/components/off-canvas-editor/use-inserted-block.js +0 -58
- package/build/components/off-canvas-editor/use-inserted-block.js.map +0 -1
- package/build/components/off-canvas-editor/use-list-view-client-ids.js +0 -33
- package/build/components/off-canvas-editor/use-list-view-client-ids.js.map +0 -1
- package/build/components/off-canvas-editor/use-list-view-drop-zone.js +0 -235
- package/build/components/off-canvas-editor/use-list-view-drop-zone.js.map +0 -1
- package/build/components/off-canvas-editor/use-list-view-expand-selected-item.js +0 -60
- package/build/components/off-canvas-editor/use-list-view-expand-selected-item.js.map +0 -1
- package/build/components/off-canvas-editor/utils.js +0 -60
- package/build/components/off-canvas-editor/utils.js.map +0 -1
- package/build/components/spacing-sizes-control/all-input-control.js +0 -57
- package/build/components/spacing-sizes-control/all-input-control.js.map +0 -1
- package/build/components/spacing-sizes-control/axial-input-controls.js.map +0 -1
- package/build/components/spacing-sizes-control/input-controls.js.map +0 -1
- package/build/components/spacing-sizes-control/linked-button.js +0 -37
- package/build/components/spacing-sizes-control/linked-button.js.map +0 -1
- package/build/components/spacing-sizes-control/spacing-input-control.js.map +0 -1
- package/build/components/ungroup-button/icon.js +0 -31
- package/build/components/ungroup-button/icon.js.map +0 -1
- package/build-module/components/block-list/block-list-compact.native.js +0 -60
- package/build-module/components/block-list/block-list-compact.native.js.map +0 -1
- package/build-module/components/link-control/use-internal-input-value.js +0 -19
- package/build-module/components/link-control/use-internal-input-value.js.map +0 -1
- package/build-module/components/off-canvas-editor/appender.js +0 -108
- package/build-module/components/off-canvas-editor/appender.js.map +0 -1
- package/build-module/components/off-canvas-editor/block-contents.js +0 -121
- package/build-module/components/off-canvas-editor/block-contents.js.map +0 -1
- package/build-module/components/off-canvas-editor/block-select-button.js +0 -107
- package/build-module/components/off-canvas-editor/block-select-button.js.map +0 -1
- package/build-module/components/off-canvas-editor/block.js +0 -273
- package/build-module/components/off-canvas-editor/block.js.map +0 -1
- package/build-module/components/off-canvas-editor/branch.js +0 -179
- package/build-module/components/off-canvas-editor/branch.js.map +0 -1
- package/build-module/components/off-canvas-editor/context.js +0 -7
- package/build-module/components/off-canvas-editor/context.js.map +0 -1
- package/build-module/components/off-canvas-editor/drop-indicator.js +0 -111
- package/build-module/components/off-canvas-editor/drop-indicator.js.map +0 -1
- package/build-module/components/off-canvas-editor/expander.js +0 -32
- package/build-module/components/off-canvas-editor/expander.js.map +0 -1
- package/build-module/components/off-canvas-editor/index.js +0 -213
- package/build-module/components/off-canvas-editor/index.js.map +0 -1
- package/build-module/components/off-canvas-editor/leaf-more-menu.js +0 -130
- package/build-module/components/off-canvas-editor/leaf-more-menu.js.map +0 -1
- package/build-module/components/off-canvas-editor/leaf.js +0 -45
- package/build-module/components/off-canvas-editor/leaf.js.map +0 -1
- package/build-module/components/off-canvas-editor/link-ui.js +0 -166
- package/build-module/components/off-canvas-editor/link-ui.js.map +0 -1
- package/build-module/components/off-canvas-editor/update-attributes.js +0 -97
- package/build-module/components/off-canvas-editor/update-attributes.js.map +0 -1
- package/build-module/components/off-canvas-editor/use-block-selection.js +0 -124
- package/build-module/components/off-canvas-editor/use-block-selection.js.map +0 -1
- package/build-module/components/off-canvas-editor/use-inserted-block.js +0 -47
- package/build-module/components/off-canvas-editor/use-inserted-block.js.map +0 -1
- package/build-module/components/off-canvas-editor/use-list-view-client-ids.js +0 -24
- package/build-module/components/off-canvas-editor/use-list-view-client-ids.js.map +0 -1
- package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js +0 -220
- package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js.map +0 -1
- package/build-module/components/off-canvas-editor/use-list-view-expand-selected-item.js +0 -50
- package/build-module/components/off-canvas-editor/use-list-view-expand-selected-item.js.map +0 -1
- package/build-module/components/off-canvas-editor/utils.js +0 -44
- package/build-module/components/off-canvas-editor/utils.js.map +0 -1
- package/build-module/components/spacing-sizes-control/all-input-control.js +0 -45
- package/build-module/components/spacing-sizes-control/all-input-control.js.map +0 -1
- package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +0 -1
- package/build-module/components/spacing-sizes-control/input-controls.js.map +0 -1
- package/build-module/components/spacing-sizes-control/linked-button.js +0 -27
- package/build-module/components/spacing-sizes-control/linked-button.js.map +0 -1
- package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +0 -1
- package/build-module/components/ungroup-button/icon.js +0 -22
- package/build-module/components/ungroup-button/icon.js.map +0 -1
- package/src/components/block-list/block-list-compact.native.js +0 -63
- package/src/components/link-control/use-internal-input-value.js +0 -23
- package/src/components/off-canvas-editor/README.md +0 -5
- package/src/components/off-canvas-editor/appender.js +0 -124
- package/src/components/off-canvas-editor/block-contents.js +0 -156
- package/src/components/off-canvas-editor/block-select-button.js +0 -128
- package/src/components/off-canvas-editor/block.js +0 -347
- package/src/components/off-canvas-editor/branch.js +0 -238
- package/src/components/off-canvas-editor/context.js +0 -8
- package/src/components/off-canvas-editor/drop-indicator.js +0 -126
- package/src/components/off-canvas-editor/expander.js +0 -26
- package/src/components/off-canvas-editor/index.js +0 -271
- package/src/components/off-canvas-editor/leaf-more-menu.js +0 -158
- package/src/components/off-canvas-editor/leaf.js +0 -52
- package/src/components/off-canvas-editor/link-ui.js +0 -167
- package/src/components/off-canvas-editor/style.scss +0 -34
- package/src/components/off-canvas-editor/test/use-inserted-block.js +0 -108
- package/src/components/off-canvas-editor/test/utils.js +0 -50
- package/src/components/off-canvas-editor/update-attributes.js +0 -99
- package/src/components/off-canvas-editor/use-block-selection.js +0 -169
- package/src/components/off-canvas-editor/use-inserted-block.js +0 -47
- package/src/components/off-canvas-editor/use-list-view-client-ids.js +0 -29
- package/src/components/off-canvas-editor/use-list-view-drop-zone.js +0 -260
- package/src/components/off-canvas-editor/use-list-view-expand-selected-item.js +0 -58
- package/src/components/off-canvas-editor/utils.js +0 -58
- package/src/components/spacing-sizes-control/all-input-control.js +0 -44
- package/src/components/spacing-sizes-control/linked-button.js +0 -24
- package/src/components/ungroup-button/icon.js +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/use-on-block-drop/index.js"],"names":["useCallback","cloneBlock","findTransform","getBlockTransforms","pasteHandler","useDispatch","useSelect","useRegistry","getFilesFromDataTransfer","store","blockEditorStore","parseDropEvent","event","result","srcRootClientId","srcClientIds","srcIndex","type","blocks","dataTransfer","Object","assign","JSON","parse","getData","err","onBlockDrop","targetRootClientId","targetBlockIndex","getBlockIndex","getClientIdsOfDescendants","moveBlocks","insertOrReplaceBlocks","clearSelectedBlock","sourceRootClientId","sourceClientIds","dropType","blocksToInsert","map","block","sourceBlockIndex","includes","some","id","isAtSameLevel","draggedBlockCount","length","insertIndex","onFilesDrop","hasUploadPermissions","updateBlockAttributes","canInsertBlockType","files","transformation","transform","blockName","isMatch","onHTMLDrop","HTML","mode","useOnBlockDrop","options","operation","select","getSettings","mediaUpload","getBlockOrder","getBlocksByClientId","insertBlocks","moveBlocksToPosition","replaceBlocks","removeBlocks","registry","updateSelection","initialPosition","clientIds","clientId","undefined","sourceBlocks","targetBlockClientIds","targetBlockClientId","batch","_onDrop","_onFilesDrop","_onHTMLDrop","html"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport {\n\tcloneBlock,\n\tfindTransform,\n\tgetBlockTransforms,\n\tpasteHandler,\n} from '@wordpress/blocks';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { getFilesFromDataTransfer } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/** @typedef {import('@wordpress/element').WPSyntheticEvent} WPSyntheticEvent */\n/** @typedef {import('./types').WPDropOperation} WPDropOperation */\n\n/**\n * Retrieve the data for a block drop event.\n *\n * @param {WPSyntheticEvent} event The drop event.\n *\n * @return {Object} An object with block drag and drop data.\n */\nexport function parseDropEvent( event ) {\n\tlet result = {\n\t\tsrcRootClientId: null,\n\t\tsrcClientIds: null,\n\t\tsrcIndex: null,\n\t\ttype: null,\n\t\tblocks: null,\n\t};\n\n\tif ( ! event.dataTransfer ) {\n\t\treturn result;\n\t}\n\n\ttry {\n\t\tresult = Object.assign(\n\t\t\tresult,\n\t\t\tJSON.parse( event.dataTransfer.getData( 'wp-blocks' ) )\n\t\t);\n\t} catch ( err ) {\n\t\treturn result;\n\t}\n\n\treturn result;\n}\n\n/**\n * A function that returns an event handler function for block drop events.\n *\n * @param {string} targetRootClientId The root client id where the block(s) will be inserted.\n * @param {number} targetBlockIndex The index where the block(s) will be inserted.\n * @param {Function} getBlockIndex A function that gets the index of a block.\n * @param {Function} getClientIdsOfDescendants A function that gets the client ids of descendant blocks.\n * @param {Function} moveBlocks A function that moves blocks.\n * @param {Function} insertOrReplaceBlocks A function that inserts or replaces blocks.\n * @param {Function} clearSelectedBlock A function that clears block selection.\n * @return {Function} The event handler for a block drop event.\n */\nexport function onBlockDrop(\n\ttargetRootClientId,\n\ttargetBlockIndex,\n\tgetBlockIndex,\n\tgetClientIdsOfDescendants,\n\tmoveBlocks,\n\tinsertOrReplaceBlocks,\n\tclearSelectedBlock\n) {\n\treturn ( event ) => {\n\t\tconst {\n\t\t\tsrcRootClientId: sourceRootClientId,\n\t\t\tsrcClientIds: sourceClientIds,\n\t\t\ttype: dropType,\n\t\t\tblocks,\n\t\t} = parseDropEvent( event );\n\n\t\t// If the user is inserting a block.\n\t\tif ( dropType === 'inserter' ) {\n\t\t\tclearSelectedBlock();\n\t\t\tconst blocksToInsert = blocks.map( ( block ) =>\n\t\t\t\tcloneBlock( block )\n\t\t\t);\n\t\t\tinsertOrReplaceBlocks( blocksToInsert, true, null );\n\t\t}\n\n\t\t// If the user is moving a block.\n\t\tif ( dropType === 'block' ) {\n\t\t\tconst sourceBlockIndex = getBlockIndex( sourceClientIds[ 0 ] );\n\n\t\t\t// If the user is dropping to the same position, return early.\n\t\t\tif (\n\t\t\t\tsourceRootClientId === targetRootClientId &&\n\t\t\t\tsourceBlockIndex === targetBlockIndex\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If the user is attempting to drop a block within its own\n\t\t\t// nested blocks, return early as this would create infinite\n\t\t\t// recursion.\n\t\t\tif (\n\t\t\t\tsourceClientIds.includes( targetRootClientId ) ||\n\t\t\t\tgetClientIdsOfDescendants( sourceClientIds ).some(\n\t\t\t\t\t( id ) => id === targetRootClientId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isAtSameLevel = sourceRootClientId === targetRootClientId;\n\t\t\tconst draggedBlockCount = sourceClientIds.length;\n\n\t\t\t// If the block is kept at the same level and moved downwards,\n\t\t\t// subtract to take into account that the blocks being dragged\n\t\t\t// were removed from the block list above the insertion point.\n\t\t\tconst insertIndex =\n\t\t\t\tisAtSameLevel && sourceBlockIndex < targetBlockIndex\n\t\t\t\t\t? targetBlockIndex - draggedBlockCount\n\t\t\t\t\t: targetBlockIndex;\n\n\t\t\tmoveBlocks( sourceClientIds, sourceRootClientId, insertIndex );\n\t\t}\n\t};\n}\n\n/**\n * A function that returns an event handler function for block-related file drop events.\n *\n * @param {string} targetRootClientId The root client id where the block(s) will be inserted.\n * @param {number} targetBlockIndex The index where the block(s) will be inserted.\n * @param {boolean} hasUploadPermissions Whether the user has upload permissions.\n * @param {Function} updateBlockAttributes A function that updates a block's attributes.\n * @param {Function} canInsertBlockType A function that returns checks whether a block type can be inserted.\n * @param {Function} insertOrReplaceBlocks A function that inserts or replaces blocks.\n *\n * @return {Function} The event handler for a block-related file drop event.\n */\nexport function onFilesDrop(\n\ttargetRootClientId,\n\ttargetBlockIndex,\n\thasUploadPermissions,\n\tupdateBlockAttributes,\n\tcanInsertBlockType,\n\tinsertOrReplaceBlocks\n) {\n\treturn ( files ) => {\n\t\tif ( ! hasUploadPermissions ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst transformation = findTransform(\n\t\t\tgetBlockTransforms( 'from' ),\n\t\t\t( transform ) =>\n\t\t\t\ttransform.type === 'files' &&\n\t\t\t\tcanInsertBlockType( transform.blockName, targetRootClientId ) &&\n\t\t\t\ttransform.isMatch( files )\n\t\t);\n\n\t\tif ( transformation ) {\n\t\t\tconst blocks = transformation.transform(\n\t\t\t\tfiles,\n\t\t\t\tupdateBlockAttributes\n\t\t\t);\n\t\t\tinsertOrReplaceBlocks( blocks );\n\t\t}\n\t};\n}\n\n/**\n * A function that returns an event handler function for block-related HTML drop events.\n *\n * @param {string} targetRootClientId The root client id where the block(s) will be inserted.\n * @param {number} targetBlockIndex The index where the block(s) will be inserted.\n * @param {Function} insertOrReplaceBlocks A function that inserts or replaces blocks.\n *\n * @return {Function} The event handler for a block-related HTML drop event.\n */\nexport function onHTMLDrop(\n\ttargetRootClientId,\n\ttargetBlockIndex,\n\tinsertOrReplaceBlocks\n) {\n\treturn ( HTML ) => {\n\t\tconst blocks = pasteHandler( { HTML, mode: 'BLOCKS' } );\n\n\t\tif ( blocks.length ) {\n\t\t\tinsertOrReplaceBlocks( blocks );\n\t\t}\n\t};\n}\n\n/**\n * A React hook for handling block drop events.\n *\n * @param {string} targetRootClientId The root client id where the block(s) will be inserted.\n * @param {number} targetBlockIndex The index where the block(s) will be inserted.\n * @param {Object} options The optional options.\n * @param {WPDropOperation} [options.operation] The type of operation to perform on drop. Could be `insert` or `replace` for now.\n *\n * @return {Function} A function to be passed to the onDrop handler.\n */\nexport default function useOnBlockDrop(\n\ttargetRootClientId,\n\ttargetBlockIndex,\n\toptions = {}\n) {\n\tconst { operation = 'insert' } = options;\n\tconst hasUploadPermissions = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetBlockIndex,\n\t\tgetClientIdsOfDescendants,\n\t\tgetBlockOrder,\n\t\tgetBlocksByClientId,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\tinsertBlocks,\n\t\tmoveBlocksToPosition,\n\t\tupdateBlockAttributes,\n\t\tclearSelectedBlock,\n\t\treplaceBlocks,\n\t\tremoveBlocks,\n\t} = useDispatch( blockEditorStore );\n\tconst registry = useRegistry();\n\n\tconst insertOrReplaceBlocks = useCallback(\n\t\t( blocks, updateSelection = true, initialPosition = 0 ) => {\n\t\t\tif ( operation === 'replace' ) {\n\t\t\t\tconst clientIds = getBlockOrder( targetRootClientId );\n\t\t\t\tconst clientId = clientIds[ targetBlockIndex ];\n\n\t\t\t\treplaceBlocks( clientId, blocks, undefined, initialPosition );\n\t\t\t} else {\n\t\t\t\tinsertBlocks(\n\t\t\t\t\tblocks,\n\t\t\t\t\ttargetBlockIndex,\n\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\tupdateSelection,\n\t\t\t\t\tinitialPosition\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\toperation,\n\t\t\tgetBlockOrder,\n\t\t\tinsertBlocks,\n\t\t\treplaceBlocks,\n\t\t\ttargetBlockIndex,\n\t\t\ttargetRootClientId,\n\t\t]\n\t);\n\n\tconst moveBlocks = useCallback(\n\t\t( sourceClientIds, sourceRootClientId, insertIndex ) => {\n\t\t\tif ( operation === 'replace' ) {\n\t\t\t\tconst sourceBlocks = getBlocksByClientId( sourceClientIds );\n\t\t\t\tconst targetBlockClientIds =\n\t\t\t\t\tgetBlockOrder( targetRootClientId );\n\t\t\t\tconst targetBlockClientId =\n\t\t\t\t\ttargetBlockClientIds[ targetBlockIndex ];\n\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t// Remove the source blocks.\n\t\t\t\t\tremoveBlocks( sourceClientIds, false );\n\t\t\t\t\t// Replace the target block with the source blocks.\n\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\ttargetBlockClientId,\n\t\t\t\t\t\tsourceBlocks,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t0\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\tsourceClientIds,\n\t\t\t\t\tsourceRootClientId,\n\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\tinsertIndex\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\toperation,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlocksByClientId,\n\t\t\tinsertBlocks,\n\t\t\tmoveBlocksToPosition,\n\t\t\tremoveBlocks,\n\t\t\ttargetBlockIndex,\n\t\t\ttargetRootClientId,\n\t\t]\n\t);\n\n\tconst _onDrop = onBlockDrop(\n\t\ttargetRootClientId,\n\t\ttargetBlockIndex,\n\t\tgetBlockIndex,\n\t\tgetClientIdsOfDescendants,\n\t\tmoveBlocks,\n\t\tinsertOrReplaceBlocks,\n\t\tclearSelectedBlock\n\t);\n\tconst _onFilesDrop = onFilesDrop(\n\t\ttargetRootClientId,\n\t\ttargetBlockIndex,\n\t\thasUploadPermissions,\n\t\tupdateBlockAttributes,\n\t\tcanInsertBlockType,\n\t\tinsertOrReplaceBlocks\n\t);\n\tconst _onHTMLDrop = onHTMLDrop(\n\t\ttargetRootClientId,\n\t\ttargetBlockIndex,\n\t\tinsertOrReplaceBlocks\n\t);\n\n\treturn ( event ) => {\n\t\tconst files = getFilesFromDataTransfer( event.dataTransfer );\n\t\tconst html = event.dataTransfer.getData( 'text/html' );\n\n\t\t/**\n\t\t * From Windows Chrome 96, the `event.dataTransfer` returns both file object and HTML.\n\t\t * The order of the checks is important to recognise the HTML drop.\n\t\t */\n\t\tif ( html ) {\n\t\t\t_onHTMLDrop( html );\n\t\t} else if ( files.length ) {\n\t\t\t_onFilesDrop( files );\n\t\t} else {\n\t\t\t_onDrop( event );\n\t\t}\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/use-on-block-drop/index.js"],"names":["useCallback","cloneBlock","findTransform","getBlockTransforms","pasteHandler","useDispatch","useSelect","useRegistry","getFilesFromDataTransfer","store","blockEditorStore","parseDropEvent","event","result","srcRootClientId","srcClientIds","srcIndex","type","blocks","dataTransfer","Object","assign","JSON","parse","getData","err","onBlockDrop","targetRootClientId","targetBlockIndex","getBlockIndex","getClientIdsOfDescendants","moveBlocks","insertOrReplaceBlocks","clearSelectedBlock","sourceRootClientId","sourceClientIds","dropType","blocksToInsert","map","block","sourceBlockIndex","includes","some","id","isAtSameLevel","draggedBlockCount","length","insertIndex","onFilesDrop","hasUploadPermissions","updateBlockAttributes","canInsertBlockType","files","transformation","transform","blockName","isMatch","onHTMLDrop","HTML","mode","useOnBlockDrop","options","operation","select","getSettings","mediaUpload","getBlockOrder","getBlocksByClientId","insertBlocks","moveBlocksToPosition","replaceBlocks","removeBlocks","registry","updateSelection","initialPosition","clientIds","clientId","undefined","sourceBlocks","targetBlockClientIds","targetBlockClientId","batch","_onDrop","_onFilesDrop","_onHTMLDrop","html"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport {\n\tcloneBlock,\n\tfindTransform,\n\tgetBlockTransforms,\n\tpasteHandler,\n} from '@wordpress/blocks';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { getFilesFromDataTransfer } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/** @typedef {import('@wordpress/element').WPSyntheticEvent} WPSyntheticEvent */\n/** @typedef {import('./types').WPDropOperation} WPDropOperation */\n\n/**\n * Retrieve the data for a block drop event.\n *\n * @param {WPSyntheticEvent} event The drop event.\n *\n * @return {Object} An object with block drag and drop data.\n */\nexport function parseDropEvent( event ) {\n\tlet result = {\n\t\tsrcRootClientId: null,\n\t\tsrcClientIds: null,\n\t\tsrcIndex: null,\n\t\ttype: null,\n\t\tblocks: null,\n\t};\n\n\tif ( ! event.dataTransfer ) {\n\t\treturn result;\n\t}\n\n\ttry {\n\t\tresult = Object.assign(\n\t\t\tresult,\n\t\t\tJSON.parse( event.dataTransfer.getData( 'wp-blocks' ) )\n\t\t);\n\t} catch ( err ) {\n\t\treturn result;\n\t}\n\n\treturn result;\n}\n\n/**\n * A function that returns an event handler function for block drop events.\n *\n * @param {string} targetRootClientId The root client id where the block(s) will be inserted.\n * @param {number} targetBlockIndex The index where the block(s) will be inserted.\n * @param {Function} getBlockIndex A function that gets the index of a block.\n * @param {Function} getClientIdsOfDescendants A function that gets the client ids of descendant blocks.\n * @param {Function} moveBlocks A function that moves blocks.\n * @param {Function} insertOrReplaceBlocks A function that inserts or replaces blocks.\n * @param {Function} clearSelectedBlock A function that clears block selection.\n * @return {Function} The event handler for a block drop event.\n */\nexport function onBlockDrop(\n\ttargetRootClientId,\n\ttargetBlockIndex,\n\tgetBlockIndex,\n\tgetClientIdsOfDescendants,\n\tmoveBlocks,\n\tinsertOrReplaceBlocks,\n\tclearSelectedBlock\n) {\n\treturn ( event ) => {\n\t\tconst {\n\t\t\tsrcRootClientId: sourceRootClientId,\n\t\t\tsrcClientIds: sourceClientIds,\n\t\t\ttype: dropType,\n\t\t\tblocks,\n\t\t} = parseDropEvent( event );\n\n\t\t// If the user is inserting a block.\n\t\tif ( dropType === 'inserter' ) {\n\t\t\tclearSelectedBlock();\n\t\t\tconst blocksToInsert = blocks.map( ( block ) =>\n\t\t\t\tcloneBlock( block )\n\t\t\t);\n\t\t\tinsertOrReplaceBlocks( blocksToInsert, true, null );\n\t\t}\n\n\t\t// If the user is moving a block.\n\t\tif ( dropType === 'block' ) {\n\t\t\tconst sourceBlockIndex = getBlockIndex( sourceClientIds[ 0 ] );\n\n\t\t\t// If the user is dropping to the same position, return early.\n\t\t\tif (\n\t\t\t\tsourceRootClientId === targetRootClientId &&\n\t\t\t\tsourceBlockIndex === targetBlockIndex\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If the user is attempting to drop a block within its own\n\t\t\t// nested blocks, return early as this would create infinite\n\t\t\t// recursion.\n\t\t\tif (\n\t\t\t\tsourceClientIds.includes( targetRootClientId ) ||\n\t\t\t\tgetClientIdsOfDescendants( sourceClientIds ).some(\n\t\t\t\t\t( id ) => id === targetRootClientId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isAtSameLevel = sourceRootClientId === targetRootClientId;\n\t\t\tconst draggedBlockCount = sourceClientIds.length;\n\n\t\t\t// If the block is kept at the same level and moved downwards,\n\t\t\t// subtract to take into account that the blocks being dragged\n\t\t\t// were removed from the block list above the insertion point.\n\t\t\tconst insertIndex =\n\t\t\t\tisAtSameLevel && sourceBlockIndex < targetBlockIndex\n\t\t\t\t\t? targetBlockIndex - draggedBlockCount\n\t\t\t\t\t: targetBlockIndex;\n\n\t\t\tmoveBlocks( sourceClientIds, sourceRootClientId, insertIndex );\n\t\t}\n\t};\n}\n\n/**\n * A function that returns an event handler function for block-related file drop events.\n *\n * @param {string} targetRootClientId The root client id where the block(s) will be inserted.\n * @param {number} targetBlockIndex The index where the block(s) will be inserted.\n * @param {boolean} hasUploadPermissions Whether the user has upload permissions.\n * @param {Function} updateBlockAttributes A function that updates a block's attributes.\n * @param {Function} canInsertBlockType A function that returns checks whether a block type can be inserted.\n * @param {Function} insertOrReplaceBlocks A function that inserts or replaces blocks.\n *\n * @return {Function} The event handler for a block-related file drop event.\n */\nexport function onFilesDrop(\n\ttargetRootClientId,\n\ttargetBlockIndex,\n\thasUploadPermissions,\n\tupdateBlockAttributes,\n\tcanInsertBlockType,\n\tinsertOrReplaceBlocks\n) {\n\treturn ( files ) => {\n\t\tif ( ! hasUploadPermissions ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst transformation = findTransform(\n\t\t\tgetBlockTransforms( 'from' ),\n\t\t\t( transform ) =>\n\t\t\t\ttransform.type === 'files' &&\n\t\t\t\tcanInsertBlockType( transform.blockName, targetRootClientId ) &&\n\t\t\t\ttransform.isMatch( files )\n\t\t);\n\n\t\tif ( transformation ) {\n\t\t\tconst blocks = transformation.transform(\n\t\t\t\tfiles,\n\t\t\t\tupdateBlockAttributes\n\t\t\t);\n\t\t\tinsertOrReplaceBlocks( blocks );\n\t\t}\n\t};\n}\n\n/**\n * A function that returns an event handler function for block-related HTML drop events.\n *\n * @param {string} targetRootClientId The root client id where the block(s) will be inserted.\n * @param {number} targetBlockIndex The index where the block(s) will be inserted.\n * @param {Function} insertOrReplaceBlocks A function that inserts or replaces blocks.\n *\n * @return {Function} The event handler for a block-related HTML drop event.\n */\nexport function onHTMLDrop(\n\ttargetRootClientId,\n\ttargetBlockIndex,\n\tinsertOrReplaceBlocks\n) {\n\treturn ( HTML ) => {\n\t\tconst blocks = pasteHandler( { HTML, mode: 'BLOCKS' } );\n\n\t\tif ( blocks.length ) {\n\t\t\tinsertOrReplaceBlocks( blocks );\n\t\t}\n\t};\n}\n\n/**\n * A React hook for handling block drop events.\n *\n * @param {string} targetRootClientId The root client id where the block(s) will be inserted.\n * @param {number} targetBlockIndex The index where the block(s) will be inserted.\n * @param {Object} options The optional options.\n * @param {WPDropOperation} [options.operation] The type of operation to perform on drop. Could be `insert` or `replace` for now.\n *\n * @return {Function} A function to be passed to the onDrop handler.\n */\nexport default function useOnBlockDrop(\n\ttargetRootClientId,\n\ttargetBlockIndex,\n\toptions = {}\n) {\n\tconst { operation = 'insert' } = options;\n\tconst hasUploadPermissions = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetBlockIndex,\n\t\tgetClientIdsOfDescendants,\n\t\tgetBlockOrder,\n\t\tgetBlocksByClientId,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\tinsertBlocks,\n\t\tmoveBlocksToPosition,\n\t\tupdateBlockAttributes,\n\t\tclearSelectedBlock,\n\t\treplaceBlocks,\n\t\tremoveBlocks,\n\t} = useDispatch( blockEditorStore );\n\tconst registry = useRegistry();\n\n\tconst insertOrReplaceBlocks = useCallback(\n\t\t( blocks, updateSelection = true, initialPosition = 0 ) => {\n\t\t\tif ( operation === 'replace' ) {\n\t\t\t\tconst clientIds = getBlockOrder( targetRootClientId );\n\t\t\t\tconst clientId = clientIds[ targetBlockIndex ];\n\n\t\t\t\treplaceBlocks( clientId, blocks, undefined, initialPosition );\n\t\t\t} else {\n\t\t\t\tinsertBlocks(\n\t\t\t\t\tblocks,\n\t\t\t\t\ttargetBlockIndex,\n\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\tupdateSelection,\n\t\t\t\t\tinitialPosition\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\toperation,\n\t\t\tgetBlockOrder,\n\t\t\tinsertBlocks,\n\t\t\treplaceBlocks,\n\t\t\ttargetBlockIndex,\n\t\t\ttargetRootClientId,\n\t\t]\n\t);\n\n\tconst moveBlocks = useCallback(\n\t\t( sourceClientIds, sourceRootClientId, insertIndex ) => {\n\t\t\tif ( operation === 'replace' ) {\n\t\t\t\tconst sourceBlocks = getBlocksByClientId( sourceClientIds );\n\t\t\t\tconst targetBlockClientIds =\n\t\t\t\t\tgetBlockOrder( targetRootClientId );\n\t\t\t\tconst targetBlockClientId =\n\t\t\t\t\ttargetBlockClientIds[ targetBlockIndex ];\n\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t// Remove the source blocks.\n\t\t\t\t\tremoveBlocks( sourceClientIds, false );\n\t\t\t\t\t// Replace the target block with the source blocks.\n\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\ttargetBlockClientId,\n\t\t\t\t\t\tsourceBlocks,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t0\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\tsourceClientIds,\n\t\t\t\t\tsourceRootClientId,\n\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\tinsertIndex\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\toperation,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlocksByClientId,\n\t\t\tinsertBlocks,\n\t\t\tmoveBlocksToPosition,\n\t\t\tremoveBlocks,\n\t\t\ttargetBlockIndex,\n\t\t\ttargetRootClientId,\n\t\t]\n\t);\n\n\tconst _onDrop = onBlockDrop(\n\t\ttargetRootClientId,\n\t\ttargetBlockIndex,\n\t\tgetBlockIndex,\n\t\tgetClientIdsOfDescendants,\n\t\tmoveBlocks,\n\t\tinsertOrReplaceBlocks,\n\t\tclearSelectedBlock\n\t);\n\tconst _onFilesDrop = onFilesDrop(\n\t\ttargetRootClientId,\n\t\ttargetBlockIndex,\n\t\thasUploadPermissions,\n\t\tupdateBlockAttributes,\n\t\tcanInsertBlockType,\n\t\tinsertOrReplaceBlocks\n\t);\n\tconst _onHTMLDrop = onHTMLDrop(\n\t\ttargetRootClientId,\n\t\ttargetBlockIndex,\n\t\tinsertOrReplaceBlocks\n\t);\n\n\treturn ( event ) => {\n\t\tconst files = getFilesFromDataTransfer( event.dataTransfer );\n\t\tconst html = event.dataTransfer.getData( 'text/html' );\n\n\t\t/**\n\t\t * From Windows Chrome 96, the `event.dataTransfer` returns both file object and HTML.\n\t\t * The order of the checks is important to recognise the HTML drop.\n\t\t */\n\t\tif ( html ) {\n\t\t\t_onHTMLDrop( html );\n\t\t} else if ( files.length ) {\n\t\t\t_onFilesDrop( files );\n\t\t} else {\n\t\t\t_onDrop( event );\n\t\t}\n\t};\n}\n"]}
|
|
@@ -20,16 +20,14 @@ import { store as blockEditorStore } from '../../store';
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
export function onBlockDrop(getBlockIndex, getClientIdsOfDescendants, moveBlocksToPosition, insertBlocks, clearSelectedBlock) {
|
|
23
|
-
return
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
} = _ref;
|
|
32
|
-
|
|
23
|
+
return ({
|
|
24
|
+
blocks,
|
|
25
|
+
srcClientIds: sourceClientIds,
|
|
26
|
+
srcRootClientId: sourceRootClientId,
|
|
27
|
+
targetBlockIndex,
|
|
28
|
+
targetRootClientId,
|
|
29
|
+
type: dropType
|
|
30
|
+
}) => {
|
|
33
31
|
// If the user is inserting a block.
|
|
34
32
|
if (dropType === 'inserter') {
|
|
35
33
|
clearSelectedBlock();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/use-on-block-drop/index.native.js"],"names":["cloneBlock","useDispatch","useSelect","store","blockEditorStore","onBlockDrop","getBlockIndex","getClientIdsOfDescendants","moveBlocksToPosition","insertBlocks","clearSelectedBlock","blocks","srcClientIds","sourceClientIds","srcRootClientId","sourceRootClientId","targetBlockIndex","targetRootClientId","type","dropType","blocksToInsert","map","block","sourceBlockIndex","includes","some","id","isAtSameLevel","draggedBlockCount","length","insertIndex","useOnBlockDrop"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,mBAA3B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,WAAT,CACNC,aADM,EAENC,yBAFM,EAGNC,oBAHM,EAINC,YAJM,EAKNC,kBALM,EAML;AACD,SAAO,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/use-on-block-drop/index.native.js"],"names":["cloneBlock","useDispatch","useSelect","store","blockEditorStore","onBlockDrop","getBlockIndex","getClientIdsOfDescendants","moveBlocksToPosition","insertBlocks","clearSelectedBlock","blocks","srcClientIds","sourceClientIds","srcRootClientId","sourceRootClientId","targetBlockIndex","targetRootClientId","type","dropType","blocksToInsert","map","block","sourceBlockIndex","includes","some","id","isAtSameLevel","draggedBlockCount","length","insertIndex","useOnBlockDrop"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,mBAA3B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,WAAT,CACNC,aADM,EAENC,yBAFM,EAGNC,oBAHM,EAINC,YAJM,EAKNC,kBALM,EAML;AACD,SAAO,CAAE;AACRC,IAAAA,MADQ;AAERC,IAAAA,YAAY,EAAEC,eAFN;AAGRC,IAAAA,eAAe,EAAEC,kBAHT;AAIRC,IAAAA,gBAJQ;AAKRC,IAAAA,kBALQ;AAMRC,IAAAA,IAAI,EAAEC;AANE,GAAF,KAOA;AACN;AACA,QAAKA,QAAQ,KAAK,UAAlB,EAA+B;AAC9BT,MAAAA,kBAAkB;AAClB,YAAMU,cAAc,GAAGT,MAAM,CAACU,GAAP,CAAcC,KAAF,IAClCtB,UAAU,CAAEsB,KAAF,CADY,CAAvB;AAGAb,MAAAA,YAAY,CACXW,cADW,EAEXJ,gBAFW,EAGXC,kBAHW,EAIX,IAJW,EAKX,IALW,CAAZ;AAOA,KAdK,CAgBN;;;AACA,QAAKE,QAAQ,KAAK,OAAlB,EAA4B;AAC3B,YAAMI,gBAAgB,GAAGjB,aAAa,CAAEO,eAAe,CAAE,CAAF,CAAjB,CAAtC,CAD2B,CAG3B;;AACA,UACCE,kBAAkB,KAAKE,kBAAvB,IACAM,gBAAgB,KAAKP,gBAFtB,EAGE;AACD;AACA,OAT0B,CAW3B;AACA;AACA;;;AACA,UACCH,eAAe,CAACW,QAAhB,CAA0BP,kBAA1B,KACAV,yBAAyB,CAAEM,eAAF,CAAzB,CAA6CY,IAA7C,CACGC,EAAF,IAAUA,EAAE,KAAKT,kBADlB,CAFD,EAKE;AACD;AACA;;AAED,YAAMU,aAAa,GAAGZ,kBAAkB,KAAKE,kBAA7C;AACA,YAAMW,iBAAiB,GAAGf,eAAe,CAACgB,MAA1C,CAxB2B,CA0B3B;AACA;AACA;;AACA,YAAMC,WAAW,GAChBH,aAAa,IAAIJ,gBAAgB,GAAGP,gBAApC,GACGA,gBAAgB,GAAGY,iBADtB,GAEGZ,gBAHJ;AAKAR,MAAAA,oBAAoB,CACnBK,eADmB,EAEnBE,kBAFmB,EAGnBE,kBAHmB,EAInBa,WAJmB,CAApB;AAMA;AACD,GAjED;AAkEA;AAED;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,GAA0B;AACxC,QAAM;AAAEzB,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MACLL,SAAS,CAAEE,gBAAF,CADV;AAEA,QAAM;AAAEK,IAAAA,YAAF;AAAgBD,IAAAA,oBAAhB;AAAsCE,IAAAA;AAAtC,MACLT,WAAW,CAAEG,gBAAF,CADZ;AAGA,SAAOC,WAAW,CACjBC,aADiB,EAEjBC,yBAFiB,EAGjBC,oBAHiB,EAIjBC,YAJiB,EAKjBC,kBALiB,CAAlB;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * A function that returns an event handler function for block drop events.\n *\n * @param {Function} getBlockIndex A function that gets the index of a block.\n * @param {Function} getClientIdsOfDescendants A function that gets the client ids of descendant blocks.\n * @param {Function} moveBlocksToPosition A function that moves blocks.\n * @param {Function} insertBlocks A function that inserts blocks.\n * @param {Function} clearSelectedBlock A function that clears block selection.\n * @return {Function} The event handler for a block drop event.\n */\nexport function onBlockDrop(\n\tgetBlockIndex,\n\tgetClientIdsOfDescendants,\n\tmoveBlocksToPosition,\n\tinsertBlocks,\n\tclearSelectedBlock\n) {\n\treturn ( {\n\t\tblocks,\n\t\tsrcClientIds: sourceClientIds,\n\t\tsrcRootClientId: sourceRootClientId,\n\t\ttargetBlockIndex,\n\t\ttargetRootClientId,\n\t\ttype: dropType,\n\t} ) => {\n\t\t// If the user is inserting a block.\n\t\tif ( dropType === 'inserter' ) {\n\t\t\tclearSelectedBlock();\n\t\t\tconst blocksToInsert = blocks.map( ( block ) =>\n\t\t\t\tcloneBlock( block )\n\t\t\t);\n\t\t\tinsertBlocks(\n\t\t\t\tblocksToInsert,\n\t\t\t\ttargetBlockIndex,\n\t\t\t\ttargetRootClientId,\n\t\t\t\ttrue,\n\t\t\t\tnull\n\t\t\t);\n\t\t}\n\n\t\t// If the user is moving a block.\n\t\tif ( dropType === 'block' ) {\n\t\t\tconst sourceBlockIndex = getBlockIndex( sourceClientIds[ 0 ] );\n\n\t\t\t// If the user is dropping to the same position, return early.\n\t\t\tif (\n\t\t\t\tsourceRootClientId === targetRootClientId &&\n\t\t\t\tsourceBlockIndex === targetBlockIndex\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If the user is attempting to drop a block within its own\n\t\t\t// nested blocks, return early as this would create infinite\n\t\t\t// recursion.\n\t\t\tif (\n\t\t\t\tsourceClientIds.includes( targetRootClientId ) ||\n\t\t\t\tgetClientIdsOfDescendants( sourceClientIds ).some(\n\t\t\t\t\t( id ) => id === targetRootClientId\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isAtSameLevel = sourceRootClientId === targetRootClientId;\n\t\t\tconst draggedBlockCount = sourceClientIds.length;\n\n\t\t\t// If the block is kept at the same level and moved downwards,\n\t\t\t// subtract to take into account that the blocks being dragged\n\t\t\t// were removed from the block list above the insertion point.\n\t\t\tconst insertIndex =\n\t\t\t\tisAtSameLevel && sourceBlockIndex < targetBlockIndex\n\t\t\t\t\t? targetBlockIndex - draggedBlockCount\n\t\t\t\t\t: targetBlockIndex;\n\n\t\t\tmoveBlocksToPosition(\n\t\t\t\tsourceClientIds,\n\t\t\t\tsourceRootClientId,\n\t\t\t\ttargetRootClientId,\n\t\t\t\tinsertIndex\n\t\t\t);\n\t\t}\n\t};\n}\n\n/**\n * A React hook for handling block drop events.\n *\n * @return {Function} The event handler for a block drop event.\n */\nexport default function useOnBlockDrop() {\n\tconst { getBlockIndex, getClientIdsOfDescendants } =\n\t\tuseSelect( blockEditorStore );\n\tconst { insertBlocks, moveBlocksToPosition, clearSelectedBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\treturn onBlockDrop(\n\t\tgetBlockIndex,\n\t\tgetClientIdsOfDescendants,\n\t\tmoveBlocksToPosition,\n\t\tinsertBlocks,\n\t\tclearSelectedBlock\n\t);\n}\n"]}
|
|
@@ -68,9 +68,7 @@ const STYLE_ATTRIBUTES = {
|
|
|
68
68
|
*/
|
|
69
69
|
|
|
70
70
|
function getStyleAttributes(sourceBlock, targetBlock) {
|
|
71
|
-
return Object.entries(STYLE_ATTRIBUTES).reduce((attributes,
|
|
72
|
-
let [attributeKey, hasSupport] = _ref;
|
|
73
|
-
|
|
71
|
+
return Object.entries(STYLE_ATTRIBUTES).reduce((attributes, [attributeKey, hasSupport]) => {
|
|
74
72
|
// Only apply the attribute if both blocks support it.
|
|
75
73
|
if (hasSupport(sourceBlock.name) && hasSupport(targetBlock.name)) {
|
|
76
74
|
// Override attributes that are not present in the block to their defaults.
|
|
@@ -156,9 +154,7 @@ export default function usePasteStyles() {
|
|
|
156
154
|
}
|
|
157
155
|
|
|
158
156
|
if (targetBlocks.length === 1) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
const title = (_getBlockType = getBlockType(targetBlocks[0].name)) === null || _getBlockType === void 0 ? void 0 : _getBlockType.title;
|
|
157
|
+
const title = getBlockType(targetBlocks[0].name)?.title;
|
|
162
158
|
createSuccessNotice(sprintf( // Translators: Name of the block being pasted, e.g. "Paragraph".
|
|
163
159
|
__('Pasted styles to %s.'), title), {
|
|
164
160
|
type: 'snackbar'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/use-paste-styles/index.js"],"names":["useCallback","getBlockType","parse","useDispatch","useRegistry","store","noticesStore","__","sprintf","blockEditorStore","hasAlignSupport","hasBorderSupport","hasBackgroundColorSupport","hasTextColorSupport","hasGradientSupport","hasCustomClassNameSupport","hasFontFamilySupport","hasFontSizeSupport","hasLayoutSupport","hasStyleSupport","hasSerializedBlocks","text","blocks","__unstableSkipMigrationLogs","__unstableSkipAutop","length","name","err","STYLE_ATTRIBUTES","align","borderColor","nameOrType","backgroundColor","textColor","gradient","className","fontFamily","fontSize","layout","style","getStyleAttributes","sourceBlock","targetBlock","Object","entries","reduce","attributes","attributeKey","hasSupport","recursivelyUpdateBlockAttributes","targetBlocks","sourceBlocks","updateBlockAttributes","index","Math","min","clientId","innerBlocks","usePasteStyles","registry","createSuccessNotice","createWarningNotice","createErrorNotice","html","window","navigator","clipboard","type","readText","error","copiedBlocks","batch","map","title"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { getBlockType, parse } from '@wordpress/blocks';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport {\n\thasAlignSupport,\n\thasBorderSupport,\n\thasBackgroundColorSupport,\n\thasTextColorSupport,\n\thasGradientSupport,\n\thasCustomClassNameSupport,\n\thasFontFamilySupport,\n\thasFontSizeSupport,\n\thasLayoutSupport,\n\thasStyleSupport,\n} from '../../hooks/supports';\n\n/**\n * Determine if the copied text looks like serialized blocks or not.\n * Since plain text will always get parsed into a freeform block,\n * we check that if the parsed blocks is anything other than that.\n *\n * @param {string} text The copied text.\n * @return {boolean} True if the text looks like serialized blocks, false otherwise.\n */\nfunction hasSerializedBlocks( text ) {\n\ttry {\n\t\tconst blocks = parse( text, {\n\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t__unstableSkipAutop: true,\n\t\t} );\n\t\tif ( blocks.length === 1 && blocks[ 0 ].name === 'core/freeform' ) {\n\t\t\t// It's likely that the text is just plain text and not serialized blocks.\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} catch ( err ) {\n\t\t// Parsing error, the text is not serialized blocks.\n\t\t// (Even though that it technically won't happen)\n\t\treturn false;\n\t}\n}\n\n/**\n * Style attributes are attributes being added in `block-editor/src/hooks/*`.\n * (Except for some unrelated to style like `anchor` or `settings`.)\n * They generally represent the default block supports.\n */\nconst STYLE_ATTRIBUTES = {\n\talign: hasAlignSupport,\n\tborderColor: ( nameOrType ) => hasBorderSupport( nameOrType, 'color' ),\n\tbackgroundColor: hasBackgroundColorSupport,\n\ttextColor: hasTextColorSupport,\n\tgradient: hasGradientSupport,\n\tclassName: hasCustomClassNameSupport,\n\tfontFamily: hasFontFamilySupport,\n\tfontSize: hasFontSizeSupport,\n\tlayout: hasLayoutSupport,\n\tstyle: hasStyleSupport,\n};\n\n/**\n * Get the \"style attributes\" from a given block to a target block.\n *\n * @param {WPBlock} sourceBlock The source block.\n * @param {WPBlock} targetBlock The target block.\n * @return {Object} the filtered attributes object.\n */\nfunction getStyleAttributes( sourceBlock, targetBlock ) {\n\treturn Object.entries( STYLE_ATTRIBUTES ).reduce(\n\t\t( attributes, [ attributeKey, hasSupport ] ) => {\n\t\t\t// Only apply the attribute if both blocks support it.\n\t\t\tif (\n\t\t\t\thasSupport( sourceBlock.name ) &&\n\t\t\t\thasSupport( targetBlock.name )\n\t\t\t) {\n\t\t\t\t// Override attributes that are not present in the block to their defaults.\n\t\t\t\tattributes[ attributeKey ] =\n\t\t\t\t\tsourceBlock.attributes[ attributeKey ];\n\t\t\t}\n\t\t\treturn attributes;\n\t\t},\n\t\t{}\n\t);\n}\n\n/**\n * Update the target blocks with style attributes recursively.\n *\n * @param {WPBlock[]} targetBlocks The target blocks to be updated.\n * @param {WPBlock[]} sourceBlocks The source blocks to get th style attributes from.\n * @param {Function} updateBlockAttributes The function to update the attributes.\n */\nfunction recursivelyUpdateBlockAttributes(\n\ttargetBlocks,\n\tsourceBlocks,\n\tupdateBlockAttributes\n) {\n\tfor (\n\t\tlet index = 0;\n\t\tindex < Math.min( sourceBlocks.length, targetBlocks.length );\n\t\tindex += 1\n\t) {\n\t\tupdateBlockAttributes(\n\t\t\ttargetBlocks[ index ].clientId,\n\t\t\tgetStyleAttributes( sourceBlocks[ index ], targetBlocks[ index ] )\n\t\t);\n\n\t\trecursivelyUpdateBlockAttributes(\n\t\t\ttargetBlocks[ index ].innerBlocks,\n\t\t\tsourceBlocks[ index ].innerBlocks,\n\t\t\tupdateBlockAttributes\n\t\t);\n\t}\n}\n\n/**\n * A hook to return a pasteStyles event function for handling pasting styles to blocks.\n *\n * @return {Function} A function to update the styles to the blocks.\n */\nexport default function usePasteStyles() {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createWarningNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\treturn useCallback(\n\t\tasync ( targetBlocks ) => {\n\t\t\tlet html = '';\n\t\t\ttry {\n\t\t\t\t// `http:` sites won't have the clipboard property on navigator.\n\t\t\t\t// (with the exception of localhost.)\n\t\t\t\tif ( ! window.navigator.clipboard ) {\n\t\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Unable to paste styles. This feature is only available on secure (https) sites in supporting browsers.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\thtml = await window.navigator.clipboard.readText();\n\t\t\t} catch ( error ) {\n\t\t\t\t// Possibly the permission is denied.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Unable to paste styles. Please allow browser clipboard permissions before continuing.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Abort if the copied text is empty or doesn't look like serialized blocks.\n\t\t\tif ( ! html || ! hasSerializedBlocks( html ) ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t\"Unable to paste styles. Block styles couldn't be found within the copied content.\"\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst copiedBlocks = parse( html );\n\n\t\t\tif ( copiedBlocks.length === 1 ) {\n\t\t\t\t// Apply styles of the block to all the target blocks.\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\trecursivelyUpdateBlockAttributes(\n\t\t\t\t\t\ttargetBlocks,\n\t\t\t\t\t\ttargetBlocks.map( () => copiedBlocks[ 0 ] ),\n\t\t\t\t\t\tupdateBlockAttributes\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\trecursivelyUpdateBlockAttributes(\n\t\t\t\t\t\ttargetBlocks,\n\t\t\t\t\t\tcopiedBlocks,\n\t\t\t\t\t\tupdateBlockAttributes\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( targetBlocks.length === 1 ) {\n\t\t\t\tconst title = getBlockType( targetBlocks[ 0 ].name )?.title;\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// Translators: Name of the block being pasted, e.g. \"Paragraph\".\n\t\t\t\t\t\t__( 'Pasted styles to %s.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t),\n\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// Translators: The number of the blocks.\n\t\t\t\t\t\t__( 'Pasted styles to %d blocks.' ),\n\t\t\t\t\t\ttargetBlocks.length\n\t\t\t\t\t),\n\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tregistry.batch,\n\t\t\tupdateBlockAttributes,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateWarningNotice,\n\t\t\tcreateErrorNotice,\n\t\t]\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/use-paste-styles/index.js"],"names":["useCallback","getBlockType","parse","useDispatch","useRegistry","store","noticesStore","__","sprintf","blockEditorStore","hasAlignSupport","hasBorderSupport","hasBackgroundColorSupport","hasTextColorSupport","hasGradientSupport","hasCustomClassNameSupport","hasFontFamilySupport","hasFontSizeSupport","hasLayoutSupport","hasStyleSupport","hasSerializedBlocks","text","blocks","__unstableSkipMigrationLogs","__unstableSkipAutop","length","name","err","STYLE_ATTRIBUTES","align","borderColor","nameOrType","backgroundColor","textColor","gradient","className","fontFamily","fontSize","layout","style","getStyleAttributes","sourceBlock","targetBlock","Object","entries","reduce","attributes","attributeKey","hasSupport","recursivelyUpdateBlockAttributes","targetBlocks","sourceBlocks","updateBlockAttributes","index","Math","min","clientId","innerBlocks","usePasteStyles","registry","createSuccessNotice","createWarningNotice","createErrorNotice","html","window","navigator","clipboard","type","readText","error","copiedBlocks","batch","map","title"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { getBlockType, parse } from '@wordpress/blocks';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport {\n\thasAlignSupport,\n\thasBorderSupport,\n\thasBackgroundColorSupport,\n\thasTextColorSupport,\n\thasGradientSupport,\n\thasCustomClassNameSupport,\n\thasFontFamilySupport,\n\thasFontSizeSupport,\n\thasLayoutSupport,\n\thasStyleSupport,\n} from '../../hooks/supports';\n\n/**\n * Determine if the copied text looks like serialized blocks or not.\n * Since plain text will always get parsed into a freeform block,\n * we check that if the parsed blocks is anything other than that.\n *\n * @param {string} text The copied text.\n * @return {boolean} True if the text looks like serialized blocks, false otherwise.\n */\nfunction hasSerializedBlocks( text ) {\n\ttry {\n\t\tconst blocks = parse( text, {\n\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t__unstableSkipAutop: true,\n\t\t} );\n\t\tif ( blocks.length === 1 && blocks[ 0 ].name === 'core/freeform' ) {\n\t\t\t// It's likely that the text is just plain text and not serialized blocks.\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} catch ( err ) {\n\t\t// Parsing error, the text is not serialized blocks.\n\t\t// (Even though that it technically won't happen)\n\t\treturn false;\n\t}\n}\n\n/**\n * Style attributes are attributes being added in `block-editor/src/hooks/*`.\n * (Except for some unrelated to style like `anchor` or `settings`.)\n * They generally represent the default block supports.\n */\nconst STYLE_ATTRIBUTES = {\n\talign: hasAlignSupport,\n\tborderColor: ( nameOrType ) => hasBorderSupport( nameOrType, 'color' ),\n\tbackgroundColor: hasBackgroundColorSupport,\n\ttextColor: hasTextColorSupport,\n\tgradient: hasGradientSupport,\n\tclassName: hasCustomClassNameSupport,\n\tfontFamily: hasFontFamilySupport,\n\tfontSize: hasFontSizeSupport,\n\tlayout: hasLayoutSupport,\n\tstyle: hasStyleSupport,\n};\n\n/**\n * Get the \"style attributes\" from a given block to a target block.\n *\n * @param {WPBlock} sourceBlock The source block.\n * @param {WPBlock} targetBlock The target block.\n * @return {Object} the filtered attributes object.\n */\nfunction getStyleAttributes( sourceBlock, targetBlock ) {\n\treturn Object.entries( STYLE_ATTRIBUTES ).reduce(\n\t\t( attributes, [ attributeKey, hasSupport ] ) => {\n\t\t\t// Only apply the attribute if both blocks support it.\n\t\t\tif (\n\t\t\t\thasSupport( sourceBlock.name ) &&\n\t\t\t\thasSupport( targetBlock.name )\n\t\t\t) {\n\t\t\t\t// Override attributes that are not present in the block to their defaults.\n\t\t\t\tattributes[ attributeKey ] =\n\t\t\t\t\tsourceBlock.attributes[ attributeKey ];\n\t\t\t}\n\t\t\treturn attributes;\n\t\t},\n\t\t{}\n\t);\n}\n\n/**\n * Update the target blocks with style attributes recursively.\n *\n * @param {WPBlock[]} targetBlocks The target blocks to be updated.\n * @param {WPBlock[]} sourceBlocks The source blocks to get th style attributes from.\n * @param {Function} updateBlockAttributes The function to update the attributes.\n */\nfunction recursivelyUpdateBlockAttributes(\n\ttargetBlocks,\n\tsourceBlocks,\n\tupdateBlockAttributes\n) {\n\tfor (\n\t\tlet index = 0;\n\t\tindex < Math.min( sourceBlocks.length, targetBlocks.length );\n\t\tindex += 1\n\t) {\n\t\tupdateBlockAttributes(\n\t\t\ttargetBlocks[ index ].clientId,\n\t\t\tgetStyleAttributes( sourceBlocks[ index ], targetBlocks[ index ] )\n\t\t);\n\n\t\trecursivelyUpdateBlockAttributes(\n\t\t\ttargetBlocks[ index ].innerBlocks,\n\t\t\tsourceBlocks[ index ].innerBlocks,\n\t\t\tupdateBlockAttributes\n\t\t);\n\t}\n}\n\n/**\n * A hook to return a pasteStyles event function for handling pasting styles to blocks.\n *\n * @return {Function} A function to update the styles to the blocks.\n */\nexport default function usePasteStyles() {\n\tconst registry = useRegistry();\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createWarningNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\treturn useCallback(\n\t\tasync ( targetBlocks ) => {\n\t\t\tlet html = '';\n\t\t\ttry {\n\t\t\t\t// `http:` sites won't have the clipboard property on navigator.\n\t\t\t\t// (with the exception of localhost.)\n\t\t\t\tif ( ! window.navigator.clipboard ) {\n\t\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Unable to paste styles. This feature is only available on secure (https) sites in supporting browsers.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\thtml = await window.navigator.clipboard.readText();\n\t\t\t} catch ( error ) {\n\t\t\t\t// Possibly the permission is denied.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Unable to paste styles. Please allow browser clipboard permissions before continuing.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Abort if the copied text is empty or doesn't look like serialized blocks.\n\t\t\tif ( ! html || ! hasSerializedBlocks( html ) ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t\"Unable to paste styles. Block styles couldn't be found within the copied content.\"\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst copiedBlocks = parse( html );\n\n\t\t\tif ( copiedBlocks.length === 1 ) {\n\t\t\t\t// Apply styles of the block to all the target blocks.\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\trecursivelyUpdateBlockAttributes(\n\t\t\t\t\t\ttargetBlocks,\n\t\t\t\t\t\ttargetBlocks.map( () => copiedBlocks[ 0 ] ),\n\t\t\t\t\t\tupdateBlockAttributes\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\trecursivelyUpdateBlockAttributes(\n\t\t\t\t\t\ttargetBlocks,\n\t\t\t\t\t\tcopiedBlocks,\n\t\t\t\t\t\tupdateBlockAttributes\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tif ( targetBlocks.length === 1 ) {\n\t\t\t\tconst title = getBlockType( targetBlocks[ 0 ].name )?.title;\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// Translators: Name of the block being pasted, e.g. \"Paragraph\".\n\t\t\t\t\t\t__( 'Pasted styles to %s.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t),\n\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// Translators: The number of the blocks.\n\t\t\t\t\t\t__( 'Pasted styles to %d blocks.' ),\n\t\t\t\t\t\ttargetBlocks.length\n\t\t\t\t\t),\n\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tregistry.batch,\n\t\t\tupdateBlockAttributes,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateWarningNotice,\n\t\t\tcreateErrorNotice,\n\t\t]\n\t);\n}\n"]}
|
|
@@ -48,13 +48,20 @@ export default function useResizeCanvas(deviceType) {
|
|
|
48
48
|
|
|
49
49
|
const contentInlineStyles = device => {
|
|
50
50
|
const height = device === 'Mobile' ? '768px' : '1024px';
|
|
51
|
+
const marginVertical = marginValue() + 'px';
|
|
52
|
+
const marginHorizontal = 'auto';
|
|
51
53
|
|
|
52
54
|
switch (device) {
|
|
53
55
|
case 'Tablet':
|
|
54
56
|
case 'Mobile':
|
|
55
57
|
return {
|
|
56
58
|
width: getCanvasWidth(device),
|
|
57
|
-
margin
|
|
59
|
+
// Keeping margin styles separate to avoid warnings
|
|
60
|
+
// when those props get overridden in the iframe component
|
|
61
|
+
marginTop: marginVertical,
|
|
62
|
+
marginBottom: marginVertical,
|
|
63
|
+
marginLeft: marginHorizontal,
|
|
64
|
+
marginRight: marginHorizontal,
|
|
58
65
|
height,
|
|
59
66
|
borderRadius: '2px 2px 2px 2px',
|
|
60
67
|
border: '1px solid #ddd',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/use-resize-canvas/index.js"],"names":["useEffect","useState","useResizeCanvas","deviceType","actualWidth","updateActualWidth","window","innerWidth","resizeListener","addEventListener","removeEventListener","getCanvasWidth","device","deviceWidth","marginValue","innerHeight","contentInlineStyles","height","width","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/use-resize-canvas/index.js"],"names":["useEffect","useState","useResizeCanvas","deviceType","actualWidth","updateActualWidth","window","innerWidth","resizeListener","addEventListener","removeEventListener","getCanvasWidth","device","deviceWidth","marginValue","innerHeight","contentInlineStyles","height","marginVertical","marginHorizontal","width","marginTop","marginBottom","marginLeft","marginRight","borderRadius","border","overflowY"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,QAApB,QAAoC,oBAApC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,eAAT,CAA0BC,UAA1B,EAAuC;AACrD,QAAM,CAAEC,WAAF,EAAeC,iBAAf,IAAqCJ,QAAQ,CAAEK,MAAM,CAACC,UAAT,CAAnD;AAEAP,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKG,UAAU,KAAK,SAApB,EAAgC;AAC/B;AACA;;AAED,UAAMK,cAAc,GAAG,MAAMH,iBAAiB,CAAEC,MAAM,CAACC,UAAT,CAA9C;;AACAD,IAAAA,MAAM,CAACG,gBAAP,CAAyB,QAAzB,EAAmCD,cAAnC;AAEA,WAAO,MAAM;AACZF,MAAAA,MAAM,CAACI,mBAAP,CAA4B,QAA5B,EAAsCF,cAAtC;AACA,KAFD;AAGA,GAXQ,EAWN,CAAEL,UAAF,CAXM,CAAT;;AAaA,QAAMQ,cAAc,GAAKC,MAAF,IAAc;AACpC,QAAIC,WAAJ;;AAEA,YAASD,MAAT;AACC,WAAK,QAAL;AACCC,QAAAA,WAAW,GAAG,GAAd;AACA;;AACD,WAAK,QAAL;AACCA,QAAAA,WAAW,GAAG,GAAd;AACA;;AACD;AACC,eAAO,IAAP;AARF;;AAWA,WAAOA,WAAW,GAAGT,WAAd,GAA4BS,WAA5B,GAA0CT,WAAjD;AACA,GAfD;;AAiBA,QAAMU,WAAW,GAAG,MAAQR,MAAM,CAACS,WAAP,GAAqB,GAArB,GAA2B,EAA3B,GAAgC,EAA5D;;AAEA,QAAMC,mBAAmB,GAAKJ,MAAF,IAAc;AACzC,UAAMK,MAAM,GAAGL,MAAM,KAAK,QAAX,GAAsB,OAAtB,GAAgC,QAA/C;AACA,UAAMM,cAAc,GAAGJ,WAAW,KAAK,IAAvC;AACA,UAAMK,gBAAgB,GAAG,MAAzB;;AAEA,YAASP,MAAT;AACC,WAAK,QAAL;AACA,WAAK,QAAL;AACC,eAAO;AACNQ,UAAAA,KAAK,EAAET,cAAc,CAAEC,MAAF,CADf;AAEN;AACA;AACAS,UAAAA,SAAS,EAAEH,cAJL;AAKNI,UAAAA,YAAY,EAAEJ,cALR;AAMNK,UAAAA,UAAU,EAAEJ,gBANN;AAONK,UAAAA,WAAW,EAAEL,gBAPP;AAQNF,UAAAA,MARM;AASNQ,UAAAA,YAAY,EAAE,iBATR;AAUNC,UAAAA,MAAM,EAAE,gBAVF;AAWNC,UAAAA,SAAS,EAAE;AAXL,SAAP;;AAaD;AACC,eAAO,IAAP;AAjBF;AAmBA,GAxBD;;AA0BA,SAAOX,mBAAmB,CAAEb,UAAF,CAA1B;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\n\n/**\n * Function to resize the editor window.\n *\n * @param {string} deviceType Used for determining the size of the container (e.g. Desktop, Tablet, Mobile)\n *\n * @return {Object} Inline styles to be added to resizable container.\n */\nexport default function useResizeCanvas( deviceType ) {\n\tconst [ actualWidth, updateActualWidth ] = useState( window.innerWidth );\n\n\tuseEffect( () => {\n\t\tif ( deviceType === 'Desktop' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst resizeListener = () => updateActualWidth( window.innerWidth );\n\t\twindow.addEventListener( 'resize', resizeListener );\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener( 'resize', resizeListener );\n\t\t};\n\t}, [ deviceType ] );\n\n\tconst getCanvasWidth = ( device ) => {\n\t\tlet deviceWidth;\n\n\t\tswitch ( device ) {\n\t\t\tcase 'Tablet':\n\t\t\t\tdeviceWidth = 780;\n\t\t\t\tbreak;\n\t\t\tcase 'Mobile':\n\t\t\t\tdeviceWidth = 360;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\n\t\treturn deviceWidth < actualWidth ? deviceWidth : actualWidth;\n\t};\n\n\tconst marginValue = () => ( window.innerHeight < 800 ? 36 : 72 );\n\n\tconst contentInlineStyles = ( device ) => {\n\t\tconst height = device === 'Mobile' ? '768px' : '1024px';\n\t\tconst marginVertical = marginValue() + 'px';\n\t\tconst marginHorizontal = 'auto';\n\n\t\tswitch ( device ) {\n\t\t\tcase 'Tablet':\n\t\t\tcase 'Mobile':\n\t\t\t\treturn {\n\t\t\t\t\twidth: getCanvasWidth( device ),\n\t\t\t\t\t// Keeping margin styles separate to avoid warnings\n\t\t\t\t\t// when those props get overridden in the iframe component\n\t\t\t\t\tmarginTop: marginVertical,\n\t\t\t\t\tmarginBottom: marginVertical,\n\t\t\t\t\tmarginLeft: marginHorizontal,\n\t\t\t\t\tmarginRight: marginHorizontal,\n\t\t\t\t\theight,\n\t\t\t\t\tborderRadius: '2px 2px 2px 2px',\n\t\t\t\t\tborder: '1px solid #ddd',\n\t\t\t\t\toverflowY: 'auto',\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t};\n\n\treturn contentInlineStyles( deviceType );\n}\n"]}
|
|
@@ -13,13 +13,12 @@ import { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
|
|
|
13
13
|
import { __ } from '@wordpress/i18n';
|
|
14
14
|
import { moreHorizontal } from '@wordpress/icons';
|
|
15
15
|
|
|
16
|
-
function Warning(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} = _ref;
|
|
16
|
+
function Warning({
|
|
17
|
+
className,
|
|
18
|
+
actions,
|
|
19
|
+
children,
|
|
20
|
+
secondaryActions
|
|
21
|
+
}) {
|
|
23
22
|
return createElement("div", {
|
|
24
23
|
style: {
|
|
25
24
|
display: 'contents',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/warning/index.js"],"names":["classnames","Children","DropdownMenu","MenuGroup","MenuItem","__","moreHorizontal","Warning","className","actions","children","secondaryActions","display","all","count","map","action","i","position","item","pos","onClick","title"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,YAAT,EAAuBC,SAAvB,EAAkCC,QAAlC,QAAkD,uBAAlD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,cAAT,QAA+B,kBAA/B;;AAEA,SAASC,OAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/warning/index.js"],"names":["classnames","Children","DropdownMenu","MenuGroup","MenuItem","__","moreHorizontal","Warning","className","actions","children","secondaryActions","display","all","count","map","action","i","position","item","pos","onClick","title"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,YAAT,EAAuBC,SAAvB,EAAkCC,QAAlC,QAAkD,uBAAlD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,cAAT,QAA+B,kBAA/B;;AAEA,SAASC,OAAT,CAAkB;AAAEC,EAAAA,SAAF;AAAaC,EAAAA,OAAb;AAAsBC,EAAAA,QAAtB;AAAgCC,EAAAA;AAAhC,CAAlB,EAAuE;AACtE,SACC;AAAK,IAAA,KAAK,EAAG;AAAEC,MAAAA,OAAO,EAAE,UAAX;AAAuBC,MAAAA,GAAG,EAAE;AAA5B;AAAb,KACC;AAAK,IAAA,SAAS,EAAGb,UAAU,CAAEQ,SAAF,EAAa,sBAAb;AAA3B,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAG,IAAA,SAAS,EAAC;AAAb,KACGE,QADH,CADD,EAKG,CAAET,QAAQ,CAACa,KAAT,CAAgBL,OAAhB,IAA4B,CAA5B,IAAiCE,gBAAnC,KACD;AAAK,IAAA,SAAS,EAAC;AAAf,KACGV,QAAQ,CAACa,KAAT,CAAgBL,OAAhB,IAA4B,CAA5B,IACDR,QAAQ,CAACc,GAAT,CAAcN,OAAd,EAAuB,CAAEO,MAAF,EAAUC,CAAV,KACtB;AACC,IAAA,GAAG,EAAGA,CADP;AAEC,IAAA,SAAS,EAAC;AAFX,KAIGD,MAJH,CADD,CAFF,EAUGL,gBAAgB,IACjB,cAAC,YAAD;AACC,IAAA,SAAS,EAAC,iCADX;AAEC,IAAA,IAAI,EAAGL,cAFR;AAGC,IAAA,KAAK,EAAGD,EAAE,CAAE,cAAF,CAHX;AAIC,IAAA,YAAY,EAAG;AACda,MAAAA,QAAQ,EAAE,aADI;AAEdV,MAAAA,SAAS,EACR;AAHa,KAJhB;AASC,IAAA,OAAO;AATR,KAWG,MACD,cAAC,SAAD,QACGG,gBAAgB,CAACI,GAAjB,CACD,CAAEI,IAAF,EAAQC,GAAR,KACC,cAAC,QAAD;AACC,IAAA,OAAO,EAAGD,IAAI,CAACE,OADhB;AAEC,IAAA,GAAG,EAAGD;AAFP,KAIGD,IAAI,CAACG,KAJR,CAFA,CADH,CAZF,CAXF,CANF,CADD,CADD,CADD;AAqDA;AAED;AACA;AACA;;;AACA,eAAef,OAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Children } from '@wordpress/element';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { moreHorizontal } from '@wordpress/icons';\n\nfunction Warning( { className, actions, children, secondaryActions } ) {\n\treturn (\n\t\t<div style={ { display: 'contents', all: 'initial' } }>\n\t\t\t<div className={ classnames( className, 'block-editor-warning' ) }>\n\t\t\t\t<div className=\"block-editor-warning__contents\">\n\t\t\t\t\t<p className=\"block-editor-warning__message\">\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t{ ( Children.count( actions ) > 0 || secondaryActions ) && (\n\t\t\t\t\t\t<div className=\"block-editor-warning__actions\">\n\t\t\t\t\t\t\t{ Children.count( actions ) > 0 &&\n\t\t\t\t\t\t\t\tChildren.map( actions, ( action, i ) => (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__action\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ action }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t{ secondaryActions && (\n\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-warning__secondary\"\n\t\t\t\t\t\t\t\t\ticon={ moreHorizontal }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'More options' ) }\n\t\t\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\t\t\tposition: 'bottom left',\n\t\t\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-warning__dropdown',\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tnoIcons\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t\t{ secondaryActions.map(\n\t\t\t\t\t\t\t\t\t\t\t\t( item, pos ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ item.onClick }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ pos }\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ item.title }\n\t\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/warning/README.md\n */\nexport default Warning;\n"]}
|
|
@@ -18,16 +18,15 @@ import { normalizeIconObject } from '@wordpress/blocks';
|
|
|
18
18
|
|
|
19
19
|
import styles from './style.scss';
|
|
20
20
|
|
|
21
|
-
function Warning(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
} = _ref;
|
|
21
|
+
function Warning({
|
|
22
|
+
title,
|
|
23
|
+
message,
|
|
24
|
+
icon,
|
|
25
|
+
iconClass,
|
|
26
|
+
preferredColorScheme,
|
|
27
|
+
getStylesFromColorScheme,
|
|
28
|
+
...viewProps
|
|
29
|
+
}) {
|
|
31
30
|
icon = icon && normalizeIconObject(icon);
|
|
32
31
|
const internalIconClass = 'warning-icon' + '-' + preferredColorScheme;
|
|
33
32
|
const titleStyle = getStylesFromColorScheme(styles.title, styles.titleDark);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/warning/index.native.js"],"names":["View","Text","Icon","withPreferredColorScheme","normalizeIconObject","styles","Warning","title","message","icon","iconClass","preferredColorScheme","getStylesFromColorScheme","viewProps","internalIconClass","titleStyle","titleDark","messageStyle","messageDark","container","containerDark","src"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AAEA;AACA;AACA;;AACA,SAASC,IAAT,QAAqB,uBAArB;AACA,SAASC,wBAAT,QAAyC,oBAAzC;AACA,SAASC,mBAAT,QAAoC,mBAApC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;;AAEA,SAASC,OAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/warning/index.native.js"],"names":["View","Text","Icon","withPreferredColorScheme","normalizeIconObject","styles","Warning","title","message","icon","iconClass","preferredColorScheme","getStylesFromColorScheme","viewProps","internalIconClass","titleStyle","titleDark","messageStyle","messageDark","container","containerDark","src"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AAEA;AACA;AACA;;AACA,SAASC,IAAT,QAAqB,uBAArB;AACA,SAASC,wBAAT,QAAyC,oBAAzC;AACA,SAASC,mBAAT,QAAoC,mBAApC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;;AAEA,SAASC,OAAT,CAAkB;AACjBC,EAAAA,KADiB;AAEjBC,EAAAA,OAFiB;AAGjBC,EAAAA,IAHiB;AAIjBC,EAAAA,SAJiB;AAKjBC,EAAAA,oBALiB;AAMjBC,EAAAA,wBANiB;AAOjB,KAAGC;AAPc,CAAlB,EAQI;AACHJ,EAAAA,IAAI,GAAGA,IAAI,IAAIL,mBAAmB,CAAEK,IAAF,CAAlC;AACA,QAAMK,iBAAiB,GAAG,iBAAiB,GAAjB,GAAuBH,oBAAjD;AACA,QAAMI,UAAU,GAAGH,wBAAwB,CAC1CP,MAAM,CAACE,KADmC,EAE1CF,MAAM,CAACW,SAFmC,CAA3C;AAIA,QAAMC,YAAY,GAAGL,wBAAwB,CAC5CP,MAAM,CAACG,OADqC,EAE5CH,MAAM,CAACa,WAFqC,CAA7C;AAKA,SACC,cAAC,IAAD;AACC,IAAA,KAAK,EAAGN,wBAAwB,CAC/BP,MAAM,CAACc,SADwB,EAE/Bd,MAAM,CAACe,aAFwB;AADjC,KAKMP,SALN,GAOGJ,IAAI,IACL,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGJ,MAAM,CAACI;AAArB,KACC,cAAC,IAAD;AACC,IAAA,SAAS,EAAGC,SAAS,IAAII,iBAD1B;AAEC,IAAA,IAAI,EAAGL,IAAI,IAAIA,IAAI,CAACY,GAAb,GAAmBZ,IAAI,CAACY,GAAxB,GAA8BZ;AAFtC,IADD,CARF,EAeGF,KAAK,IAAI,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGQ;AAAd,KAA6BR,KAA7B,CAfZ,EAgBGC,OAAO,IAAI,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGS;AAAd,KAA+BT,OAA/B,CAhBd,CADD;AAoBA;;AAED,eAAeL,wBAAwB,CAAEG,OAAF,CAAvC","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { normalizeIconObject } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nfunction Warning( {\n\ttitle,\n\tmessage,\n\ticon,\n\ticonClass,\n\tpreferredColorScheme,\n\tgetStylesFromColorScheme,\n\t...viewProps\n} ) {\n\ticon = icon && normalizeIconObject( icon );\n\tconst internalIconClass = 'warning-icon' + '-' + preferredColorScheme;\n\tconst titleStyle = getStylesFromColorScheme(\n\t\tstyles.title,\n\t\tstyles.titleDark\n\t);\n\tconst messageStyle = getStylesFromColorScheme(\n\t\tstyles.message,\n\t\tstyles.messageDark\n\t);\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\tstyles.container,\n\t\t\t\tstyles.containerDark\n\t\t\t) }\n\t\t\t{ ...viewProps }\n\t\t>\n\t\t\t{ icon && (\n\t\t\t\t<View style={ styles.icon }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={ iconClass || internalIconClass }\n\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t{ title && <Text style={ titleStyle }>{ title }</Text> }\n\t\t\t{ message && <Text style={ messageStyle }>{ message }</Text> }\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( Warning );\n"]}
|
|
@@ -46,11 +46,10 @@ export function useWritingFlow() {
|
|
|
46
46
|
}, [hasMultiSelection])]), after];
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
function WritingFlow(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
} = _ref;
|
|
49
|
+
function WritingFlow({
|
|
50
|
+
children,
|
|
51
|
+
...props
|
|
52
|
+
}, forwardedRef) {
|
|
54
53
|
const [before, ref, after] = useWritingFlow();
|
|
55
54
|
return createElement(Fragment, null, before, createElement("div", _extends({}, props, {
|
|
56
55
|
ref: useMergeRefs([ref, forwardedRef]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/index.js"],"names":["classNames","useSelect","__","useMergeRefs","useRefEffect","forwardRef","useMultiSelection","useTabNav","useArrowNav","useSelectAll","useDragSelection","useSelectionObserver","useClickSelection","useInput","store","blockEditorStore","useWritingFlow","before","ref","after","hasMultiSelection","select","node","tabIndex","contentEditable","classList","add","setAttribute","remove","removeAttribute","WritingFlow","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/index.js"],"names":["classNames","useSelect","__","useMergeRefs","useRefEffect","forwardRef","useMultiSelection","useTabNav","useArrowNav","useSelectAll","useDragSelection","useSelectionObserver","useClickSelection","useInput","store","blockEditorStore","useWritingFlow","before","ref","after","hasMultiSelection","select","node","tabIndex","contentEditable","classList","add","setAttribute","remove","removeAttribute","WritingFlow","children","props","forwardedRef","className"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,EAAuBC,YAAvB,QAA2C,oBAA3C;AACA,SAASC,UAAT,QAA2B,oBAA3B;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,SAAP,MAAsB,eAAtB;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AACA,OAAOC,oBAAP,MAAiC,0BAAjC;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,OAAO,SAASC,cAAT,GAA0B;AAChC,QAAM,CAAEC,MAAF,EAAUC,GAAV,EAAeC,KAAf,IAAyBZ,SAAS,EAAxC;AACA,QAAMa,iBAAiB,GAAGnB,SAAS,CAChCoB,MAAF,IAAcA,MAAM,CAAEN,gBAAF,CAAN,CAA2BK,iBAA3B,EADoB,EAElC,EAFkC,CAAnC;AAKA,SAAO,CACNH,MADM,EAENd,YAAY,CAAE,CACbe,GADa,EAEbL,QAAQ,EAFK,EAGbH,gBAAgB,EAHH,EAIbC,oBAAoB,EAJP,EAKbC,iBAAiB,EALJ,EAMbN,iBAAiB,EANJ,EAObG,YAAY,EAPC,EAQbD,WAAW,EARE,EASbJ,YAAY,CACTkB,IAAF,IAAY;AACXA,IAAAA,IAAI,CAACC,QAAL,GAAgB,CAAhB;AACAD,IAAAA,IAAI,CAACE,eAAL,GAAuBJ,iBAAvB;;AAEA,QAAK,CAAEA,iBAAP,EAA2B;AAC1B;AACA;;AAEDE,IAAAA,IAAI,CAACG,SAAL,CAAeC,GAAf,CAAoB,qBAApB;AACAJ,IAAAA,IAAI,CAACK,YAAL,CACC,YADD,EAECzB,EAAE,CAAE,0BAAF,CAFH;AAKA,WAAO,MAAM;AACZoB,MAAAA,IAAI,CAACG,SAAL,CAAeG,MAAf,CAAuB,qBAAvB;AACAN,MAAAA,IAAI,CAACO,eAAL,CAAsB,YAAtB;AACA,KAHD;AAIA,GAnBU,EAoBX,CAAET,iBAAF,CApBW,CATC,CAAF,CAFN,EAkCND,KAlCM,CAAP;AAoCA;;AAED,SAASW,WAAT,CAAsB;AAAEC,EAAAA,QAAF;AAAY,KAAGC;AAAf,CAAtB,EAA8CC,YAA9C,EAA6D;AAC5D,QAAM,CAAEhB,MAAF,EAAUC,GAAV,EAAeC,KAAf,IAAyBH,cAAc,EAA7C;AACA,SACC,8BACGC,MADH,EAEC,kCACMe,KADN;AAEC,IAAA,GAAG,EAAG7B,YAAY,CAAE,CAAEe,GAAF,EAAOe,YAAP,CAAF,CAFnB;AAGC,IAAA,SAAS,EAAGjC,UAAU,CACrBgC,KAAK,CAACE,SADe,EAErB,2BAFqB;AAHvB,MAQGH,QARH,CAFD,EAYGZ,KAZH,CADD;AAgBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,eAAed,UAAU,CAAEyB,WAAF,CAAzB","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useMultiSelection from './use-multi-selection';\nimport useTabNav from './use-tab-nav';\nimport useArrowNav from './use-arrow-nav';\nimport useSelectAll from './use-select-all';\nimport useDragSelection from './use-drag-selection';\nimport useSelectionObserver from './use-selection-observer';\nimport useClickSelection from './use-click-selection';\nimport useInput from './use-input';\nimport { store as blockEditorStore } from '../../store';\n\nexport function useWritingFlow() {\n\tconst [ before, ref, after ] = useTabNav();\n\tconst hasMultiSelection = useSelect(\n\t\t( select ) => select( blockEditorStore ).hasMultiSelection(),\n\t\t[]\n\t);\n\n\treturn [\n\t\tbefore,\n\t\tuseMergeRefs( [\n\t\t\tref,\n\t\t\tuseInput(),\n\t\t\tuseDragSelection(),\n\t\t\tuseSelectionObserver(),\n\t\t\tuseClickSelection(),\n\t\t\tuseMultiSelection(),\n\t\t\tuseSelectAll(),\n\t\t\tuseArrowNav(),\n\t\t\tuseRefEffect(\n\t\t\t\t( node ) => {\n\t\t\t\t\tnode.tabIndex = 0;\n\t\t\t\t\tnode.contentEditable = hasMultiSelection;\n\n\t\t\t\t\tif ( ! hasMultiSelection ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tnode.classList.add( 'has-multi-selection' );\n\t\t\t\t\tnode.setAttribute(\n\t\t\t\t\t\t'aria-label',\n\t\t\t\t\t\t__( 'Multiple selected blocks' )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tnode.classList.remove( 'has-multi-selection' );\n\t\t\t\t\t\tnode.removeAttribute( 'aria-label' );\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t[ hasMultiSelection ]\n\t\t\t),\n\t\t] ),\n\t\tafter,\n\t];\n}\n\nfunction WritingFlow( { children, ...props }, forwardedRef ) {\n\tconst [ before, ref, after ] = useWritingFlow();\n\treturn (\n\t\t<>\n\t\t\t{ before }\n\t\t\t<div\n\t\t\t\t{ ...props }\n\t\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\t\tclassName={ classNames(\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'block-editor-writing-flow'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t\t{ after }\n\t\t</>\n\t);\n}\n\n/**\n * Handles selection and navigation across blocks. This component should be\n * wrapped around BlockList.\n *\n * @param {Object} props Component properties.\n * @param {WPElement} props.children Children to be rendered.\n */\nexport default forwardRef( WritingFlow );\n"]}
|
|
@@ -23,19 +23,25 @@ import { store as blockEditorStore } from '../../store';
|
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
export function isNavigationCandidate(element, keyCode, hasModifier) {
|
|
26
|
-
const isVertical = keyCode === UP || keyCode === DOWN;
|
|
26
|
+
const isVertical = keyCode === UP || keyCode === DOWN;
|
|
27
|
+
const {
|
|
28
|
+
tagName
|
|
29
|
+
} = element;
|
|
30
|
+
const elementType = element.getAttribute('type'); // Native inputs should not navigate vertically, unless they are simple types that don't need up/down arrow keys.
|
|
27
31
|
|
|
28
32
|
if (isVertical && !hasModifier) {
|
|
33
|
+
if (tagName === 'INPUT') {
|
|
34
|
+
const verticalInputTypes = ['date', 'datetime-local', 'month', 'number', 'range', 'time', 'week'];
|
|
35
|
+
return !verticalInputTypes.includes(elementType);
|
|
36
|
+
}
|
|
37
|
+
|
|
29
38
|
return true;
|
|
30
|
-
}
|
|
39
|
+
} // Native inputs should not navigate horizontally, unless they are simple types that don't need left/right arrow keys.
|
|
31
40
|
|
|
32
|
-
const {
|
|
33
|
-
tagName
|
|
34
|
-
} = element; // Native inputs should not navigate horizontally, unless they are simple types that don't need left/right arrow keys.
|
|
35
41
|
|
|
36
42
|
if (tagName === 'INPUT') {
|
|
37
|
-
const simpleInputTypes = ['button', 'checkbox', 'color', 'file', 'image', 'radio', 'reset', 'submit'];
|
|
38
|
-
return simpleInputTypes.includes(
|
|
43
|
+
const simpleInputTypes = ['button', 'checkbox', 'number', 'color', 'file', 'image', 'radio', 'reset', 'submit'];
|
|
44
|
+
return simpleInputTypes.includes(elementType);
|
|
39
45
|
} // Native textareas should not navigate horizontally.
|
|
40
46
|
|
|
41
47
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/use-arrow-nav.js"],"names":["computeCaretRect","focus","isHorizontalEdge","isVerticalEdge","placeCaretAtHorizontalEdge","placeCaretAtVerticalEdge","isRTL","UP","DOWN","LEFT","RIGHT","useDispatch","useSelect","useRefEffect","getBlockClientId","isInSameBlock","store","blockEditorStore","isNavigationCandidate","element","keyCode","hasModifier","isVertical","tagName","simpleInputTypes","includes","getAttribute","getClosestTabbable","target","isReverse","containerElement","onlyVertical","focusableNodes","focusable","find","reverse","slice","indexOf","targetRect","getBoundingClientRect","isTabCandidate","node","children","length","firstElementChild","tabbable","isTabbableIndex","isContentEditable","contentEditable","nodeRect","left","right","useArrowNav","getMultiSelectedBlocksStartClientId","getMultiSelectedBlocksEndClientId","getSettings","hasMultiSelection","__unstableIsFullySelected","selectBlock","verticalRect","onMouseDown","isClosestTabbableABlock","closestTabbable","onKeyDown","event","defaultPrevented","shiftKey","ctrlKey","altKey","metaKey","isUp","isDown","isLeft","isRight","isHorizontal","isNav","isNavEdge","ownerDocument","defaultView","preventDefault","isReverseDir","keepCaretInsideBlock","undefined","getSelection","isCollapsed","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcomputeCaretRect,\n\tfocus,\n\tisHorizontalEdge,\n\tisVerticalEdge,\n\tplaceCaretAtHorizontalEdge,\n\tplaceCaretAtVerticalEdge,\n\tisRTL,\n} from '@wordpress/dom';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getBlockClientId, isInSameBlock } from '../../utils/dom';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Returns true if the element should consider edge navigation upon a keyboard\n * event of the given directional key code, or false otherwise.\n *\n * @param {Element} element HTML element to test.\n * @param {number} keyCode KeyboardEvent keyCode to test.\n * @param {boolean} hasModifier Whether a modifier is pressed.\n *\n * @return {boolean} Whether element should consider edge navigation.\n */\nexport function isNavigationCandidate( element, keyCode, hasModifier ) {\n\tconst isVertical = keyCode === UP || keyCode === DOWN;\n\n\t// Currently, all elements support unmodified vertical navigation.\n\tif ( isVertical && ! hasModifier ) {\n\t\treturn true;\n\t}\n\n\tconst { tagName } = element;\n\n\t// Native inputs should not navigate horizontally, unless they are simple types that don't need left/right arrow keys.\n\tif ( tagName === 'INPUT' ) {\n\t\tconst simpleInputTypes = [\n\t\t\t'button',\n\t\t\t'checkbox',\n\t\t\t'color',\n\t\t\t'file',\n\t\t\t'image',\n\t\t\t'radio',\n\t\t\t'reset',\n\t\t\t'submit',\n\t\t];\n\t\treturn simpleInputTypes.includes( element.getAttribute( 'type' ) );\n\t}\n\n\t// Native textareas should not navigate horizontally.\n\treturn tagName !== 'TEXTAREA';\n}\n\n/**\n * Returns the optimal tab target from the given focused element in the desired\n * direction. A preference is made toward text fields, falling back to the block\n * focus stop if no other candidates exist for the block.\n *\n * @param {Element} target Currently focused text field.\n * @param {boolean} isReverse True if considering as the first field.\n * @param {Element} containerElement Element containing all blocks.\n * @param {boolean} onlyVertical Whether to only consider tabbable elements\n * that are visually above or under the\n * target.\n *\n * @return {?Element} Optimal tab target, if one exists.\n */\nexport function getClosestTabbable(\n\ttarget,\n\tisReverse,\n\tcontainerElement,\n\tonlyVertical\n) {\n\t// Since the current focus target is not guaranteed to be a text field, find\n\t// all focusables. Tabbability is considered later.\n\tlet focusableNodes = focus.focusable.find( containerElement );\n\n\tif ( isReverse ) {\n\t\tfocusableNodes.reverse();\n\t}\n\n\t// Consider as candidates those focusables after the current target. It's\n\t// assumed this can only be reached if the target is focusable (on its\n\t// keydown event), so no need to verify it exists in the set.\n\tfocusableNodes = focusableNodes.slice(\n\t\tfocusableNodes.indexOf( target ) + 1\n\t);\n\n\tlet targetRect;\n\n\tif ( onlyVertical ) {\n\t\ttargetRect = target.getBoundingClientRect();\n\t}\n\n\tfunction isTabCandidate( node ) {\n\t\t// Skip if there's only one child that is content editable (and thus a\n\t\t// better candidate).\n\t\tif (\n\t\t\tnode.children.length === 1 &&\n\t\t\tisInSameBlock( node, node.firstElementChild ) &&\n\t\t\tnode.firstElementChild.getAttribute( 'contenteditable' ) === 'true'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Not a candidate if the node is not tabbable.\n\t\tif ( ! focus.tabbable.isTabbableIndex( node ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Skip focusable elements such as links within content editable nodes.\n\t\tif ( node.isContentEditable && node.contentEditable !== 'true' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( onlyVertical ) {\n\t\t\tconst nodeRect = node.getBoundingClientRect();\n\n\t\t\tif (\n\t\t\t\tnodeRect.left >= targetRect.right ||\n\t\t\t\tnodeRect.right <= targetRect.left\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\treturn focusableNodes.find( isTabCandidate );\n}\n\nexport default function useArrowNav() {\n\tconst {\n\t\tgetMultiSelectedBlocksStartClientId,\n\t\tgetMultiSelectedBlocksEndClientId,\n\t\tgetSettings,\n\t\thasMultiSelection,\n\t\t__unstableIsFullySelected,\n\t} = useSelect( blockEditorStore );\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\treturn useRefEffect( ( node ) => {\n\t\t// Here a DOMRect is stored while moving the caret vertically so\n\t\t// vertical position of the start position can be restored. This is to\n\t\t// recreate browser behaviour across blocks.\n\t\tlet verticalRect;\n\n\t\tfunction onMouseDown() {\n\t\t\tverticalRect = null;\n\t\t}\n\n\t\tfunction isClosestTabbableABlock( target, isReverse ) {\n\t\t\tconst closestTabbable = getClosestTabbable(\n\t\t\t\ttarget,\n\t\t\t\tisReverse,\n\t\t\t\tnode\n\t\t\t);\n\t\t\treturn closestTabbable && getBlockClientId( closestTabbable );\n\t\t}\n\n\t\tfunction onKeyDown( event ) {\n\t\t\t// Abort if navigation has already been handled (e.g. RichText\n\t\t\t// inline boundaries).\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { keyCode, target, shiftKey, ctrlKey, altKey, metaKey } =\n\t\t\t\tevent;\n\t\t\tconst isUp = keyCode === UP;\n\t\t\tconst isDown = keyCode === DOWN;\n\t\t\tconst isLeft = keyCode === LEFT;\n\t\t\tconst isRight = keyCode === RIGHT;\n\t\t\tconst isReverse = isUp || isLeft;\n\t\t\tconst isHorizontal = isLeft || isRight;\n\t\t\tconst isVertical = isUp || isDown;\n\t\t\tconst isNav = isHorizontal || isVertical;\n\t\t\tconst hasModifier = shiftKey || ctrlKey || altKey || metaKey;\n\t\t\tconst isNavEdge = isVertical ? isVerticalEdge : isHorizontalEdge;\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView } = ownerDocument;\n\n\t\t\tif ( ! isNav ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If there is a multi-selection, the arrow keys should collapse the\n\t\t\t// selection to the start or end of the selection.\n\t\t\tif ( hasMultiSelection() ) {\n\t\t\t\tif ( shiftKey ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Only handle if we have a full selection (not a native partial\n\t\t\t\t// selection).\n\t\t\t\tif ( ! __unstableIsFullySelected() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif ( isReverse ) {\n\t\t\t\t\tselectBlock( getMultiSelectedBlocksStartClientId() );\n\t\t\t\t} else {\n\t\t\t\t\tselectBlock( getMultiSelectedBlocksEndClientId(), -1 );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Abort if our current target is not a candidate for navigation\n\t\t\t// (e.g. preserve native input behaviors).\n\t\t\tif ( ! isNavigationCandidate( target, keyCode, hasModifier ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// When presing any key other than up or down, the initial vertical\n\t\t\t// position must ALWAYS be reset. The vertical position is saved so\n\t\t\t// it can be restored as well as possible on sebsequent vertical\n\t\t\t// arrow key presses. It may not always be possible to restore the\n\t\t\t// exact same position (such as at an empty line), so it wouldn't be\n\t\t\t// good to compute the position right before any vertical arrow key\n\t\t\t// press.\n\t\t\tif ( ! isVertical ) {\n\t\t\t\tverticalRect = null;\n\t\t\t} else if ( ! verticalRect ) {\n\t\t\t\tverticalRect = computeCaretRect( defaultView );\n\t\t\t}\n\n\t\t\t// In the case of RTL scripts, right means previous and left means\n\t\t\t// next, which is the exact reverse of LTR.\n\t\t\tconst isReverseDir = isRTL( target ) ? ! isReverse : isReverse;\n\t\t\tconst { keepCaretInsideBlock } = getSettings();\n\n\t\t\tif ( shiftKey ) {\n\t\t\t\tif (\n\t\t\t\t\tisClosestTabbableABlock( target, isReverse ) &&\n\t\t\t\t\tisNavEdge( target, isReverse )\n\t\t\t\t) {\n\t\t\t\t\tnode.contentEditable = true;\n\t\t\t\t\t// Firefox doesn't automatically move focus.\n\t\t\t\t\tnode.focus();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tisVertical &&\n\t\t\t\tisVerticalEdge( target, isReverse ) &&\n\t\t\t\t// When Alt is pressed, only intercept if the caret is also at\n\t\t\t\t// the horizontal edge.\n\t\t\t\t( altKey ? isHorizontalEdge( target, isReverseDir ) : true ) &&\n\t\t\t\t! keepCaretInsideBlock\n\t\t\t) {\n\t\t\t\tconst closestTabbable = getClosestTabbable(\n\t\t\t\t\ttarget,\n\t\t\t\t\tisReverse,\n\t\t\t\t\tnode,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\n\t\t\t\tif ( closestTabbable ) {\n\t\t\t\t\tplaceCaretAtVerticalEdge(\n\t\t\t\t\t\tclosestTabbable,\n\t\t\t\t\t\t// When Alt is pressed, place the caret at the furthest\n\t\t\t\t\t\t// horizontal edge and the furthest vertical edge.\n\t\t\t\t\t\taltKey ? ! isReverse : isReverse,\n\t\t\t\t\t\taltKey ? undefined : verticalRect\n\t\t\t\t\t);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tisHorizontal &&\n\t\t\t\tdefaultView.getSelection().isCollapsed &&\n\t\t\t\tisHorizontalEdge( target, isReverseDir ) &&\n\t\t\t\t! keepCaretInsideBlock\n\t\t\t) {\n\t\t\t\tconst closestTabbable = getClosestTabbable(\n\t\t\t\t\ttarget,\n\t\t\t\t\tisReverseDir,\n\t\t\t\t\tnode\n\t\t\t\t);\n\t\t\t\tplaceCaretAtHorizontalEdge( closestTabbable, isReverse );\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tnode.addEventListener( 'mousedown', onMouseDown );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'mousedown', onMouseDown );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/use-arrow-nav.js"],"names":["computeCaretRect","focus","isHorizontalEdge","isVerticalEdge","placeCaretAtHorizontalEdge","placeCaretAtVerticalEdge","isRTL","UP","DOWN","LEFT","RIGHT","useDispatch","useSelect","useRefEffect","getBlockClientId","isInSameBlock","store","blockEditorStore","isNavigationCandidate","element","keyCode","hasModifier","isVertical","tagName","elementType","getAttribute","verticalInputTypes","includes","simpleInputTypes","getClosestTabbable","target","isReverse","containerElement","onlyVertical","focusableNodes","focusable","find","reverse","slice","indexOf","targetRect","getBoundingClientRect","isTabCandidate","node","children","length","firstElementChild","tabbable","isTabbableIndex","isContentEditable","contentEditable","nodeRect","left","right","useArrowNav","getMultiSelectedBlocksStartClientId","getMultiSelectedBlocksEndClientId","getSettings","hasMultiSelection","__unstableIsFullySelected","selectBlock","verticalRect","onMouseDown","isClosestTabbableABlock","closestTabbable","onKeyDown","event","defaultPrevented","shiftKey","ctrlKey","altKey","metaKey","isUp","isDown","isLeft","isRight","isHorizontal","isNav","isNavEdge","ownerDocument","defaultView","preventDefault","isReverseDir","keepCaretInsideBlock","undefined","getSelection","isCollapsed","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcomputeCaretRect,\n\tfocus,\n\tisHorizontalEdge,\n\tisVerticalEdge,\n\tplaceCaretAtHorizontalEdge,\n\tplaceCaretAtVerticalEdge,\n\tisRTL,\n} from '@wordpress/dom';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getBlockClientId, isInSameBlock } from '../../utils/dom';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Returns true if the element should consider edge navigation upon a keyboard\n * event of the given directional key code, or false otherwise.\n *\n * @param {Element} element HTML element to test.\n * @param {number} keyCode KeyboardEvent keyCode to test.\n * @param {boolean} hasModifier Whether a modifier is pressed.\n *\n * @return {boolean} Whether element should consider edge navigation.\n */\nexport function isNavigationCandidate( element, keyCode, hasModifier ) {\n\tconst isVertical = keyCode === UP || keyCode === DOWN;\n\tconst { tagName } = element;\n\tconst elementType = element.getAttribute( 'type' );\n\n\t// Native inputs should not navigate vertically, unless they are simple types that don't need up/down arrow keys.\n\tif ( isVertical && ! hasModifier ) {\n\t\tif ( tagName === 'INPUT' ) {\n\t\t\tconst verticalInputTypes = [\n\t\t\t\t'date',\n\t\t\t\t'datetime-local',\n\t\t\t\t'month',\n\t\t\t\t'number',\n\t\t\t\t'range',\n\t\t\t\t'time',\n\t\t\t\t'week',\n\t\t\t];\n\t\t\treturn ! verticalInputTypes.includes( elementType );\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Native inputs should not navigate horizontally, unless they are simple types that don't need left/right arrow keys.\n\tif ( tagName === 'INPUT' ) {\n\t\tconst simpleInputTypes = [\n\t\t\t'button',\n\t\t\t'checkbox',\n\t\t\t'number',\n\t\t\t'color',\n\t\t\t'file',\n\t\t\t'image',\n\t\t\t'radio',\n\t\t\t'reset',\n\t\t\t'submit',\n\t\t];\n\t\treturn simpleInputTypes.includes( elementType );\n\t}\n\n\t// Native textareas should not navigate horizontally.\n\treturn tagName !== 'TEXTAREA';\n}\n\n/**\n * Returns the optimal tab target from the given focused element in the desired\n * direction. A preference is made toward text fields, falling back to the block\n * focus stop if no other candidates exist for the block.\n *\n * @param {Element} target Currently focused text field.\n * @param {boolean} isReverse True if considering as the first field.\n * @param {Element} containerElement Element containing all blocks.\n * @param {boolean} onlyVertical Whether to only consider tabbable elements\n * that are visually above or under the\n * target.\n *\n * @return {?Element} Optimal tab target, if one exists.\n */\nexport function getClosestTabbable(\n\ttarget,\n\tisReverse,\n\tcontainerElement,\n\tonlyVertical\n) {\n\t// Since the current focus target is not guaranteed to be a text field, find\n\t// all focusables. Tabbability is considered later.\n\tlet focusableNodes = focus.focusable.find( containerElement );\n\n\tif ( isReverse ) {\n\t\tfocusableNodes.reverse();\n\t}\n\n\t// Consider as candidates those focusables after the current target. It's\n\t// assumed this can only be reached if the target is focusable (on its\n\t// keydown event), so no need to verify it exists in the set.\n\tfocusableNodes = focusableNodes.slice(\n\t\tfocusableNodes.indexOf( target ) + 1\n\t);\n\n\tlet targetRect;\n\n\tif ( onlyVertical ) {\n\t\ttargetRect = target.getBoundingClientRect();\n\t}\n\n\tfunction isTabCandidate( node ) {\n\t\t// Skip if there's only one child that is content editable (and thus a\n\t\t// better candidate).\n\t\tif (\n\t\t\tnode.children.length === 1 &&\n\t\t\tisInSameBlock( node, node.firstElementChild ) &&\n\t\t\tnode.firstElementChild.getAttribute( 'contenteditable' ) === 'true'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Not a candidate if the node is not tabbable.\n\t\tif ( ! focus.tabbable.isTabbableIndex( node ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Skip focusable elements such as links within content editable nodes.\n\t\tif ( node.isContentEditable && node.contentEditable !== 'true' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( onlyVertical ) {\n\t\t\tconst nodeRect = node.getBoundingClientRect();\n\n\t\t\tif (\n\t\t\t\tnodeRect.left >= targetRect.right ||\n\t\t\t\tnodeRect.right <= targetRect.left\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\treturn focusableNodes.find( isTabCandidate );\n}\n\nexport default function useArrowNav() {\n\tconst {\n\t\tgetMultiSelectedBlocksStartClientId,\n\t\tgetMultiSelectedBlocksEndClientId,\n\t\tgetSettings,\n\t\thasMultiSelection,\n\t\t__unstableIsFullySelected,\n\t} = useSelect( blockEditorStore );\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\treturn useRefEffect( ( node ) => {\n\t\t// Here a DOMRect is stored while moving the caret vertically so\n\t\t// vertical position of the start position can be restored. This is to\n\t\t// recreate browser behaviour across blocks.\n\t\tlet verticalRect;\n\n\t\tfunction onMouseDown() {\n\t\t\tverticalRect = null;\n\t\t}\n\n\t\tfunction isClosestTabbableABlock( target, isReverse ) {\n\t\t\tconst closestTabbable = getClosestTabbable(\n\t\t\t\ttarget,\n\t\t\t\tisReverse,\n\t\t\t\tnode\n\t\t\t);\n\t\t\treturn closestTabbable && getBlockClientId( closestTabbable );\n\t\t}\n\n\t\tfunction onKeyDown( event ) {\n\t\t\t// Abort if navigation has already been handled (e.g. RichText\n\t\t\t// inline boundaries).\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { keyCode, target, shiftKey, ctrlKey, altKey, metaKey } =\n\t\t\t\tevent;\n\t\t\tconst isUp = keyCode === UP;\n\t\t\tconst isDown = keyCode === DOWN;\n\t\t\tconst isLeft = keyCode === LEFT;\n\t\t\tconst isRight = keyCode === RIGHT;\n\t\t\tconst isReverse = isUp || isLeft;\n\t\t\tconst isHorizontal = isLeft || isRight;\n\t\t\tconst isVertical = isUp || isDown;\n\t\t\tconst isNav = isHorizontal || isVertical;\n\t\t\tconst hasModifier = shiftKey || ctrlKey || altKey || metaKey;\n\t\t\tconst isNavEdge = isVertical ? isVerticalEdge : isHorizontalEdge;\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView } = ownerDocument;\n\n\t\t\tif ( ! isNav ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If there is a multi-selection, the arrow keys should collapse the\n\t\t\t// selection to the start or end of the selection.\n\t\t\tif ( hasMultiSelection() ) {\n\t\t\t\tif ( shiftKey ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Only handle if we have a full selection (not a native partial\n\t\t\t\t// selection).\n\t\t\t\tif ( ! __unstableIsFullySelected() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif ( isReverse ) {\n\t\t\t\t\tselectBlock( getMultiSelectedBlocksStartClientId() );\n\t\t\t\t} else {\n\t\t\t\t\tselectBlock( getMultiSelectedBlocksEndClientId(), -1 );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Abort if our current target is not a candidate for navigation\n\t\t\t// (e.g. preserve native input behaviors).\n\t\t\tif ( ! isNavigationCandidate( target, keyCode, hasModifier ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// When presing any key other than up or down, the initial vertical\n\t\t\t// position must ALWAYS be reset. The vertical position is saved so\n\t\t\t// it can be restored as well as possible on sebsequent vertical\n\t\t\t// arrow key presses. It may not always be possible to restore the\n\t\t\t// exact same position (such as at an empty line), so it wouldn't be\n\t\t\t// good to compute the position right before any vertical arrow key\n\t\t\t// press.\n\t\t\tif ( ! isVertical ) {\n\t\t\t\tverticalRect = null;\n\t\t\t} else if ( ! verticalRect ) {\n\t\t\t\tverticalRect = computeCaretRect( defaultView );\n\t\t\t}\n\n\t\t\t// In the case of RTL scripts, right means previous and left means\n\t\t\t// next, which is the exact reverse of LTR.\n\t\t\tconst isReverseDir = isRTL( target ) ? ! isReverse : isReverse;\n\t\t\tconst { keepCaretInsideBlock } = getSettings();\n\n\t\t\tif ( shiftKey ) {\n\t\t\t\tif (\n\t\t\t\t\tisClosestTabbableABlock( target, isReverse ) &&\n\t\t\t\t\tisNavEdge( target, isReverse )\n\t\t\t\t) {\n\t\t\t\t\tnode.contentEditable = true;\n\t\t\t\t\t// Firefox doesn't automatically move focus.\n\t\t\t\t\tnode.focus();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tisVertical &&\n\t\t\t\tisVerticalEdge( target, isReverse ) &&\n\t\t\t\t// When Alt is pressed, only intercept if the caret is also at\n\t\t\t\t// the horizontal edge.\n\t\t\t\t( altKey ? isHorizontalEdge( target, isReverseDir ) : true ) &&\n\t\t\t\t! keepCaretInsideBlock\n\t\t\t) {\n\t\t\t\tconst closestTabbable = getClosestTabbable(\n\t\t\t\t\ttarget,\n\t\t\t\t\tisReverse,\n\t\t\t\t\tnode,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\n\t\t\t\tif ( closestTabbable ) {\n\t\t\t\t\tplaceCaretAtVerticalEdge(\n\t\t\t\t\t\tclosestTabbable,\n\t\t\t\t\t\t// When Alt is pressed, place the caret at the furthest\n\t\t\t\t\t\t// horizontal edge and the furthest vertical edge.\n\t\t\t\t\t\taltKey ? ! isReverse : isReverse,\n\t\t\t\t\t\taltKey ? undefined : verticalRect\n\t\t\t\t\t);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tisHorizontal &&\n\t\t\t\tdefaultView.getSelection().isCollapsed &&\n\t\t\t\tisHorizontalEdge( target, isReverseDir ) &&\n\t\t\t\t! keepCaretInsideBlock\n\t\t\t) {\n\t\t\t\tconst closestTabbable = getClosestTabbable(\n\t\t\t\t\ttarget,\n\t\t\t\t\tisReverseDir,\n\t\t\t\t\tnode\n\t\t\t\t);\n\t\t\t\tplaceCaretAtHorizontalEdge( closestTabbable, isReverse );\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\n\t\tnode.addEventListener( 'mousedown', onMouseDown );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'mousedown', onMouseDown );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n"]}
|
|
@@ -77,12 +77,10 @@ export default function useDragSelection() {
|
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
function onMouseLeave(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
} = _ref;
|
|
85
|
-
|
|
80
|
+
function onMouseLeave({
|
|
81
|
+
buttons,
|
|
82
|
+
target
|
|
83
|
+
}) {
|
|
86
84
|
// Avoid triggering a multi-selection if the user is already
|
|
87
85
|
// dragging blocks.
|
|
88
86
|
if (isDraggingBlocks()) {
|