@wordpress/block-editor 7.0.4 → 8.0.3
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 +11 -0
- package/README.md +31 -0
- package/build/components/alignment-control/ui.js +12 -11
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/autocomplete/index.js +5 -4
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-actions/index.js +12 -8
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +21 -17
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js +9 -4
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +6 -4
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +4 -3
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-caption/index.native.js +34 -29
- package/build/components/block-caption/index.native.js.map +1 -1
- package/build/components/block-card/index.js +8 -6
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-compare/block-view.js +9 -8
- package/build/components/block-compare/block-view.js.map +1 -1
- package/build/components/block-compare/index.js +9 -7
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-content-overlay/index.js +7 -6
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-context/index.js +5 -4
- package/build/components/block-context/index.js.map +1 -1
- package/build/components/block-controls/fill.js +7 -6
- package/build/components/block-controls/fill.js.map +1 -1
- package/build/components/block-controls/slot.js +5 -4
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js +5 -4
- package/build/components/block-controls/slot.native.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.js +5 -4
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-draggable/index.js +13 -11
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-edit/context.js +1 -1
- package/build/components/block-full-height-alignment-control/index.js +7 -6
- package/build/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build/components/block-icon/index.js +12 -6
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-icon/index.native.js +8 -6
- package/build/components/block-icon/index.native.js.map +1 -1
- package/build/components/block-inspector/index.js +24 -15
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-html.js +4 -3
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +28 -20
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.native.js +5 -4
- package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +6 -5
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js +11 -9
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js +40 -33
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +35 -29
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +14 -12
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +23 -18
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/insertion-point.native.js +4 -3
- package/build/components/block-list/insertion-point.native.js.map +1 -1
- package/build/components/block-list/layout.js +8 -6
- package/build/components/block-list/layout.js.map +1 -1
- package/build/components/block-list/subdirectory-icon.js +13 -10
- package/build/components/block-list/subdirectory-icon.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +5 -3
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.native.js +2 -1
- package/build/components/block-list/use-block-props/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-refs.js +2 -2
- package/build/components/block-list/use-block-props/use-multi-selection.js +30 -14
- package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build/components/block-list-appender/index.js +16 -13
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js +14 -11
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-media-update-progress/index.native.js +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/index.js +4 -3
- package/build/components/block-mobile-toolbar/index.js.map +1 -1
- package/build/components/block-mobile-toolbar/index.native.js +33 -25
- package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build/components/block-mover/button.js +8 -7
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +15 -13
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +23 -20
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-mover/mover-description.native.js +10 -7
- package/build/components/block-mover/mover-description.native.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +26 -22
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +26 -22
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +46 -39
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-list/index.js +45 -47
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-preview/auto.js +5 -4
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +8 -7
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-preview/live.js +4 -3
- package/build/components/block-preview/live.js.map +1 -1
- package/build/components/block-selection-clearer/index.js +1 -1
- package/build/components/block-settings/button.native.js +10 -7
- package/build/components/block-settings/button.native.js.map +1 -1
- package/build/components/block-settings/container.native.js +12 -8
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings/index.native.js +4 -2
- package/build/components/block-settings/index.native.js.map +1 -1
- package/build/components/block-settings-menu/block-convert-button.js +7 -5
- package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
- package/build/components/block-settings-menu/block-html-convert-button.js +14 -10
- package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.js +25 -19
- package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +96 -68
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/index.js +5 -4
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +8 -6
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +20 -17
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +6 -4
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-styles/preview.native.js +9 -8
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-switcher/block-styles-menu.js +5 -4
- package/build/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js +7 -6
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +9 -8
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/block-switcher/index.js +42 -34
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +22 -18
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +4 -3
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +1 -1
- package/build/components/block-switcher/utils.js +2 -1
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-title/index.js +4 -3
- package/build/components/block-title/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +4 -3
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/utils.js +13 -11
- package/build/components/block-toolbar/utils.js.map +1 -1
- package/build/components/block-tools/back-compat.js +8 -5
- package/build/components/block-tools/back-compat.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +6 -5
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/block-popover.js +15 -13
- package/build/components/block-tools/block-popover.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +6 -5
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +6 -5
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +12 -10
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-types-list/index.js +9 -8
- package/build/components/block-types-list/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js +19 -15
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.js +9 -8
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +9 -7
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +22 -15
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +9 -7
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js +6 -5
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/index.js +5 -4
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +16 -11
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +5 -4
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/border-radius-control/utils.js +10 -5
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/border-style-control/index.js +5 -4
- package/build/components/border-style-control/index.js.map +1 -1
- package/build/components/button-block-appender/index.js +15 -13
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/button-block-appender/index.native.js +28 -24
- package/build/components/button-block-appender/index.native.js.map +1 -1
- package/build/components/caption/index.native.js +44 -41
- package/build/components/caption/index.native.js.map +1 -1
- package/build/components/color-palette/control.js +6 -5
- package/build/components/color-palette/control.js.map +1 -1
- package/build/components/color-style-selector/index.js +43 -34
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors/color-panel.js +21 -18
- package/build/components/colors/color-panel.js.map +1 -1
- package/build/components/colors/index.js +10 -8
- package/build/components/colors/index.js.map +1 -1
- package/build/components/colors/utils.js +7 -4
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js +17 -6
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/control.js +21 -59
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +110 -30
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js +28 -24
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build/components/contrast-checker/index.js +18 -15
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +9 -8
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/copy-handler/index.js +6 -5
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +10 -8
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/default-block-appender/index.native.js +10 -8
- package/build/components/default-block-appender/index.native.js.map +1 -1
- package/build/components/default-style-picker/index.js +14 -10
- package/build/components/default-style-picker/index.js.map +1 -1
- package/build/components/duotone-control/index.js +20 -14
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/editable-text/index.js +6 -5
- package/build/components/editable-text/index.js.map +1 -1
- package/build/components/editor-styles/index.js +4 -3
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/floating-toolbar/index.native.js +8 -7
- package/build/components/floating-toolbar/index.native.js.map +1 -1
- package/build/components/font-appearance-control/index.js +53 -34
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +12 -10
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/index.js +6 -6
- package/build/components/font-sizes/index.native.js +6 -6
- package/build/components/font-sizes/utils.js +2 -2
- package/build/components/font-sizes/with-font-sizes.js +11 -5
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/gradients/use-gradient.js +7 -6
- package/build/components/gradients/use-gradient.js.map +1 -1
- package/build/components/iframe/index.js +29 -23
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +90 -82
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/constants.js +1 -1
- package/build/components/image-editor/context.js +11 -10
- package/build/components/image-editor/context.js.map +1 -1
- package/build/components/image-editor/cropper.js +9 -8
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/index.js +10 -9
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +12 -11
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/image-editor/use-transform-image.js +6 -5
- package/build/components/image-editor/use-transform-image.js.map +1 -1
- package/build/components/image-editor/zoom-dropdown.js +13 -10
- package/build/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build/components/image-size-control/index.js +12 -11
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.js +217 -197
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +113 -111
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +8 -7
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/default-block-appender.js +9 -7
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +9 -6
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +8 -5
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js +64 -0
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
- package/build/components/inserter/block-patterns-explorer/patterns-list.js +114 -0
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
- package/build/components/inserter/block-patterns-explorer/sidebar.js +82 -0
- package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
- package/build/components/inserter/block-patterns-tab.js +92 -57
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +9 -7
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js +9 -8
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-type-impressions.native.js +9 -10
- package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +6 -5
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +11 -9
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/index.js +36 -28
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +46 -37
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +12 -11
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js +12 -11
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js +31 -27
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/panel.js +6 -5
- package/build/components/inserter/panel.js.map +1 -1
- package/build/components/inserter/pattern-panel.js +25 -15
- package/build/components/inserter/pattern-panel.js.map +1 -1
- package/build/components/inserter/preview-panel.js +4 -3
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +7 -6
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.js +18 -13
- package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.native.js +6 -5
- package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build/components/inserter/search-items.js +23 -7
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter/search-results.js +15 -14
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/search-results.native.js +11 -10
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/inserter/tabs.js +7 -6
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter/tabs.native.js +55 -37
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inserter/utils.native.js +10 -8
- package/build/components/inserter/utils.native.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +12 -10
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inserter-list-item/index.js +79 -73
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inserter-listbox/index.js +8 -7
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +7 -6
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js +5 -4
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +8 -6
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.js +5 -4
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +6 -5
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/groups.js +3 -1
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls/slot.js +7 -6
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +5 -4
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/justify-content-control/ui.js +10 -8
- package/build/components/justify-content-control/ui.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +13 -9
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.js +5 -4
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/line-height-control/index.native.js +5 -4
- package/build/components/line-height-control/index.native.js.map +1 -1
- package/build/components/line-height-control/utils.js +1 -1
- package/build/components/link-control/index.js +107 -52
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +24 -10
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-create-button.js +9 -7
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js +31 -21
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-item.js +10 -9
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +15 -14
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +7 -5
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +5 -4
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/link-control/viewer-slot.js +1 -1
- package/build/components/list-view/appender.js +27 -23
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/block-contents.js +32 -28
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +18 -17
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +122 -83
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +92 -73
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +5 -4
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/expander.js +4 -3
- package/build/components/list-view/expander.js.map +1 -1
- package/build/components/list-view/index.js +47 -23
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +12 -11
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/list-item.js +8 -7
- package/build/components/list-view/list-item.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js +8 -58
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/media-placeholder/index.js +86 -68
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +5 -4
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +85 -72
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload/check.js +5 -4
- 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-progress/index.native.js +1 -1
- package/build/components/multi-selection-inspector/index.js +4 -3
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +8 -7
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/observe-typing/index.js +5 -4
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/panel-color-settings/index.js +16 -12
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/plain-text/index.js +6 -4
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/preview-options/index.js +8 -7
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +5 -4
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/provider/use-block-sync.js +8 -7
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/provider/with-registry-provider.js +7 -5
- package/build/components/provider/with-registry-provider.js.map +1 -1
- package/build/components/responsive-block-control/label.js +6 -5
- package/build/components/responsive-block-control/label.js.map +1 -1
- package/build/components/rich-text/embed-handler-picker.native.js +8 -5
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build/components/rich-text/file-paste-handler.js +6 -3
- package/build/components/rich-text/file-paste-handler.js.map +1 -1
- package/build/components/rich-text/format-edit.js +36 -9
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +20 -10
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +6 -4
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/index.js +45 -41
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +145 -122
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/input-event.js +5 -4
- package/build/components/rich-text/input-event.js.map +1 -1
- package/build/components/rich-text/shortcut.js +6 -5
- package/build/components/rich-text/shortcut.js.map +1 -1
- package/build/components/rich-text/split-value.js +10 -8
- package/build/components/rich-text/split-value.js.map +1 -1
- package/build/components/rich-text/toolbar-button.js +7 -6
- package/build/components/rich-text/toolbar-button.js.map +1 -1
- package/build/components/rich-text/use-caret-in-format.js +4 -3
- package/build/components/rich-text/use-caret-in-format.js.map +1 -1
- package/build/components/rich-text/use-enter.js +6 -3
- package/build/components/rich-text/use-enter.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +13 -10
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +15 -9
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js +5 -4
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +28 -4
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/rich-text/utils.js +9 -7
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +4 -3
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/text-decoration-control/index.js +5 -4
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +5 -4
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/tool-selector/index.js +16 -13
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/typewriter/index.js +10 -7
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/ungroup-button/index.native.js +12 -9
- package/build/components/ungroup-button/index.native.js.map +1 -1
- package/build/components/unit-control/index.js +5 -4
- package/build/components/unit-control/index.js.map +1 -1
- package/build/components/url-input/index.js +23 -13
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-input/index.native.js +8 -6
- package/build/components/url-input/index.native.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +12 -11
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/url-popover/index.js +9 -8
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +8 -7
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer-url.js +6 -5
- package/build/components/url-popover/link-viewer-url.js.map +1 -1
- package/build/components/url-popover/link-viewer.js +9 -8
- package/build/components/url-popover/link-viewer.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +9 -8
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +17 -13
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-no-recursive-renders/index.js +10 -6
- package/build/components/use-no-recursive-renders/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +2 -2
- package/build/components/use-setting/index.js +48 -9
- package/build/components/use-setting/index.js.map +1 -1
- package/build/components/warning/index.js +7 -6
- package/build/components/warning/index.js.map +1 -1
- package/build/components/warning/index.native.js +10 -9
- package/build/components/warning/index.native.js.map +1 -1
- package/build/components/writing-flow/index.js +6 -5
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-arrow-nav.js +2 -2
- package/build/hooks/align.js +12 -7
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/border.js +9 -7
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color-panel.js +9 -7
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color.js +4 -3
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/dimensions.js +4 -2
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +29 -15
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-appearance.js +60 -14
- package/build/hooks/font-appearance.js.map +1 -1
- package/build/hooks/font-family.js +62 -32
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +57 -13
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/gap.js +10 -8
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/index.js +16 -8
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +16 -8
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout.js +16 -13
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/letter-spacing.js +50 -11
- package/build/hooks/letter-spacing.js.map +1 -1
- package/build/hooks/line-height.js +51 -12
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/margin.js +11 -9
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +11 -9
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/style.js +9 -5
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/text-decoration.js +48 -10
- package/build/hooks/text-decoration.js.map +1 -1
- package/build/hooks/text-transform.js +48 -10
- package/build/hooks/text-transform.js.map +1 -1
- package/build/hooks/typography.js +111 -10
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +3 -2
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/use-border-props.js +5 -4
- package/build/hooks/use-border-props.js.map +1 -1
- package/build/hooks/use-cached-truthy.js +29 -0
- package/build/hooks/use-cached-truthy.js.map +1 -0
- package/build/index.js +21 -14
- package/build/index.js.map +1 -1
- package/build/layouts/flex.js +172 -52
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +10 -8
- package/build/layouts/flow.js.map +1 -1
- package/build/layouts/index.js +2 -1
- package/build/layouts/index.js.map +1 -1
- package/build/layouts/utils.js +2 -1
- package/build/layouts/utils.js.map +1 -1
- package/build/store/actions.js +486 -369
- package/build/store/actions.js.map +1 -1
- package/build/store/array.js +2 -1
- package/build/store/array.js.map +1 -1
- package/build/store/index.js +6 -6
- package/build/store/index.js.map +1 -1
- package/build/store/reducer.js +145 -69
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +259 -172
- package/build/store/selectors.js.map +1 -1
- package/build/utils/block-variation-transforms.js +4 -3
- package/build/utils/block-variation-transforms.js.map +1 -1
- package/build/utils/dom.js +1 -1
- package/build/utils/get-paste-event-data.js +10 -6
- package/build/utils/get-paste-event-data.js.map +1 -1
- package/build/utils/index.js +4 -4
- package/build/utils/math.js +2 -1
- package/build/utils/math.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +6 -3
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build/utils/transform-styles/index.js +8 -6
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build/utils/transform-styles/transforms/wrap.js +31 -28
- package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +12 -11
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/autocomplete/index.js +4 -3
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-actions/index.js +12 -8
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +21 -17
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +9 -4
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +6 -4
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +4 -3
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-caption/index.native.js +34 -29
- package/build-module/components/block-caption/index.native.js.map +1 -1
- package/build-module/components/block-card/index.js +8 -6
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-compare/block-view.js +9 -8
- package/build-module/components/block-compare/block-view.js.map +1 -1
- package/build-module/components/block-compare/index.js +9 -7
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js +7 -6
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-context/index.js +5 -4
- package/build-module/components/block-context/index.js.map +1 -1
- package/build-module/components/block-controls/fill.js +7 -6
- package/build-module/components/block-controls/fill.js.map +1 -1
- package/build-module/components/block-controls/slot.js +5 -4
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-controls/slot.native.js +5 -4
- package/build-module/components/block-controls/slot.native.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.js +5 -4
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-draggable/index.js +13 -11
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js +7 -6
- package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build-module/components/block-icon/index.js +11 -5
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-icon/index.native.js +8 -6
- package/build-module/components/block-icon/index.native.js.map +1 -1
- package/build-module/components/block-inspector/index.js +20 -13
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-html.js +4 -3
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +27 -19
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js +5 -4
- package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +6 -5
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js +11 -9
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js +40 -33
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +35 -29
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +13 -11
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +22 -17
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/insertion-point.native.js +4 -3
- package/build-module/components/block-list/insertion-point.native.js.map +1 -1
- package/build-module/components/block-list/layout.js +5 -4
- package/build-module/components/block-list/layout.js.map +1 -1
- package/build-module/components/block-list/subdirectory-icon.js +13 -10
- package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +5 -3
- 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 +2 -1
- package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-multi-selection.js +30 -14
- package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +16 -13
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.native.js +14 -11
- package/build-module/components/block-list-appender/index.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +46 -42
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/index.js +4 -3
- package/build-module/components/block-mobile-toolbar/index.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/index.native.js +33 -25
- package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-mover/button.js +7 -6
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +15 -13
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +22 -19
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-mover/mover-description.native.js +10 -7
- package/build-module/components/block-mover/mover-description.native.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +26 -22
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +26 -22
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +46 -39
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +45 -45
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +5 -4
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +8 -7
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-preview/live.js +4 -3
- package/build-module/components/block-preview/live.js.map +1 -1
- package/build-module/components/block-settings/button.native.js +10 -7
- package/build-module/components/block-settings/button.native.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +13 -9
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-convert-button.js +7 -5
- 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 +14 -10
- 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 +25 -19
- 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 +98 -70
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +5 -4
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +8 -6
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +20 -17
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +6 -4
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-styles/preview.native.js +9 -8
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js +5 -4
- package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js +7 -6
- 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 -8
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/block-switcher/index.js +41 -33
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +22 -18
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +4 -3
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +2 -1
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-title/index.js +4 -3
- package/build-module/components/block-title/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +4 -3
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/utils.js +13 -11
- package/build-module/components/block-toolbar/utils.js.map +1 -1
- package/build-module/components/block-tools/back-compat.js +4 -3
- package/build-module/components/block-tools/back-compat.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +6 -5
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-popover.js +15 -13
- package/build-module/components/block-tools/block-popover.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +6 -5
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +6 -5
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +11 -9
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-types-list/index.js +9 -8
- package/build-module/components/block-types-list/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +19 -15
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +9 -8
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +9 -7
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +22 -15
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +9 -7
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/all-input-control.js +6 -5
- package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +5 -4
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +16 -11
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +5 -4
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js +8 -3
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/border-style-control/index.js +5 -4
- package/build-module/components/border-style-control/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +15 -13
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.native.js +28 -24
- package/build-module/components/button-block-appender/index.native.js.map +1 -1
- package/build-module/components/caption/index.native.js +44 -41
- package/build-module/components/caption/index.native.js.map +1 -1
- package/build-module/components/color-palette/control.js +6 -5
- package/build-module/components/color-palette/control.js.map +1 -1
- package/build-module/components/color-style-selector/index.js +43 -34
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/colors/color-panel.js +21 -18
- package/build-module/components/colors/color-panel.js.map +1 -1
- package/build-module/components/colors/utils.js +6 -3
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js +17 -6
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +25 -65
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +111 -30
- 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 +28 -24
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build-module/components/contrast-checker/index.js +18 -15
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +9 -8
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/copy-handler/index.js +4 -3
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +10 -8
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.native.js +10 -8
- package/build-module/components/default-block-appender/index.native.js.map +1 -1
- package/build-module/components/default-style-picker/index.js +14 -10
- package/build-module/components/default-style-picker/index.js.map +1 -1
- package/build-module/components/duotone-control/index.js +20 -14
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/editable-text/index.js +6 -5
- package/build-module/components/editable-text/index.js.map +1 -1
- package/build-module/components/editor-styles/index.js +4 -3
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/floating-toolbar/index.native.js +8 -7
- package/build-module/components/floating-toolbar/index.native.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +49 -34
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +12 -10
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +11 -5
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/gradients/use-gradient.js +5 -4
- package/build-module/components/gradients/use-gradient.js.map +1 -1
- package/build-module/components/iframe/index.js +29 -23
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +90 -82
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/context.js +11 -10
- package/build-module/components/image-editor/context.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +9 -8
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/index.js +9 -8
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +12 -11
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-editor/use-transform-image.js +6 -5
- package/build-module/components/image-editor/use-transform-image.js.map +1 -1
- package/build-module/components/image-editor/zoom-dropdown.js +13 -10
- package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build-module/components/image-size-control/index.js +12 -11
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/index.js +3 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +1 -1
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +8 -7
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.js +9 -7
- package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +9 -6
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +8 -5
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +52 -0
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +95 -0
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js +73 -0
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
- package/build-module/components/inserter/block-patterns-tab.js +93 -58
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +9 -7
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js +9 -8
- 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 +9 -10
- 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 +6 -5
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +11 -9
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/index.js +36 -28
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +46 -37
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +12 -11
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js +12 -11
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js +31 -27
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/panel.js +6 -5
- package/build-module/components/inserter/panel.js.map +1 -1
- package/build-module/components/inserter/pattern-panel.js +27 -18
- package/build-module/components/inserter/pattern-panel.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +4 -3
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +7 -6
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.js +18 -13
- package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js +6 -5
- package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build-module/components/inserter/search-items.js +23 -7
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/search-results.js +15 -14
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/search-results.native.js +11 -10
- package/build-module/components/inserter/search-results.native.js.map +1 -1
- package/build-module/components/inserter/tabs.js +7 -6
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js +55 -37
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inserter/utils.native.js +10 -8
- package/build-module/components/inserter/utils.native.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +12 -10
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +75 -69
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js +4 -3
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +7 -6
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js +5 -4
- 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 +8 -6
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +5 -4
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +6 -5
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js +3 -1
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +7 -6
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js +5 -4
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/justify-content-control/ui.js +10 -8
- package/build-module/components/justify-content-control/ui.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +13 -9
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +5 -4
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.native.js +5 -4
- package/build-module/components/line-height-control/index.native.js.map +1 -1
- package/build-module/components/link-control/index.js +107 -53
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +24 -11
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-create-button.js +9 -7
- package/build-module/components/link-control/search-create-button.js.map +1 -1
- package/build-module/components/link-control/search-input.js +30 -21
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-item.js +10 -9
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +15 -14
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +7 -5
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +4 -3
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/appender.js +27 -23
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +32 -28
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +18 -17
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +121 -83
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +92 -73
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +5 -4
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/expander.js +4 -3
- package/build-module/components/list-view/expander.js.map +1 -1
- package/build-module/components/list-view/index.js +49 -25
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +12 -11
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/list-item.js +8 -7
- package/build-module/components/list-view/list-item.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js +8 -58
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +86 -68
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +5 -4
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +85 -72
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/check.js +5 -4
- package/build-module/components/media-upload/check.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +4 -3
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +8 -7
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/observe-typing/index.js +4 -3
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/panel-color-settings/index.js +16 -12
- package/build-module/components/panel-color-settings/index.js.map +1 -1
- package/build-module/components/plain-text/index.js +6 -4
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/preview-options/index.js +8 -7
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +4 -3
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +8 -7
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/provider/with-registry-provider.js +7 -5
- package/build-module/components/provider/with-registry-provider.js.map +1 -1
- package/build-module/components/responsive-block-control/label.js +6 -5
- package/build-module/components/responsive-block-control/label.js.map +1 -1
- package/build-module/components/rich-text/embed-handler-picker.native.js +8 -5
- package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build-module/components/rich-text/file-paste-handler.js +6 -3
- package/build-module/components/rich-text/file-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/format-edit.js +36 -10
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +20 -10
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +6 -4
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/index.js +44 -40
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +145 -122
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/input-event.js +5 -4
- package/build-module/components/rich-text/input-event.js.map +1 -1
- package/build-module/components/rich-text/shortcut.js +6 -5
- package/build-module/components/rich-text/shortcut.js.map +1 -1
- package/build-module/components/rich-text/split-value.js +10 -8
- package/build-module/components/rich-text/split-value.js.map +1 -1
- package/build-module/components/rich-text/toolbar-button.js +7 -6
- package/build-module/components/rich-text/toolbar-button.js.map +1 -1
- package/build-module/components/rich-text/use-caret-in-format.js +4 -3
- package/build-module/components/rich-text/use-caret-in-format.js.map +1 -1
- package/build-module/components/rich-text/use-enter.js +6 -3
- package/build-module/components/rich-text/use-enter.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +13 -10
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +15 -9
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js +5 -4
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +28 -4
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/utils.js +7 -5
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +4 -3
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/text-decoration-control/index.js +5 -4
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +5 -4
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +16 -13
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/typewriter/index.js +9 -6
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/ungroup-button/index.native.js +12 -9
- package/build-module/components/ungroup-button/index.native.js.map +1 -1
- package/build-module/components/unit-control/index.js +5 -4
- package/build-module/components/unit-control/index.js.map +1 -1
- package/build-module/components/url-input/index.js +23 -13
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-input/index.native.js +8 -6
- package/build-module/components/url-input/index.native.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +12 -11
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/url-popover/index.js +9 -8
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +8 -7
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer-url.js +6 -5
- package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js +9 -8
- package/build-module/components/url-popover/link-viewer.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +8 -7
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +17 -13
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-no-recursive-renders/index.js +10 -6
- package/build-module/components/use-no-recursive-renders/index.js.map +1 -1
- package/build-module/components/use-setting/index.js +48 -9
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/components/warning/index.js +7 -6
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/warning/index.native.js +10 -9
- package/build-module/components/warning/index.native.js.map +1 -1
- package/build-module/components/writing-flow/index.js +5 -4
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/hooks/align.js +9 -4
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/border.js +8 -6
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color-panel.js +9 -7
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/dimensions.js +2 -1
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +29 -15
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-appearance.js +54 -12
- package/build-module/hooks/font-appearance.js.map +1 -1
- package/build-module/hooks/font-family.js +57 -31
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +52 -12
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/gap.js +9 -7
- 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/index.native.js +1 -0
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout.js +16 -13
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/letter-spacing.js +45 -10
- package/build-module/hooks/letter-spacing.js.map +1 -1
- package/build-module/hooks/line-height.js +46 -11
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/margin.js +10 -8
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +10 -8
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/style.js +7 -3
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/text-decoration.js +43 -9
- package/build-module/hooks/text-decoration.js.map +1 -1
- package/build-module/hooks/text-transform.js +43 -9
- package/build-module/hooks/text-transform.js.map +1 -1
- package/build-module/hooks/typography.js +119 -18
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js +2 -1
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-border-props.js +5 -4
- package/build-module/hooks/use-border-props.js.map +1 -1
- package/build-module/hooks/use-cached-truthy.js +21 -0
- package/build-module/hooks/use-cached-truthy.js.map +1 -0
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/flex.js +176 -56
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +10 -8
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/layouts/index.js +2 -1
- package/build-module/layouts/index.js.map +1 -1
- package/build-module/layouts/utils.js +2 -1
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/store/actions.js +410 -320
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/array.js +2 -1
- package/build-module/store/array.js.map +1 -1
- package/build-module/store/index.js +1 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/reducer.js +129 -54
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +197 -117
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/block-variation-transforms.js +4 -3
- package/build-module/utils/block-variation-transforms.js.map +1 -1
- package/build-module/utils/get-paste-event-data.js +10 -6
- package/build-module/utils/get-paste-event-data.js.map +1 -1
- package/build-module/utils/math.js +2 -1
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +5 -2
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +8 -6
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-module/utils/transform-styles/transforms/wrap.js +28 -25
- package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-style/style-rtl.css +160 -57
- package/build-style/style.css +160 -57
- package/package.json +27 -28
- package/src/components/alignment-control/test/__snapshots__/index.js.snap +0 -2
- package/src/components/alignment-control/ui.js +1 -4
- package/src/components/block-draggable/style.scss +19 -4
- package/src/components/block-icon/index.js +4 -1
- package/src/components/block-inspector/index.js +5 -0
- package/src/components/block-list/index.native.js +1 -1
- package/src/components/block-list/use-block-props/use-multi-selection.js +27 -7
- package/src/components/block-navigation/dropdown.js +0 -1
- package/src/components/block-patterns-list/index.js +1 -8
- package/src/components/block-patterns-list/style.scss +22 -12
- package/src/components/block-settings/container.native.js +7 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +19 -7
- package/src/components/block-styles/preview.native.js +2 -2
- package/src/components/block-switcher/test/__snapshots__/index.js.snap +1 -1
- package/src/components/color-palette/test/__snapshots__/control.js.snap +88 -63
- package/src/components/colors-gradients/control.js +19 -62
- package/src/components/colors-gradients/panel-color-gradient-settings.js +76 -6
- package/src/components/colors-gradients/style.scss +3 -14
- package/src/components/colors-gradients/test/control.js +0 -16
- package/src/components/duotone-control/index.js +6 -0
- package/src/components/duotone-control/style.scss +27 -12
- package/src/components/font-appearance-control/index.js +22 -14
- package/src/components/iframe/index.js +1 -1
- package/src/components/index.js +3 -4
- package/src/components/index.native.js +1 -4
- package/src/components/inner-blocks/index.js +4 -4
- package/src/components/inner-blocks/index.native.js +7 -4
- package/src/components/inserter/block-patterns-explorer/explorer.js +50 -0
- package/src/components/inserter/block-patterns-explorer/patterns-list.js +122 -0
- package/src/components/inserter/block-patterns-explorer/sidebar.js +73 -0
- package/src/components/inserter/block-patterns-tab.js +107 -80
- package/src/components/inserter/hooks/use-block-type-impressions.native.js +14 -21
- package/src/components/inserter/pattern-panel.js +33 -16
- package/src/components/inserter/style.scss +64 -1
- package/src/components/inserter/test/block-types-tab.native.js +1 -1
- package/src/components/inserter/test/fixtures/index.native.js +12 -0
- package/src/components/inspector-controls/groups.js +4 -0
- package/src/components/letter-spacing-control/index.js +12 -6
- package/src/components/link-control/README.md +7 -0
- package/src/components/link-control/index.js +99 -34
- package/src/components/link-control/link-preview.js +21 -9
- package/src/components/link-control/search-input.js +9 -3
- package/src/components/link-control/style.scss +32 -16
- package/src/components/link-control/test/index.js +179 -4
- package/src/components/list-view/block.js +67 -23
- package/src/components/list-view/branch.js +113 -91
- package/src/components/list-view/index.js +58 -19
- package/src/components/list-view/leaf.js +1 -1
- package/src/components/list-view/style.scss +14 -3
- package/src/components/list-view/use-list-view-client-ids.js +7 -66
- package/src/components/rich-text/embed-handler-picker.native.js +1 -0
- package/src/components/rich-text/format-edit.js +36 -2
- package/src/components/rich-text/format-toolbar/index.js +3 -0
- package/src/components/rich-text/use-paste-handler.js +22 -0
- package/src/components/url-input/index.js +14 -4
- package/src/components/use-setting/index.js +49 -11
- package/src/hooks/border.js +8 -11
- package/src/hooks/color-panel.js +1 -0
- package/src/hooks/duotone.js +21 -7
- package/src/hooks/font-appearance.js +38 -7
- package/src/hooks/font-family.js +29 -13
- package/src/hooks/font-size.js +42 -6
- package/src/hooks/index.js +1 -0
- package/src/hooks/index.native.js +1 -0
- package/src/hooks/layout.scss +3 -1
- package/src/hooks/letter-spacing.js +35 -7
- package/src/hooks/line-height.js +37 -9
- package/src/hooks/margin.js +1 -1
- package/src/hooks/padding.js +1 -1
- package/src/hooks/text-decoration.js +34 -6
- package/src/hooks/text-transform.js +34 -6
- package/src/hooks/typography.js +165 -15
- package/src/hooks/typography.scss +16 -0
- package/src/hooks/use-cached-truthy.js +20 -0
- package/src/index.js +1 -0
- package/src/layouts/flex.js +155 -41
- package/src/store/actions.js +223 -391
- package/src/store/index.js +1 -2
- package/src/store/reducer.js +36 -18
- package/src/store/selectors.js +52 -47
- package/src/store/test/actions.js +395 -694
- package/src/store/test/selectors.js +79 -21
- package/src/style.scss +1 -1
- package/src/utils/test/parse-css-unit-to-px.js +127 -167
- package/build/components/text-decoration-and-transform/index.js +0 -39
- package/build/components/text-decoration-and-transform/index.js.map +0 -1
- package/build/store/controls.js +0 -44
- package/build/store/controls.js.map +0 -1
- package/build-module/components/text-decoration-and-transform/index.js +0 -30
- package/build-module/components/text-decoration-and-transform/index.js.map +0 -1
- package/build-module/store/controls.js +0 -32
- package/build-module/store/controls.js.map +0 -1
- package/src/components/text-decoration-and-transform/index.js +0 -36
- package/src/components/text-decoration-and-transform/style.scss +0 -3
- package/src/store/controls.js +0 -39
|
@@ -9,56 +9,59 @@ import { castArray, findKey, first, isObject, last, some } from 'lodash';
|
|
|
9
9
|
import { cloneBlock, __experimentalCloneSanitizedBlock, createBlock, doBlocksMatchTemplate, getBlockType, getDefaultBlockName, hasBlockSupport, switchToBlockType, synchronizeBlocksWithTemplate } from '@wordpress/blocks';
|
|
10
10
|
import { speak } from '@wordpress/a11y';
|
|
11
11
|
import { __, _n, sprintf } from '@wordpress/i18n';
|
|
12
|
-
import { controls } from '@wordpress/data';
|
|
13
12
|
import { create, insert, remove, toHTMLString } from '@wordpress/rich-text';
|
|
14
13
|
import deprecated from '@wordpress/deprecated';
|
|
15
14
|
/**
|
|
16
|
-
*
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
import { __unstableMarkAutomaticChangeFinalControl } from '../store/controls';
|
|
20
|
-
import { STORE_NAME as blockEditorStoreName } from './constants';
|
|
21
|
-
/**
|
|
22
|
-
* Generator which will yield a default block insert action if there
|
|
23
|
-
* are no other blocks at the root of the editor. This generator should be used
|
|
15
|
+
* Action which will insert a default block insert action if there
|
|
16
|
+
* are no other blocks at the root of the editor. This action should be used
|
|
24
17
|
* in actions which may result in no blocks remaining in the editor (removal,
|
|
25
18
|
* replacement, etc).
|
|
26
19
|
*/
|
|
27
20
|
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
const ensureDefaultBlock = () => _ref => {
|
|
22
|
+
let {
|
|
23
|
+
select,
|
|
24
|
+
dispatch
|
|
25
|
+
} = _ref;
|
|
26
|
+
// To avoid a focus loss when removing the last block, assure there is
|
|
30
27
|
// always a default block if the last of the blocks have been removed.
|
|
28
|
+
const count = select.getBlockCount();
|
|
31
29
|
|
|
32
|
-
if (count
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
// prevent it from being lost though.
|
|
30
|
+
if (count > 0) {
|
|
31
|
+
return;
|
|
32
|
+
} // If there's an custom appender, don't insert default block.
|
|
33
|
+
// We have to remember to manually move the focus elsewhere to
|
|
34
|
+
// prevent it from being lost though.
|
|
38
35
|
|
|
39
|
-
if (__unstableHasCustomAppender) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
36
|
|
|
43
|
-
|
|
37
|
+
const {
|
|
38
|
+
__unstableHasCustomAppender
|
|
39
|
+
} = select.getSettings();
|
|
40
|
+
|
|
41
|
+
if (__unstableHasCustomAppender) {
|
|
42
|
+
return;
|
|
44
43
|
}
|
|
45
|
-
|
|
44
|
+
|
|
45
|
+
dispatch.insertDefaultBlock();
|
|
46
|
+
};
|
|
46
47
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* content reflected as an edit in state.
|
|
48
|
+
* Action that resets blocks state to the specified array of blocks, taking precedence
|
|
49
|
+
* over any other content reflected as an edit in state.
|
|
50
50
|
*
|
|
51
51
|
* @param {Array} blocks Array of blocks.
|
|
52
52
|
*/
|
|
53
53
|
|
|
54
54
|
|
|
55
|
-
export
|
|
56
|
-
|
|
55
|
+
export const resetBlocks = blocks => _ref2 => {
|
|
56
|
+
let {
|
|
57
|
+
dispatch
|
|
58
|
+
} = _ref2;
|
|
59
|
+
dispatch({
|
|
57
60
|
type: 'RESET_BLOCKS',
|
|
58
61
|
blocks
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
+
});
|
|
63
|
+
dispatch(validateBlocksToTemplate(blocks));
|
|
64
|
+
};
|
|
62
65
|
/**
|
|
63
66
|
* Block validity is a function of blocks state (at the point of a
|
|
64
67
|
* reset) and the template setting. As a compromise to its placement
|
|
@@ -68,20 +71,24 @@ export function* resetBlocks(blocks) {
|
|
|
68
71
|
* @param {Array} blocks Array of blocks.
|
|
69
72
|
*/
|
|
70
73
|
|
|
71
|
-
export
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
export const validateBlocksToTemplate = blocks => _ref3 => {
|
|
75
|
+
let {
|
|
76
|
+
select,
|
|
77
|
+
dispatch
|
|
78
|
+
} = _ref3;
|
|
79
|
+
const template = select.getTemplate();
|
|
80
|
+
const templateLock = select.getTemplateLock(); // Unlocked templates are considered always valid because they act
|
|
74
81
|
// as default values only.
|
|
75
82
|
|
|
76
83
|
const isBlocksValidToTemplate = !template || templateLock !== 'all' || doBlocksMatchTemplate(blocks, template); // Update if validity has changed.
|
|
77
84
|
|
|
78
|
-
const isValidTemplate =
|
|
85
|
+
const isValidTemplate = select.isValidTemplate();
|
|
79
86
|
|
|
80
87
|
if (isBlocksValidToTemplate !== isValidTemplate) {
|
|
81
|
-
|
|
88
|
+
dispatch.setTemplateValidity(isBlocksValidToTemplate);
|
|
82
89
|
return isBlocksValidToTemplate;
|
|
83
90
|
}
|
|
84
|
-
}
|
|
91
|
+
};
|
|
85
92
|
/**
|
|
86
93
|
* A block selection object.
|
|
87
94
|
*
|
|
@@ -138,8 +145,7 @@ export function receiveBlocks(blocks) {
|
|
|
138
145
|
};
|
|
139
146
|
}
|
|
140
147
|
/**
|
|
141
|
-
*
|
|
142
|
-
* attributes with the specified client IDs have been updated.
|
|
148
|
+
* Action that updates attributes of multiple blocks with the specified client IDs.
|
|
143
149
|
*
|
|
144
150
|
* @param {string|string[]} clientIds Block client IDs.
|
|
145
151
|
* @param {Object} attributes Block attributes to be merged. Should be keyed by clientIds if
|
|
@@ -148,7 +154,8 @@ export function receiveBlocks(blocks) {
|
|
|
148
154
|
* @return {Object} Action object.
|
|
149
155
|
*/
|
|
150
156
|
|
|
151
|
-
export function updateBlockAttributes(clientIds, attributes
|
|
157
|
+
export function updateBlockAttributes(clientIds, attributes) {
|
|
158
|
+
let uniqueByBlock = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
152
159
|
return {
|
|
153
160
|
type: 'UPDATE_BLOCK_ATTRIBUTES',
|
|
154
161
|
clientIds: castArray(clientIds),
|
|
@@ -157,8 +164,7 @@ export function updateBlockAttributes(clientIds, attributes, uniqueByBlock = fal
|
|
|
157
164
|
};
|
|
158
165
|
}
|
|
159
166
|
/**
|
|
160
|
-
*
|
|
161
|
-
* specified client ID has been updated.
|
|
167
|
+
* Action that updates the block with the specified client ID.
|
|
162
168
|
*
|
|
163
169
|
* @param {string} clientId Block client ID.
|
|
164
170
|
* @param {Object} updates Block attributes to be merged.
|
|
@@ -188,7 +194,9 @@ export function updateBlock(clientId, updates) {
|
|
|
188
194
|
* @return {Object} Action object.
|
|
189
195
|
*/
|
|
190
196
|
|
|
191
|
-
export function selectBlock(clientId
|
|
197
|
+
export function selectBlock(clientId) {
|
|
198
|
+
let initialPosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
199
|
+
|
|
192
200
|
/* eslint-enable jsdoc/valid-types */
|
|
193
201
|
return {
|
|
194
202
|
type: 'SELECT_BLOCK',
|
|
@@ -203,14 +211,17 @@ export function selectBlock(clientId, initialPosition = 0) {
|
|
|
203
211
|
* @param {string} clientId Block client ID.
|
|
204
212
|
*/
|
|
205
213
|
|
|
206
|
-
export
|
|
207
|
-
|
|
214
|
+
export const selectPreviousBlock = clientId => _ref4 => {
|
|
215
|
+
let {
|
|
216
|
+
select,
|
|
217
|
+
dispatch
|
|
218
|
+
} = _ref4;
|
|
219
|
+
const previousBlockClientId = select.getPreviousBlockClientId(clientId);
|
|
208
220
|
|
|
209
221
|
if (previousBlockClientId) {
|
|
210
|
-
|
|
211
|
-
return [previousBlockClientId];
|
|
222
|
+
dispatch.selectBlock(previousBlockClientId, -1);
|
|
212
223
|
}
|
|
213
|
-
}
|
|
224
|
+
};
|
|
214
225
|
/**
|
|
215
226
|
* Yields action objects used in signalling that the block following the given
|
|
216
227
|
* clientId should be selected.
|
|
@@ -218,16 +229,19 @@ export function* selectPreviousBlock(clientId) {
|
|
|
218
229
|
* @param {string} clientId Block client ID.
|
|
219
230
|
*/
|
|
220
231
|
|
|
221
|
-
export
|
|
222
|
-
|
|
232
|
+
export const selectNextBlock = clientId => _ref5 => {
|
|
233
|
+
let {
|
|
234
|
+
select,
|
|
235
|
+
dispatch
|
|
236
|
+
} = _ref5;
|
|
237
|
+
const nextBlockClientId = select.getNextBlockClientId(clientId);
|
|
223
238
|
|
|
224
239
|
if (nextBlockClientId) {
|
|
225
|
-
|
|
226
|
-
return [nextBlockClientId];
|
|
240
|
+
dispatch.selectBlock(nextBlockClientId);
|
|
227
241
|
}
|
|
228
|
-
}
|
|
242
|
+
};
|
|
229
243
|
/**
|
|
230
|
-
*
|
|
244
|
+
* Action that starts block multi-selection.
|
|
231
245
|
*
|
|
232
246
|
* @return {Object} Action object.
|
|
233
247
|
*/
|
|
@@ -238,7 +252,7 @@ export function startMultiSelect() {
|
|
|
238
252
|
};
|
|
239
253
|
}
|
|
240
254
|
/**
|
|
241
|
-
*
|
|
255
|
+
* Action that stops block multi-selection.
|
|
242
256
|
*
|
|
243
257
|
* @return {Object} Action object.
|
|
244
258
|
*/
|
|
@@ -249,32 +263,36 @@ export function stopMultiSelect() {
|
|
|
249
263
|
};
|
|
250
264
|
}
|
|
251
265
|
/**
|
|
252
|
-
*
|
|
266
|
+
* Action that changes block multi-selection.
|
|
253
267
|
*
|
|
254
268
|
* @param {string} start First block of the multi selection.
|
|
255
269
|
* @param {string} end Last block of the multiselection.
|
|
256
270
|
*/
|
|
257
271
|
|
|
258
|
-
export
|
|
259
|
-
|
|
260
|
-
|
|
272
|
+
export const multiSelect = (start, end) => _ref6 => {
|
|
273
|
+
let {
|
|
274
|
+
select,
|
|
275
|
+
dispatch
|
|
276
|
+
} = _ref6;
|
|
277
|
+
const startBlockRootClientId = select.getBlockRootClientId(start);
|
|
278
|
+
const endBlockRootClientId = select.getBlockRootClientId(end); // Only allow block multi-selections at the same level.
|
|
261
279
|
|
|
262
280
|
if (startBlockRootClientId !== endBlockRootClientId) {
|
|
263
281
|
return;
|
|
264
282
|
}
|
|
265
283
|
|
|
266
|
-
|
|
284
|
+
dispatch({
|
|
267
285
|
type: 'MULTI_SELECT',
|
|
268
286
|
start,
|
|
269
287
|
end
|
|
270
|
-
};
|
|
271
|
-
const blockCount =
|
|
288
|
+
});
|
|
289
|
+
const blockCount = select.getSelectedBlockCount();
|
|
272
290
|
speak(sprintf(
|
|
273
291
|
/* translators: %s: number of selected blocks */
|
|
274
292
|
_n('%s block selected.', '%s blocks selected.', blockCount), blockCount), 'assertive');
|
|
275
|
-
}
|
|
293
|
+
};
|
|
276
294
|
/**
|
|
277
|
-
*
|
|
295
|
+
* Action that clears the block selection.
|
|
278
296
|
*
|
|
279
297
|
* @return {Object} Action object.
|
|
280
298
|
*/
|
|
@@ -285,7 +303,7 @@ export function clearSelectedBlock() {
|
|
|
285
303
|
};
|
|
286
304
|
}
|
|
287
305
|
/**
|
|
288
|
-
*
|
|
306
|
+
* Action that enables or disables block selection.
|
|
289
307
|
*
|
|
290
308
|
* @param {boolean} [isSelectionEnabled=true] Whether block selection should
|
|
291
309
|
* be enabled.
|
|
@@ -293,7 +311,8 @@ export function clearSelectedBlock() {
|
|
|
293
311
|
* @return {Object} Action object.
|
|
294
312
|
*/
|
|
295
313
|
|
|
296
|
-
export function toggleSelection(
|
|
314
|
+
export function toggleSelection() {
|
|
315
|
+
let isSelectionEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
297
316
|
return {
|
|
298
317
|
type: 'TOGGLE_SELECTION',
|
|
299
318
|
isSelectionEnabled
|
|
@@ -337,8 +356,7 @@ function getBlocksWithDefaultStylesApplied(blocks, blockEditorSettings) {
|
|
|
337
356
|
/* eslint-disable jsdoc/valid-types */
|
|
338
357
|
|
|
339
358
|
/**
|
|
340
|
-
*
|
|
341
|
-
* one or more replacement blocks.
|
|
359
|
+
* Action that replaces given blocks with one or more replacement blocks.
|
|
342
360
|
*
|
|
343
361
|
* @param {(string|string[])} clientIds Block client ID(s) to replace.
|
|
344
362
|
* @param {(Object|Object[])} blocks Replacement block(s).
|
|
@@ -346,39 +364,47 @@ function getBlocksWithDefaultStylesApplied(blocks, blockEditorSettings) {
|
|
|
346
364
|
* @param {0|-1|null} initialPosition Index of caret after in the selected block after the operation.
|
|
347
365
|
* @param {?Object} meta Optional Meta values to be passed to the action object.
|
|
348
366
|
*
|
|
349
|
-
* @
|
|
367
|
+
* @return {Object} Action object.
|
|
350
368
|
*/
|
|
351
369
|
|
|
352
370
|
|
|
353
|
-
export function
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
371
|
+
export const replaceBlocks = function (clientIds, blocks, indexToSelect) {
|
|
372
|
+
let initialPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
373
|
+
let meta = arguments.length > 4 ? arguments[4] : undefined;
|
|
374
|
+
return _ref7 => {
|
|
375
|
+
let {
|
|
376
|
+
select,
|
|
377
|
+
dispatch
|
|
378
|
+
} = _ref7;
|
|
358
379
|
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
380
|
+
/* eslint-enable jsdoc/valid-types */
|
|
381
|
+
clientIds = castArray(clientIds);
|
|
382
|
+
blocks = getBlocksWithDefaultStylesApplied(castArray(blocks), select.getSettings());
|
|
383
|
+
const rootClientId = select.getBlockRootClientId(first(clientIds)); // Replace is valid if the new blocks can be inserted in the root block.
|
|
362
384
|
|
|
363
|
-
|
|
364
|
-
|
|
385
|
+
for (let index = 0; index < blocks.length; index++) {
|
|
386
|
+
const block = blocks[index];
|
|
387
|
+
const canInsertBlock = select.canInsertBlockType(block.name, rootClientId);
|
|
388
|
+
|
|
389
|
+
if (!canInsertBlock) {
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
365
392
|
}
|
|
366
|
-
}
|
|
367
393
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
394
|
+
dispatch({
|
|
395
|
+
type: 'REPLACE_BLOCKS',
|
|
396
|
+
clientIds,
|
|
397
|
+
blocks,
|
|
398
|
+
time: Date.now(),
|
|
399
|
+
indexToSelect,
|
|
400
|
+
initialPosition,
|
|
401
|
+
meta
|
|
402
|
+
});
|
|
403
|
+
dispatch(ensureDefaultBlock());
|
|
376
404
|
};
|
|
377
|
-
|
|
378
|
-
}
|
|
405
|
+
};
|
|
379
406
|
/**
|
|
380
|
-
*
|
|
381
|
-
* with one or more replacement blocks.
|
|
407
|
+
* Action that replaces a single block with one or more replacement blocks.
|
|
382
408
|
*
|
|
383
409
|
* @param {(string|string[])} clientId Block client ID to replace.
|
|
384
410
|
* @param {(Object|Object[])} block Replacement block(s).
|
|
@@ -398,87 +424,93 @@ export function replaceBlock(clientId, block) {
|
|
|
398
424
|
* @return {Function} Action creator.
|
|
399
425
|
*/
|
|
400
426
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
427
|
+
const createOnMove = type => (clientIds, rootClientId) => _ref8 => {
|
|
428
|
+
let {
|
|
429
|
+
select,
|
|
430
|
+
dispatch
|
|
431
|
+
} = _ref8;
|
|
432
|
+
// If one of the blocks is locked or the parent is locked, we cannot move any block.
|
|
433
|
+
const canMoveBlocks = select.canMoveBlocks(clientIds, rootClientId);
|
|
404
434
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
435
|
+
if (!canMoveBlocks) {
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
408
438
|
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
}
|
|
439
|
+
dispatch({
|
|
440
|
+
type,
|
|
441
|
+
clientIds: castArray(clientIds),
|
|
442
|
+
rootClientId
|
|
443
|
+
});
|
|
444
|
+
};
|
|
416
445
|
|
|
417
446
|
export const moveBlocksDown = createOnMove('MOVE_BLOCKS_DOWN');
|
|
418
447
|
export const moveBlocksUp = createOnMove('MOVE_BLOCKS_UP');
|
|
419
448
|
/**
|
|
420
|
-
*
|
|
421
|
-
* a new position.
|
|
449
|
+
* Action that moves given blocks to a new position.
|
|
422
450
|
*
|
|
423
451
|
* @param {?string} clientIds The client IDs of the blocks.
|
|
424
452
|
* @param {?string} fromRootClientId Root client ID source.
|
|
425
453
|
* @param {?string} toRootClientId Root client ID destination.
|
|
426
454
|
* @param {number} index The index to move the blocks to.
|
|
427
|
-
*
|
|
428
|
-
* @yield {Object} Action object.
|
|
429
455
|
*/
|
|
430
456
|
|
|
431
|
-
export
|
|
432
|
-
|
|
433
|
-
|
|
457
|
+
export const moveBlocksToPosition = function (clientIds) {
|
|
458
|
+
let fromRootClientId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
459
|
+
let toRootClientId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
460
|
+
let index = arguments.length > 3 ? arguments[3] : undefined;
|
|
461
|
+
return _ref9 => {
|
|
462
|
+
let {
|
|
463
|
+
select,
|
|
464
|
+
dispatch
|
|
465
|
+
} = _ref9;
|
|
466
|
+
const canMoveBlocks = select.canMoveBlocks(clientIds, fromRootClientId); // If one of the blocks is locked or the parent is locked, we cannot move any block.
|
|
434
467
|
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
468
|
+
if (!canMoveBlocks) {
|
|
469
|
+
return;
|
|
470
|
+
} // If moving inside the same root block the move is always possible.
|
|
438
471
|
|
|
439
|
-
const action = {
|
|
440
|
-
type: 'MOVE_BLOCKS_TO_POSITION',
|
|
441
|
-
fromRootClientId,
|
|
442
|
-
toRootClientId,
|
|
443
|
-
clientIds,
|
|
444
|
-
index
|
|
445
|
-
}; // If moving inside the same root block the move is always possible.
|
|
446
472
|
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
} // If we're moving to another block, it means we're deleting blocks from
|
|
451
|
-
// the original block, so we need to check if removing is possible.
|
|
473
|
+
if (fromRootClientId !== toRootClientId) {
|
|
474
|
+
const canRemoveBlocks = select.canRemoveBlocks(clientIds, fromRootClientId); // If we're moving to another block, it means we're deleting blocks from
|
|
475
|
+
// the original block, so we need to check if removing is possible.
|
|
452
476
|
|
|
477
|
+
if (!canRemoveBlocks) {
|
|
478
|
+
return;
|
|
479
|
+
}
|
|
453
480
|
|
|
454
|
-
|
|
455
|
-
return;
|
|
456
|
-
}
|
|
481
|
+
const canInsertBlocks = select.canInsertBlocks(clientIds, toRootClientId); // If moving to other parent block, the move is possible if we can insert a block of the same type inside the new parent block.
|
|
457
482
|
|
|
458
|
-
|
|
483
|
+
if (!canInsertBlocks) {
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
459
487
|
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
488
|
+
dispatch({
|
|
489
|
+
type: 'MOVE_BLOCKS_TO_POSITION',
|
|
490
|
+
fromRootClientId,
|
|
491
|
+
toRootClientId,
|
|
492
|
+
clientIds,
|
|
493
|
+
index
|
|
494
|
+
});
|
|
495
|
+
};
|
|
496
|
+
};
|
|
464
497
|
/**
|
|
465
|
-
*
|
|
466
|
-
* new position.
|
|
498
|
+
* Action that moves given block to a new position.
|
|
467
499
|
*
|
|
468
500
|
* @param {?string} clientId The client ID of the block.
|
|
469
501
|
* @param {?string} fromRootClientId Root client ID source.
|
|
470
502
|
* @param {?string} toRootClientId Root client ID destination.
|
|
471
503
|
* @param {number} index The index to move the block to.
|
|
472
|
-
*
|
|
473
|
-
* @yield {Object} Action object.
|
|
474
504
|
*/
|
|
475
505
|
|
|
476
|
-
export function
|
|
477
|
-
|
|
506
|
+
export function moveBlockToPosition(clientId) {
|
|
507
|
+
let fromRootClientId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
508
|
+
let toRootClientId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
509
|
+
let index = arguments.length > 3 ? arguments[3] : undefined;
|
|
510
|
+
return moveBlocksToPosition([clientId], fromRootClientId, toRootClientId, index);
|
|
478
511
|
}
|
|
479
512
|
/**
|
|
480
|
-
*
|
|
481
|
-
* inserted, optionally at a specific index respective a root block list.
|
|
513
|
+
* Action that inserts a single block, optionally at a specific index respective a root block list.
|
|
482
514
|
*
|
|
483
515
|
* @param {Object} block Block object to insert.
|
|
484
516
|
* @param {?number} index Index at which block should be inserted.
|
|
@@ -489,14 +521,13 @@ export function* moveBlockToPosition(clientId, fromRootClientId = '', toRootClie
|
|
|
489
521
|
* @return {Object} Action object.
|
|
490
522
|
*/
|
|
491
523
|
|
|
492
|
-
export function insertBlock(block, index, rootClientId, updateSelection
|
|
524
|
+
export function insertBlock(block, index, rootClientId, updateSelection, meta) {
|
|
493
525
|
return insertBlocks([block], index, rootClientId, updateSelection, 0, meta);
|
|
494
526
|
}
|
|
495
527
|
/* eslint-disable jsdoc/valid-types */
|
|
496
528
|
|
|
497
529
|
/**
|
|
498
|
-
*
|
|
499
|
-
* be inserted, optionally at a specific index respective a root block list.
|
|
530
|
+
* Action that inserts an array of blocks, optionally at a specific index respective a root block list.
|
|
500
531
|
*
|
|
501
532
|
* @param {Object[]} blocks Block objects to insert.
|
|
502
533
|
* @param {?number} index Index at which block should be inserted.
|
|
@@ -507,45 +538,54 @@ export function insertBlock(block, index, rootClientId, updateSelection = true,
|
|
|
507
538
|
* @return {Object} Action object.
|
|
508
539
|
*/
|
|
509
540
|
|
|
510
|
-
export function
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
541
|
+
export const insertBlocks = function (blocks, index, rootClientId) {
|
|
542
|
+
let updateSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
|
|
543
|
+
let initialPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
|
|
544
|
+
let meta = arguments.length > 5 ? arguments[5] : undefined;
|
|
545
|
+
return _ref10 => {
|
|
546
|
+
let {
|
|
547
|
+
select,
|
|
548
|
+
dispatch
|
|
549
|
+
} = _ref10;
|
|
550
|
+
|
|
551
|
+
/* eslint-enable jsdoc/valid-types */
|
|
552
|
+
if (isObject(initialPosition)) {
|
|
553
|
+
meta = initialPosition;
|
|
554
|
+
initialPosition = 0;
|
|
555
|
+
deprecated("meta argument in wp.data.dispatch('core/block-editor')", {
|
|
556
|
+
since: '10.1',
|
|
557
|
+
plugin: 'Gutenberg',
|
|
558
|
+
hint: 'The meta argument is now the 6th argument of the function'
|
|
559
|
+
});
|
|
560
|
+
}
|
|
521
561
|
|
|
522
|
-
|
|
523
|
-
|
|
562
|
+
blocks = getBlocksWithDefaultStylesApplied(castArray(blocks), select.getSettings());
|
|
563
|
+
const allowedBlocks = [];
|
|
524
564
|
|
|
525
|
-
|
|
526
|
-
|
|
565
|
+
for (const block of blocks) {
|
|
566
|
+
const isValid = select.canInsertBlockType(block.name, rootClientId);
|
|
527
567
|
|
|
528
|
-
|
|
529
|
-
|
|
568
|
+
if (isValid) {
|
|
569
|
+
allowedBlocks.push(block);
|
|
570
|
+
}
|
|
530
571
|
}
|
|
531
|
-
}
|
|
532
572
|
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
}
|
|
573
|
+
if (allowedBlocks.length) {
|
|
574
|
+
dispatch({
|
|
575
|
+
type: 'INSERT_BLOCKS',
|
|
576
|
+
blocks: allowedBlocks,
|
|
577
|
+
index,
|
|
578
|
+
rootClientId,
|
|
579
|
+
time: Date.now(),
|
|
580
|
+
updateSelection,
|
|
581
|
+
initialPosition: updateSelection ? initialPosition : null,
|
|
582
|
+
meta
|
|
583
|
+
});
|
|
584
|
+
}
|
|
585
|
+
};
|
|
586
|
+
};
|
|
546
587
|
/**
|
|
547
|
-
*
|
|
548
|
-
* be shown.
|
|
588
|
+
* Action that shows the insertion point.
|
|
549
589
|
*
|
|
550
590
|
* @param {?string} rootClientId Optional root client ID of block list on
|
|
551
591
|
* which to insert.
|
|
@@ -555,7 +595,9 @@ export function* insertBlocks(blocks, index, rootClientId, updateSelection = tru
|
|
|
555
595
|
* @return {Object} Action object.
|
|
556
596
|
*/
|
|
557
597
|
|
|
558
|
-
export function showInsertionPoint(rootClientId, index
|
|
598
|
+
export function showInsertionPoint(rootClientId, index) {
|
|
599
|
+
let __unstableOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
600
|
+
|
|
559
601
|
const {
|
|
560
602
|
__unstableWithInserter
|
|
561
603
|
} = __unstableOptions;
|
|
@@ -567,7 +609,7 @@ export function showInsertionPoint(rootClientId, index, __unstableOptions = {})
|
|
|
567
609
|
};
|
|
568
610
|
}
|
|
569
611
|
/**
|
|
570
|
-
*
|
|
612
|
+
* Action that hides the insertion point.
|
|
571
613
|
*
|
|
572
614
|
* @return {Object} Action object.
|
|
573
615
|
*/
|
|
@@ -578,7 +620,7 @@ export function hideInsertionPoint() {
|
|
|
578
620
|
};
|
|
579
621
|
}
|
|
580
622
|
/**
|
|
581
|
-
*
|
|
623
|
+
* Action that resets the template validity.
|
|
582
624
|
*
|
|
583
625
|
* @param {boolean} isValid template validity flag.
|
|
584
626
|
*
|
|
@@ -592,49 +634,57 @@ export function setTemplateValidity(isValid) {
|
|
|
592
634
|
};
|
|
593
635
|
}
|
|
594
636
|
/**
|
|
595
|
-
*
|
|
637
|
+
* Action that synchronizes the template with the list of blocks.
|
|
596
638
|
*
|
|
597
639
|
* @return {Object} Action object.
|
|
598
640
|
*/
|
|
599
641
|
|
|
600
|
-
export
|
|
601
|
-
|
|
642
|
+
export const synchronizeTemplate = () => _ref11 => {
|
|
643
|
+
let {
|
|
644
|
+
select,
|
|
645
|
+
dispatch
|
|
646
|
+
} = _ref11;
|
|
647
|
+
dispatch({
|
|
602
648
|
type: 'SYNCHRONIZE_TEMPLATE'
|
|
603
|
-
};
|
|
604
|
-
const blocks =
|
|
605
|
-
const template =
|
|
649
|
+
});
|
|
650
|
+
const blocks = select.getBlocks();
|
|
651
|
+
const template = select.getTemplate();
|
|
606
652
|
const updatedBlockList = synchronizeBlocksWithTemplate(blocks, template);
|
|
607
|
-
|
|
608
|
-
}
|
|
653
|
+
dispatch.resetBlocks(updatedBlockList);
|
|
654
|
+
};
|
|
609
655
|
/**
|
|
610
|
-
*
|
|
656
|
+
* Action that merges two blocks.
|
|
611
657
|
*
|
|
612
658
|
* @param {string} firstBlockClientId Client ID of the first block to merge.
|
|
613
659
|
* @param {string} secondBlockClientId Client ID of the second block to merge.
|
|
614
660
|
*/
|
|
615
661
|
|
|
616
|
-
export
|
|
662
|
+
export const mergeBlocks = (firstBlockClientId, secondBlockClientId) => _ref12 => {
|
|
663
|
+
let {
|
|
664
|
+
select,
|
|
665
|
+
dispatch
|
|
666
|
+
} = _ref12;
|
|
617
667
|
const blocks = [firstBlockClientId, secondBlockClientId];
|
|
618
|
-
|
|
668
|
+
dispatch({
|
|
619
669
|
type: 'MERGE_BLOCKS',
|
|
620
670
|
blocks
|
|
621
|
-
};
|
|
671
|
+
});
|
|
622
672
|
const [clientIdA, clientIdB] = blocks;
|
|
623
|
-
const blockA =
|
|
673
|
+
const blockA = select.getBlock(clientIdA);
|
|
624
674
|
const blockAType = getBlockType(blockA.name); // Only focus the previous block if it's not mergeable
|
|
625
675
|
|
|
626
676
|
if (blockAType && !blockAType.merge) {
|
|
627
|
-
|
|
677
|
+
dispatch.selectBlock(blockA.clientId);
|
|
628
678
|
return;
|
|
629
679
|
}
|
|
630
680
|
|
|
631
|
-
const blockB =
|
|
681
|
+
const blockB = select.getBlock(clientIdB);
|
|
632
682
|
const blockBType = getBlockType(blockB.name);
|
|
633
683
|
const {
|
|
634
684
|
clientId,
|
|
635
685
|
attributeKey,
|
|
636
686
|
offset
|
|
637
|
-
} =
|
|
687
|
+
} = select.getSelectionStart();
|
|
638
688
|
const selectedBlockType = clientId === clientIdA ? blockAType : blockBType;
|
|
639
689
|
const attributeDefinition = selectedBlockType.attributes[attributeKey];
|
|
640
690
|
const canRestoreTextSelection = (clientId === clientIdA || clientId === clientIdB) && attributeKey !== undefined && offset !== undefined && // We cannot restore text selection if the RichText identifier
|
|
@@ -712,16 +762,16 @@ export function* mergeBlocks(firstBlockClientId, secondBlockClientId) {
|
|
|
712
762
|
preserveWhiteSpace
|
|
713
763
|
});
|
|
714
764
|
updatedAttributes[newAttributeKey] = newHtml;
|
|
715
|
-
|
|
765
|
+
dispatch.selectionChange(blockA.clientId, newAttributeKey, newOffset, newOffset);
|
|
716
766
|
}
|
|
717
767
|
|
|
718
|
-
|
|
768
|
+
dispatch.replaceBlocks([blockA.clientId, blockB.clientId], [{ ...blockA,
|
|
719
769
|
attributes: { ...blockA.attributes,
|
|
720
770
|
...updatedAttributes
|
|
721
771
|
}
|
|
722
772
|
}, ...blocksWithTheSameType.slice(1)], 0 // If we don't pass the `indexToSelect` it will default to the last block.
|
|
723
773
|
);
|
|
724
|
-
}
|
|
774
|
+
};
|
|
725
775
|
/**
|
|
726
776
|
* Yields action objects used in signalling that the blocks corresponding to
|
|
727
777
|
* the set of specified client IDs are to be removed.
|
|
@@ -731,36 +781,39 @@ export function* mergeBlocks(firstBlockClientId, secondBlockClientId) {
|
|
|
731
781
|
* selected when a block is removed.
|
|
732
782
|
*/
|
|
733
783
|
|
|
734
|
-
export
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
784
|
+
export const removeBlocks = function (clientIds) {
|
|
785
|
+
let selectPrevious = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
786
|
+
return _ref13 => {
|
|
787
|
+
let {
|
|
788
|
+
select,
|
|
789
|
+
dispatch
|
|
790
|
+
} = _ref13;
|
|
738
791
|
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
792
|
+
if (!clientIds || !clientIds.length) {
|
|
793
|
+
return;
|
|
794
|
+
}
|
|
742
795
|
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
796
|
+
clientIds = castArray(clientIds);
|
|
797
|
+
const rootClientId = select.getBlockRootClientId(clientIds[0]);
|
|
798
|
+
const canRemoveBlocks = select.canRemoveBlocks(clientIds, rootClientId);
|
|
746
799
|
|
|
747
|
-
|
|
800
|
+
if (!canRemoveBlocks) {
|
|
801
|
+
return;
|
|
802
|
+
}
|
|
748
803
|
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
previousBlockId = yield controls.select(blockEditorStoreName, 'getPreviousBlockClientId', clientIds[0]);
|
|
753
|
-
}
|
|
804
|
+
if (selectPrevious) {
|
|
805
|
+
dispatch.selectPreviousBlock(clientIds[0]);
|
|
806
|
+
}
|
|
754
807
|
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
808
|
+
dispatch({
|
|
809
|
+
type: 'REMOVE_BLOCKS',
|
|
810
|
+
clientIds
|
|
811
|
+
}); // To avoid a focus loss when removing the last block, assure there is
|
|
812
|
+
// always a default block if the last of the blocks have been removed.
|
|
760
813
|
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
}
|
|
814
|
+
dispatch(ensureDefaultBlock());
|
|
815
|
+
};
|
|
816
|
+
};
|
|
764
817
|
/**
|
|
765
818
|
* Returns an action object used in signalling that the block with the
|
|
766
819
|
* specified client ID is to be removed.
|
|
@@ -788,7 +841,10 @@ export function removeBlock(clientId, selectPrevious) {
|
|
|
788
841
|
* @return {Object} Action object.
|
|
789
842
|
*/
|
|
790
843
|
|
|
791
|
-
export function replaceInnerBlocks(rootClientId, blocks
|
|
844
|
+
export function replaceInnerBlocks(rootClientId, blocks) {
|
|
845
|
+
let updateSelection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
846
|
+
let initialPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
847
|
+
|
|
792
848
|
/* eslint-enable jsdoc/valid-types */
|
|
793
849
|
return {
|
|
794
850
|
type: 'REPLACE_INNER_BLOCKS',
|
|
@@ -844,7 +900,8 @@ export function stopTyping() {
|
|
|
844
900
|
* @return {Object} Action object.
|
|
845
901
|
*/
|
|
846
902
|
|
|
847
|
-
export function startDraggingBlocks(
|
|
903
|
+
export function startDraggingBlocks() {
|
|
904
|
+
let clientIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
848
905
|
return {
|
|
849
906
|
type: 'START_DRAGGING_BLOCKS',
|
|
850
907
|
clientIds
|
|
@@ -884,8 +941,7 @@ export function exitFormattedText() {
|
|
|
884
941
|
};
|
|
885
942
|
}
|
|
886
943
|
/**
|
|
887
|
-
*
|
|
888
|
-
* position.
|
|
944
|
+
* Action that changes the position of the user caret.
|
|
889
945
|
*
|
|
890
946
|
* @param {string} clientId The selected block client ID.
|
|
891
947
|
* @param {string} attributeKey The selected block attribute key.
|
|
@@ -905,8 +961,7 @@ export function selectionChange(clientId, attributeKey, startOffset, endOffset)
|
|
|
905
961
|
};
|
|
906
962
|
}
|
|
907
963
|
/**
|
|
908
|
-
*
|
|
909
|
-
* type should be added to the block list.
|
|
964
|
+
* Action that adds a new block of the default type to the block list.
|
|
910
965
|
*
|
|
911
966
|
* @param {?Object} attributes Optional attributes of the block to assign.
|
|
912
967
|
* @param {?string} rootClientId Optional root client ID of block list on which
|
|
@@ -928,7 +983,7 @@ export function insertDefaultBlock(attributes, rootClientId, index) {
|
|
|
928
983
|
return insertBlock(block, index, rootClientId);
|
|
929
984
|
}
|
|
930
985
|
/**
|
|
931
|
-
*
|
|
986
|
+
* Action that changes the nested settings of a given block.
|
|
932
987
|
*
|
|
933
988
|
* @param {string} clientId Client ID of the block whose nested setting are
|
|
934
989
|
* being received.
|
|
@@ -945,7 +1000,7 @@ export function updateBlockListSettings(clientId, settings) {
|
|
|
945
1000
|
};
|
|
946
1001
|
}
|
|
947
1002
|
/**
|
|
948
|
-
*
|
|
1003
|
+
* Action that updates the block editor settings.
|
|
949
1004
|
*
|
|
950
1005
|
* @param {Object} settings Updated settings
|
|
951
1006
|
*
|
|
@@ -959,7 +1014,7 @@ export function updateSettings(settings) {
|
|
|
959
1014
|
};
|
|
960
1015
|
}
|
|
961
1016
|
/**
|
|
962
|
-
*
|
|
1017
|
+
* Action that signals that a temporary reusable block has been saved
|
|
963
1018
|
* in order to switch its temporary id with the real id.
|
|
964
1019
|
*
|
|
965
1020
|
* @param {string} id Reusable block's id.
|
|
@@ -976,7 +1031,7 @@ export function __unstableSaveReusableBlock(id, updatedId) {
|
|
|
976
1031
|
};
|
|
977
1032
|
}
|
|
978
1033
|
/**
|
|
979
|
-
*
|
|
1034
|
+
* Action that marks the last block change explicitly as persistent.
|
|
980
1035
|
*
|
|
981
1036
|
* @return {Object} Action object.
|
|
982
1037
|
*/
|
|
@@ -987,7 +1042,7 @@ export function __unstableMarkLastChangeAsPersistent() {
|
|
|
987
1042
|
};
|
|
988
1043
|
}
|
|
989
1044
|
/**
|
|
990
|
-
*
|
|
1045
|
+
* Action that signals that the next block change should be marked explicitly as not persistent.
|
|
991
1046
|
*
|
|
992
1047
|
* @return {Object} Action object.
|
|
993
1048
|
*/
|
|
@@ -998,138 +1053,174 @@ export function __unstableMarkNextChangeAsNotPersistent() {
|
|
|
998
1053
|
};
|
|
999
1054
|
}
|
|
1000
1055
|
/**
|
|
1001
|
-
*
|
|
1002
|
-
*
|
|
1003
|
-
*
|
|
1004
|
-
*
|
|
1005
|
-
* it is recommended to be called at the next idle period to ensure all
|
|
1056
|
+
* Action that marks the last block change as an automatic change, meaning it was not
|
|
1057
|
+
* performed by the user, and can be undone using the `Escape` and `Backspace` keys.
|
|
1058
|
+
* This action must be called after the change was made, and any actions that are a
|
|
1059
|
+
* consequence of it, so it is recommended to be called at the next idle period to ensure all
|
|
1006
1060
|
* selection changes have been recorded.
|
|
1007
1061
|
*/
|
|
1008
1062
|
|
|
1009
|
-
export
|
|
1010
|
-
|
|
1063
|
+
export const __unstableMarkAutomaticChange = () => _ref14 => {
|
|
1064
|
+
let {
|
|
1065
|
+
dispatch
|
|
1066
|
+
} = _ref14;
|
|
1067
|
+
dispatch({
|
|
1011
1068
|
type: 'MARK_AUTOMATIC_CHANGE'
|
|
1012
|
-
};
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
}
|
|
1069
|
+
});
|
|
1070
|
+
const {
|
|
1071
|
+
requestIdleCallback = cb => setTimeout(cb, 100)
|
|
1072
|
+
} = window;
|
|
1073
|
+
requestIdleCallback(() => {
|
|
1074
|
+
dispatch({
|
|
1075
|
+
type: 'MARK_AUTOMATIC_CHANGE_FINAL'
|
|
1076
|
+
});
|
|
1077
|
+
});
|
|
1078
|
+
};
|
|
1020
1079
|
/**
|
|
1021
|
-
*
|
|
1080
|
+
* Action that enables or disables the navigation mode.
|
|
1022
1081
|
*
|
|
1023
1082
|
* @param {string} isNavigationMode Enable/Disable navigation mode.
|
|
1024
1083
|
*/
|
|
1025
1084
|
|
|
1026
|
-
export
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1085
|
+
export const setNavigationMode = function () {
|
|
1086
|
+
let isNavigationMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
1087
|
+
return _ref15 => {
|
|
1088
|
+
let {
|
|
1089
|
+
dispatch
|
|
1090
|
+
} = _ref15;
|
|
1091
|
+
dispatch({
|
|
1092
|
+
type: 'SET_NAVIGATION_MODE',
|
|
1093
|
+
isNavigationMode
|
|
1094
|
+
});
|
|
1031
1095
|
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
}
|
|
1096
|
+
if (isNavigationMode) {
|
|
1097
|
+
speak(__('You are currently in navigation mode. Navigate blocks using the Tab key and Arrow keys. Use Left and Right Arrow keys to move between nesting levels. To exit navigation mode and edit the selected block, press Enter.'));
|
|
1098
|
+
} else {
|
|
1099
|
+
speak(__('You are currently in edit mode. To return to the navigation mode, press Escape.'));
|
|
1100
|
+
}
|
|
1101
|
+
};
|
|
1102
|
+
};
|
|
1038
1103
|
/**
|
|
1039
|
-
*
|
|
1104
|
+
* Action that enables or disables the block moving mode.
|
|
1040
1105
|
*
|
|
1041
1106
|
* @param {string|null} hasBlockMovingClientId Enable/Disable block moving mode.
|
|
1042
1107
|
*/
|
|
1043
1108
|
|
|
1044
|
-
export
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1109
|
+
export const setBlockMovingClientId = function () {
|
|
1110
|
+
let hasBlockMovingClientId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
1111
|
+
return _ref16 => {
|
|
1112
|
+
let {
|
|
1113
|
+
dispatch
|
|
1114
|
+
} = _ref16;
|
|
1115
|
+
dispatch({
|
|
1116
|
+
type: 'SET_BLOCK_MOVING_MODE',
|
|
1117
|
+
hasBlockMovingClientId
|
|
1118
|
+
});
|
|
1049
1119
|
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
}
|
|
1120
|
+
if (hasBlockMovingClientId) {
|
|
1121
|
+
speak(__('Use the Tab key and Arrow keys to choose new block location. Use Left and Right Arrow keys to move between nesting levels. Once location is selected press Enter or Space to move the block.'));
|
|
1122
|
+
}
|
|
1123
|
+
};
|
|
1124
|
+
};
|
|
1054
1125
|
/**
|
|
1055
|
-
*
|
|
1126
|
+
* Action that duplicates a list of blocks.
|
|
1056
1127
|
*
|
|
1057
1128
|
* @param {string[]} clientIds
|
|
1058
1129
|
* @param {boolean} updateSelection
|
|
1059
1130
|
*/
|
|
1060
1131
|
|
|
1061
|
-
export
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1132
|
+
export const duplicateBlocks = function (clientIds) {
|
|
1133
|
+
let updateSelection = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
1134
|
+
return _ref17 => {
|
|
1135
|
+
let {
|
|
1136
|
+
select,
|
|
1137
|
+
dispatch
|
|
1138
|
+
} = _ref17;
|
|
1065
1139
|
|
|
1066
|
-
|
|
1067
|
-
|
|
1140
|
+
if (!clientIds || !clientIds.length) {
|
|
1141
|
+
return;
|
|
1142
|
+
} // Return early if blocks don't exist.
|
|
1068
1143
|
|
|
1069
|
-
if (some(blocks, block => !block)) {
|
|
1070
|
-
return;
|
|
1071
|
-
}
|
|
1072
1144
|
|
|
1073
|
-
|
|
1145
|
+
const blocks = select.getBlocksByClientId(clientIds);
|
|
1074
1146
|
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1147
|
+
if (some(blocks, block => !block)) {
|
|
1148
|
+
return;
|
|
1149
|
+
} // Return early if blocks don't support multiple usage.
|
|
1078
1150
|
|
|
1079
|
-
const lastSelectedIndex = yield controls.select(blockEditorStoreName, 'getBlockIndex', last(castArray(clientIds)), rootClientId);
|
|
1080
|
-
const clonedBlocks = blocks.map(block => __experimentalCloneSanitizedBlock(block));
|
|
1081
|
-
yield insertBlocks(clonedBlocks, lastSelectedIndex + 1, rootClientId, updateSelection);
|
|
1082
1151
|
|
|
1083
|
-
|
|
1084
|
-
yield multiSelect(first(clonedBlocks).clientId, last(clonedBlocks).clientId);
|
|
1085
|
-
}
|
|
1152
|
+
const blockNames = blocks.map(block => block.name);
|
|
1086
1153
|
|
|
1087
|
-
|
|
1088
|
-
|
|
1154
|
+
if (blockNames.some(blockName => !hasBlockSupport(blockName, 'multiple', true))) {
|
|
1155
|
+
return;
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
const rootClientId = select.getBlockRootClientId(clientIds[0]);
|
|
1159
|
+
const lastSelectedIndex = select.getBlockIndex(last(castArray(clientIds)), rootClientId);
|
|
1160
|
+
const clonedBlocks = blocks.map(block => __experimentalCloneSanitizedBlock(block));
|
|
1161
|
+
dispatch.insertBlocks(clonedBlocks, lastSelectedIndex + 1, rootClientId, updateSelection);
|
|
1162
|
+
|
|
1163
|
+
if (clonedBlocks.length > 1 && updateSelection) {
|
|
1164
|
+
dispatch.multiSelect(first(clonedBlocks).clientId, last(clonedBlocks).clientId);
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
return clonedBlocks.map(block => block.clientId);
|
|
1168
|
+
};
|
|
1169
|
+
};
|
|
1089
1170
|
/**
|
|
1090
|
-
*
|
|
1171
|
+
* Action that inserts an empty block before a given block.
|
|
1091
1172
|
*
|
|
1092
1173
|
* @param {string} clientId
|
|
1093
1174
|
*/
|
|
1094
1175
|
|
|
1095
|
-
export
|
|
1176
|
+
export const insertBeforeBlock = clientId => _ref18 => {
|
|
1177
|
+
let {
|
|
1178
|
+
select,
|
|
1179
|
+
dispatch
|
|
1180
|
+
} = _ref18;
|
|
1181
|
+
|
|
1096
1182
|
if (!clientId) {
|
|
1097
1183
|
return;
|
|
1098
1184
|
}
|
|
1099
1185
|
|
|
1100
|
-
const rootClientId =
|
|
1101
|
-
const isLocked =
|
|
1186
|
+
const rootClientId = select.getBlockRootClientId(clientId);
|
|
1187
|
+
const isLocked = select.getTemplateLock(rootClientId);
|
|
1102
1188
|
|
|
1103
1189
|
if (isLocked) {
|
|
1104
1190
|
return;
|
|
1105
1191
|
}
|
|
1106
1192
|
|
|
1107
|
-
const firstSelectedIndex =
|
|
1108
|
-
return
|
|
1109
|
-
}
|
|
1193
|
+
const firstSelectedIndex = select.getBlockIndex(clientId, rootClientId);
|
|
1194
|
+
return dispatch.insertDefaultBlock({}, rootClientId, firstSelectedIndex);
|
|
1195
|
+
};
|
|
1110
1196
|
/**
|
|
1111
|
-
*
|
|
1197
|
+
* Action that inserts an empty block after a given block.
|
|
1112
1198
|
*
|
|
1113
1199
|
* @param {string} clientId
|
|
1114
1200
|
*/
|
|
1115
1201
|
|
|
1116
|
-
export
|
|
1202
|
+
export const insertAfterBlock = clientId => _ref19 => {
|
|
1203
|
+
let {
|
|
1204
|
+
select,
|
|
1205
|
+
dispatch
|
|
1206
|
+
} = _ref19;
|
|
1207
|
+
|
|
1117
1208
|
if (!clientId) {
|
|
1118
1209
|
return;
|
|
1119
1210
|
}
|
|
1120
1211
|
|
|
1121
|
-
const rootClientId =
|
|
1122
|
-
const isLocked =
|
|
1212
|
+
const rootClientId = select.getBlockRootClientId(clientId);
|
|
1213
|
+
const isLocked = select.getTemplateLock(rootClientId);
|
|
1123
1214
|
|
|
1124
1215
|
if (isLocked) {
|
|
1125
1216
|
return;
|
|
1126
1217
|
}
|
|
1127
1218
|
|
|
1128
|
-
const firstSelectedIndex =
|
|
1129
|
-
return
|
|
1130
|
-
}
|
|
1219
|
+
const firstSelectedIndex = select.getBlockIndex(clientId, rootClientId);
|
|
1220
|
+
return dispatch.insertDefaultBlock({}, rootClientId, firstSelectedIndex + 1);
|
|
1221
|
+
};
|
|
1131
1222
|
/**
|
|
1132
|
-
*
|
|
1223
|
+
* Action that toggles the highlighted block state.
|
|
1133
1224
|
*
|
|
1134
1225
|
* @param {string} clientId The block's clientId.
|
|
1135
1226
|
* @param {boolean} isHighlighted The highlight state.
|
|
@@ -1143,22 +1234,21 @@ export function toggleBlockHighlight(clientId, isHighlighted) {
|
|
|
1143
1234
|
};
|
|
1144
1235
|
}
|
|
1145
1236
|
/**
|
|
1146
|
-
*
|
|
1147
|
-
* given clientId should appear to "flash" by rhythmically highlighting it.
|
|
1237
|
+
* Action that "flashes" the block with a given `clientId` by rhythmically highlighting it.
|
|
1148
1238
|
*
|
|
1149
1239
|
* @param {string} clientId Target block client ID.
|
|
1150
1240
|
*/
|
|
1151
1241
|
|
|
1152
|
-
export
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
}
|
|
1242
|
+
export const flashBlock = clientId => async _ref20 => {
|
|
1243
|
+
let {
|
|
1244
|
+
dispatch
|
|
1245
|
+
} = _ref20;
|
|
1246
|
+
dispatch(toggleBlockHighlight(clientId, true));
|
|
1247
|
+
await new Promise(resolve => setTimeout(resolve, 150));
|
|
1248
|
+
dispatch(toggleBlockHighlight(clientId, false));
|
|
1249
|
+
};
|
|
1160
1250
|
/**
|
|
1161
|
-
*
|
|
1251
|
+
* Action that sets whether a block has controlled inner blocks.
|
|
1162
1252
|
*
|
|
1163
1253
|
* @param {string} clientId The block's clientId.
|
|
1164
1254
|
* @param {boolean} hasControlledInnerBlocks True if the block's inner blocks are controlled.
|