@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
|
@@ -46,14 +46,15 @@ var _store = require("../../store");
|
|
|
46
46
|
/**
|
|
47
47
|
* Internal dependencies
|
|
48
48
|
*/
|
|
49
|
-
const defaultRenderToggle =
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
const defaultRenderToggle = _ref => {
|
|
50
|
+
let {
|
|
51
|
+
onToggle,
|
|
52
|
+
disabled,
|
|
53
|
+
isOpen,
|
|
54
|
+
blockTitle,
|
|
55
|
+
hasSingleBlockType,
|
|
56
|
+
toggleProps = {}
|
|
57
|
+
} = _ref;
|
|
57
58
|
let label;
|
|
58
59
|
|
|
59
60
|
if (hasSingleBlockType) {
|
|
@@ -119,10 +120,11 @@ class Inserter extends _element.Component {
|
|
|
119
120
|
*/
|
|
120
121
|
|
|
121
122
|
|
|
122
|
-
renderToggle({
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
123
|
+
renderToggle(_ref2) {
|
|
124
|
+
let {
|
|
125
|
+
onToggle,
|
|
126
|
+
isOpen
|
|
127
|
+
} = _ref2;
|
|
126
128
|
const {
|
|
127
129
|
disabled,
|
|
128
130
|
blockTitle,
|
|
@@ -153,9 +155,10 @@ class Inserter extends _element.Component {
|
|
|
153
155
|
*/
|
|
154
156
|
|
|
155
157
|
|
|
156
|
-
renderContent({
|
|
157
|
-
|
|
158
|
-
|
|
158
|
+
renderContent(_ref3) {
|
|
159
|
+
let {
|
|
160
|
+
onClose
|
|
161
|
+
} = _ref3;
|
|
159
162
|
const {
|
|
160
163
|
rootClientId,
|
|
161
164
|
clientId,
|
|
@@ -221,10 +224,11 @@ class Inserter extends _element.Component {
|
|
|
221
224
|
|
|
222
225
|
}
|
|
223
226
|
|
|
224
|
-
var _default = (0, _compose.compose)([(0, _data.withSelect)((select, {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
227
|
+
var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref4) => {
|
|
228
|
+
let {
|
|
229
|
+
clientId,
|
|
230
|
+
rootClientId
|
|
231
|
+
} = _ref4;
|
|
228
232
|
const {
|
|
229
233
|
getBlockRootClientId,
|
|
230
234
|
hasInserterItems,
|
|
@@ -255,9 +259,10 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, {
|
|
|
255
259
|
directInsertBlock,
|
|
256
260
|
rootClientId
|
|
257
261
|
};
|
|
258
|
-
}), (0, _data.withDispatch)((dispatch, ownProps, {
|
|
259
|
-
|
|
260
|
-
|
|
262
|
+
}), (0, _data.withDispatch)((dispatch, ownProps, _ref5) => {
|
|
263
|
+
let {
|
|
264
|
+
select
|
|
265
|
+
} = _ref5;
|
|
261
266
|
return {
|
|
262
267
|
insertOnlyAllowedBlock() {
|
|
263
268
|
const {
|
|
@@ -315,12 +320,15 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, {
|
|
|
315
320
|
};
|
|
316
321
|
}), // The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as
|
|
317
322
|
// a way to detect the global Inserter.
|
|
318
|
-
(0, _compose.ifCondition)(
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
323
|
+
(0, _compose.ifCondition)(_ref6 => {
|
|
324
|
+
let {
|
|
325
|
+
hasItems,
|
|
326
|
+
isAppender,
|
|
327
|
+
rootClientId,
|
|
328
|
+
clientId
|
|
329
|
+
} = _ref6;
|
|
330
|
+
return hasItems || !isAppender && !rootClientId && !clientId;
|
|
331
|
+
})])(Inserter);
|
|
324
332
|
|
|
325
333
|
exports.default = _default;
|
|
326
334
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/index.js"],"names":["defaultRenderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","toggleProps","label","onClick","rest","handleClick","event","plus","Inserter","Component","constructor","arguments","bind","renderToggle","renderContent","props","directInsertBlock","hasItems","onClose","rootClientId","clientId","isAppender","showInserterHelpPanel","__experimentalIsQuick","isQuick","render","position","insertOnlyAllowedBlock","onSelectOrClose","length","select","getBlockRootClientId","hasInserterItems","__experimentalGetAllowedBlocks","__experimentalGetDirectInsertBlock","blockEditorStore","getBlockVariations","blocksStore","undefined","allowedBlocks","name","allowedBlockType","title","dispatch","ownProps","getInsertionIndex","getBlockIndex","getBlockSelectionEnd","getBlockOrder","end","insertBlock","blockToInsert","message"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { size } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport QuickInserter from './quick-inserter';\nimport { store as blockEditorStore } from '../../store';\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\tisOpen,\n\tblockTitle,\n\thasSingleBlockType,\n\ttoggleProps = {},\n} ) => {\n\tlet label;\n\tif ( hasSingleBlockType ) {\n\t\tlabel = sprintf(\n\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\tblockTitle\n\t\t);\n\t} else {\n\t\tlabel = _x( 'Add block', 'Generic label for block inserter button' );\n\t}\n\n\tconst { onClick, ...rest } = toggleProps;\n\n\t// Handle both onClick functions from the toggle and the parent component\n\tfunction handleClick( event ) {\n\t\tif ( onToggle ) {\n\t\t\tonToggle( event );\n\t\t}\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ticon={ plus }\n\t\t\tlabel={ label }\n\t\t\ttooltipPosition=\"bottom\"\n\t\t\tonClick={ handleClick }\n\t\t\tclassName=\"block-editor-inserter__toggle\"\n\t\t\taria-haspopup={ ! hasSingleBlockType ? 'true' : false }\n\t\t\taria-expanded={ ! hasSingleBlockType ? isOpen : false }\n\t\t\tdisabled={ disabled }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n};\n\nclass Inserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderToggle = this.renderToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { onToggle } = this.props;\n\n\t\t// Surface toggle callback to parent component\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown toggle element.\n\t */\n\trenderToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\thasItems,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t} = this.props;\n\n\t\treturn renderToggle( {\n\t\t\tonToggle,\n\t\t\tisOpen,\n\t\t\tdisabled: disabled || ! hasItems,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t *\n\t * @return {WPElement} Dropdown content element.\n\t */\n\trenderContent( { onClose } ) {\n\t\tconst {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tshowInserterHelpPanel,\n\n\t\t\t// This prop is experimental to give some time for the quick inserter to mature\n\t\t\t// Feel free to make them stable after a few releases.\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t} = this.props;\n\n\t\tif ( isQuick ) {\n\t\t\treturn (\n\t\t\t\t<QuickInserter\n\t\t\t\t\tonSelect={ () => {\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tonSelect={ () => {\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tposition,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\tinsertOnlyAllowedBlock,\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tonSelectOrClose,\n\t\t} = this.props;\n\n\t\tif ( hasSingleBlockType || directInsertBlock?.length ) {\n\t\t\treturn this.renderToggle( { onToggle: insertOnlyAllowedBlock } );\n\t\t}\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-editor-inserter\"\n\t\t\t\tcontentClassName={ classnames(\n\t\t\t\t\t'block-editor-inserter__popover',\n\t\t\t\t\t{ 'is-quick': isQuick }\n\t\t\t\t) }\n\t\t\t\tposition={ position }\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\texpandOnMobile\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\tonClose={ onSelectOrClose }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\thasInserterItems,\n\t\t\t__experimentalGetAllowedBlocks,\n\t\t\t__experimentalGetDirectInsertBlock,\n\t\t} = select( blockEditorStore );\n\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\trootClientId =\n\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\n\t\tconst allowedBlocks = __experimentalGetAllowedBlocks( rootClientId );\n\n\t\tconst directInsertBlock = __experimentalGetDirectInsertBlock(\n\t\t\trootClientId\n\t\t);\n\n\t\tconst hasSingleBlockType =\n\t\t\tsize( allowedBlocks ) === 1 &&\n\t\t\tsize(\n\t\t\t\tgetBlockVariations( allowedBlocks[ 0 ].name, 'inserter' )\n\t\t\t) === 0;\n\n\t\tlet allowedBlockType = false;\n\t\tif ( hasSingleBlockType ) {\n\t\t\tallowedBlockType = allowedBlocks[ 0 ];\n\t\t}\n\n\t\treturn {\n\t\t\thasItems: hasInserterItems( rootClientId ),\n\t\t\thasSingleBlockType,\n\t\t\tblockTitle: allowedBlockType ? allowedBlockType.title : '',\n\t\t\tallowedBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\trootClientId,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\treturn {\n\t\t\tinsertOnlyAllowedBlock() {\n\t\t\t\tconst {\n\t\t\t\t\trootClientId,\n\t\t\t\t\tclientId,\n\t\t\t\t\tisAppender,\n\t\t\t\t\thasSingleBlockType,\n\t\t\t\t\tallowedBlockType,\n\t\t\t\t\tdirectInsertBlock,\n\t\t\t\t\tonSelectOrClose,\n\t\t\t\t} = ownProps;\n\n\t\t\t\tif ( ! hasSingleBlockType && ! directInsertBlock?.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction getInsertionIndex() {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\t\tgetBlockSelectionEnd,\n\t\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\t\t\tif ( clientId ) {\n\t\t\t\t\t\treturn getBlockIndex( clientId, rootClientId );\n\t\t\t\t\t}\n\n\t\t\t\t\t// If there a selected block, we insert after the selected block.\n\t\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAppender &&\n\t\t\t\t\t\tend &&\n\t\t\t\t\t\tgetBlockRootClientId( end ) === rootClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn getBlockIndex( end, rootClientId ) + 1;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Otherwise, we insert at the end of the current rootClientId\n\t\t\t\t\treturn getBlockOrder( rootClientId ).length;\n\t\t\t\t}\n\n\t\t\t\tconst { insertBlock } = dispatch( blockEditorStore );\n\n\t\t\t\tconst blockToInsert = directInsertBlock?.length\n\t\t\t\t\t? createBlock( ...directInsertBlock )\n\t\t\t\t\t: createBlock( allowedBlockType.name );\n\n\t\t\t\tinsertBlock( blockToInsert, getInsertionIndex(), rootClientId );\n\n\t\t\t\tif ( onSelectOrClose ) {\n\t\t\t\t\tonSelectOrClose();\n\t\t\t\t}\n\n\t\t\t\tconst message = sprintf(\n\t\t\t\t\t// translators: %s: the name of the block that has been added\n\t\t\t\t\t__( '%s block added' ),\n\t\t\t\t\tallowedBlockType.title\n\t\t\t\t);\n\t\t\t\tspeak( message );\n\t\t\t},\n\t\t};\n\t} ),\n\t// The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as\n\t// a way to detect the global Inserter.\n\tifCondition(\n\t\t( { hasItems, isAppender, rootClientId, clientId } ) =>\n\t\t\thasItems || ( ! isAppender && ! rootClientId && ! clientId )\n\t),\n] )( Inserter );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/index.js"],"names":["defaultRenderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","toggleProps","label","onClick","rest","handleClick","event","plus","Inserter","Component","constructor","arguments","bind","renderToggle","renderContent","props","directInsertBlock","hasItems","onClose","rootClientId","clientId","isAppender","showInserterHelpPanel","__experimentalIsQuick","isQuick","render","position","insertOnlyAllowedBlock","onSelectOrClose","length","select","getBlockRootClientId","hasInserterItems","__experimentalGetAllowedBlocks","__experimentalGetDirectInsertBlock","blockEditorStore","getBlockVariations","blocksStore","undefined","allowedBlocks","name","allowedBlockType","title","dispatch","ownProps","getInsertionIndex","getBlockIndex","getBlockSelectionEnd","getBlockOrder","end","insertBlock","blockToInsert","message"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { size } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport QuickInserter from './quick-inserter';\nimport { store as blockEditorStore } from '../../store';\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\tisOpen,\n\tblockTitle,\n\thasSingleBlockType,\n\ttoggleProps = {},\n} ) => {\n\tlet label;\n\tif ( hasSingleBlockType ) {\n\t\tlabel = sprintf(\n\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\tblockTitle\n\t\t);\n\t} else {\n\t\tlabel = _x( 'Add block', 'Generic label for block inserter button' );\n\t}\n\n\tconst { onClick, ...rest } = toggleProps;\n\n\t// Handle both onClick functions from the toggle and the parent component\n\tfunction handleClick( event ) {\n\t\tif ( onToggle ) {\n\t\t\tonToggle( event );\n\t\t}\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ticon={ plus }\n\t\t\tlabel={ label }\n\t\t\ttooltipPosition=\"bottom\"\n\t\t\tonClick={ handleClick }\n\t\t\tclassName=\"block-editor-inserter__toggle\"\n\t\t\taria-haspopup={ ! hasSingleBlockType ? 'true' : false }\n\t\t\taria-expanded={ ! hasSingleBlockType ? isOpen : false }\n\t\t\tdisabled={ disabled }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n};\n\nclass Inserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderToggle = this.renderToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { onToggle } = this.props;\n\n\t\t// Surface toggle callback to parent component\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown toggle element.\n\t */\n\trenderToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\thasItems,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t} = this.props;\n\n\t\treturn renderToggle( {\n\t\t\tonToggle,\n\t\t\tisOpen,\n\t\t\tdisabled: disabled || ! hasItems,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t *\n\t * @return {WPElement} Dropdown content element.\n\t */\n\trenderContent( { onClose } ) {\n\t\tconst {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tshowInserterHelpPanel,\n\n\t\t\t// This prop is experimental to give some time for the quick inserter to mature\n\t\t\t// Feel free to make them stable after a few releases.\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t} = this.props;\n\n\t\tif ( isQuick ) {\n\t\t\treturn (\n\t\t\t\t<QuickInserter\n\t\t\t\t\tonSelect={ () => {\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tonSelect={ () => {\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tposition,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\tinsertOnlyAllowedBlock,\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tonSelectOrClose,\n\t\t} = this.props;\n\n\t\tif ( hasSingleBlockType || directInsertBlock?.length ) {\n\t\t\treturn this.renderToggle( { onToggle: insertOnlyAllowedBlock } );\n\t\t}\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-editor-inserter\"\n\t\t\t\tcontentClassName={ classnames(\n\t\t\t\t\t'block-editor-inserter__popover',\n\t\t\t\t\t{ 'is-quick': isQuick }\n\t\t\t\t) }\n\t\t\t\tposition={ position }\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\texpandOnMobile\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\tonClose={ onSelectOrClose }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\thasInserterItems,\n\t\t\t__experimentalGetAllowedBlocks,\n\t\t\t__experimentalGetDirectInsertBlock,\n\t\t} = select( blockEditorStore );\n\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\trootClientId =\n\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\n\t\tconst allowedBlocks = __experimentalGetAllowedBlocks( rootClientId );\n\n\t\tconst directInsertBlock = __experimentalGetDirectInsertBlock(\n\t\t\trootClientId\n\t\t);\n\n\t\tconst hasSingleBlockType =\n\t\t\tsize( allowedBlocks ) === 1 &&\n\t\t\tsize(\n\t\t\t\tgetBlockVariations( allowedBlocks[ 0 ].name, 'inserter' )\n\t\t\t) === 0;\n\n\t\tlet allowedBlockType = false;\n\t\tif ( hasSingleBlockType ) {\n\t\t\tallowedBlockType = allowedBlocks[ 0 ];\n\t\t}\n\n\t\treturn {\n\t\t\thasItems: hasInserterItems( rootClientId ),\n\t\t\thasSingleBlockType,\n\t\t\tblockTitle: allowedBlockType ? allowedBlockType.title : '',\n\t\t\tallowedBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\trootClientId,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\treturn {\n\t\t\tinsertOnlyAllowedBlock() {\n\t\t\t\tconst {\n\t\t\t\t\trootClientId,\n\t\t\t\t\tclientId,\n\t\t\t\t\tisAppender,\n\t\t\t\t\thasSingleBlockType,\n\t\t\t\t\tallowedBlockType,\n\t\t\t\t\tdirectInsertBlock,\n\t\t\t\t\tonSelectOrClose,\n\t\t\t\t} = ownProps;\n\n\t\t\t\tif ( ! hasSingleBlockType && ! directInsertBlock?.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction getInsertionIndex() {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\t\tgetBlockSelectionEnd,\n\t\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\t\t\tif ( clientId ) {\n\t\t\t\t\t\treturn getBlockIndex( clientId, rootClientId );\n\t\t\t\t\t}\n\n\t\t\t\t\t// If there a selected block, we insert after the selected block.\n\t\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAppender &&\n\t\t\t\t\t\tend &&\n\t\t\t\t\t\tgetBlockRootClientId( end ) === rootClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn getBlockIndex( end, rootClientId ) + 1;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Otherwise, we insert at the end of the current rootClientId\n\t\t\t\t\treturn getBlockOrder( rootClientId ).length;\n\t\t\t\t}\n\n\t\t\t\tconst { insertBlock } = dispatch( blockEditorStore );\n\n\t\t\t\tconst blockToInsert = directInsertBlock?.length\n\t\t\t\t\t? createBlock( ...directInsertBlock )\n\t\t\t\t\t: createBlock( allowedBlockType.name );\n\n\t\t\t\tinsertBlock( blockToInsert, getInsertionIndex(), rootClientId );\n\n\t\t\t\tif ( onSelectOrClose ) {\n\t\t\t\t\tonSelectOrClose();\n\t\t\t\t}\n\n\t\t\t\tconst message = sprintf(\n\t\t\t\t\t// translators: %s: the name of the block that has been added\n\t\t\t\t\t__( '%s block added' ),\n\t\t\t\t\tallowedBlockType.title\n\t\t\t\t);\n\t\t\t\tspeak( message );\n\t\t\t},\n\t\t};\n\t} ),\n\t// The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as\n\t// a way to detect the global Inserter.\n\tifCondition(\n\t\t( { hasItems, isAppender, rootClientId, clientId } ) =>\n\t\t\thasItems || ( ! isAppender && ! rootClientId && ! clientId )\n\t),\n] )( Inserter );\n"]}
|
|
@@ -48,28 +48,31 @@ var _store = require("../../store");
|
|
|
48
48
|
*/
|
|
49
49
|
const VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;
|
|
50
50
|
|
|
51
|
-
const defaultRenderToggle =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}) => (0, _element.createElement)(_components.ToolbarButton, {
|
|
57
|
-
title: (0, _i18n.__)('Add block'),
|
|
58
|
-
icon: (0, _element.createElement)(_icons.Icon, {
|
|
59
|
-
icon: _icons.plusCircleFilled,
|
|
60
|
-
style: style,
|
|
61
|
-
color: style.color
|
|
62
|
-
}),
|
|
63
|
-
onClick: onToggle,
|
|
64
|
-
extraProps: {
|
|
65
|
-
hint: (0, _i18n.__)('Double tap to add a block'),
|
|
66
|
-
// testID is present to disambiguate this element for native UI tests. It's not
|
|
67
|
-
// usually required for components. See: https://git.io/JeQ7G.
|
|
68
|
-
testID: 'add-block-button',
|
|
51
|
+
const defaultRenderToggle = _ref => {
|
|
52
|
+
let {
|
|
53
|
+
onToggle,
|
|
54
|
+
disabled,
|
|
55
|
+
style,
|
|
69
56
|
onLongPress
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
|
|
57
|
+
} = _ref;
|
|
58
|
+
return (0, _element.createElement)(_components.ToolbarButton, {
|
|
59
|
+
title: (0, _i18n.__)('Add block'),
|
|
60
|
+
icon: (0, _element.createElement)(_icons.Icon, {
|
|
61
|
+
icon: _icons.plusCircleFilled,
|
|
62
|
+
style: style,
|
|
63
|
+
color: style.color
|
|
64
|
+
}),
|
|
65
|
+
onClick: onToggle,
|
|
66
|
+
extraProps: {
|
|
67
|
+
hint: (0, _i18n.__)('Double tap to add a block'),
|
|
68
|
+
// testID is present to disambiguate this element for native UI tests. It's not
|
|
69
|
+
// usually required for components. See: https://git.io/JeQ7G.
|
|
70
|
+
testID: 'add-block-button',
|
|
71
|
+
onLongPress
|
|
72
|
+
},
|
|
73
|
+
isDisabled: disabled
|
|
74
|
+
});
|
|
75
|
+
};
|
|
73
76
|
|
|
74
77
|
class Inserter extends _element.Component {
|
|
75
78
|
constructor() {
|
|
@@ -176,9 +179,12 @@ class Inserter extends _element.Component {
|
|
|
176
179
|
const impressionsRemain = Object.values(blockTypeImpressions).some(count => count > 0);
|
|
177
180
|
|
|
178
181
|
if (impressionsRemain) {
|
|
179
|
-
const decrementedImpressions = Object.entries(blockTypeImpressions).reduce((acc,
|
|
180
|
-
[blockName
|
|
181
|
-
|
|
182
|
+
const decrementedImpressions = Object.entries(blockTypeImpressions).reduce((acc, _ref2) => {
|
|
183
|
+
let [blockName, count] = _ref2;
|
|
184
|
+
return { ...acc,
|
|
185
|
+
[blockName]: Math.max(count - 1, 0)
|
|
186
|
+
};
|
|
187
|
+
}, {}); // Persist block type impression to JavaScript store
|
|
182
188
|
|
|
183
189
|
updateSettings({
|
|
184
190
|
impressions: decrementedImpressions
|
|
@@ -217,10 +223,11 @@ class Inserter extends _element.Component {
|
|
|
217
223
|
*/
|
|
218
224
|
|
|
219
225
|
|
|
220
|
-
renderInserterToggle({
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
226
|
+
renderInserterToggle(_ref3) {
|
|
227
|
+
let {
|
|
228
|
+
onToggle,
|
|
229
|
+
isOpen
|
|
230
|
+
} = _ref3;
|
|
224
231
|
const {
|
|
225
232
|
disabled,
|
|
226
233
|
renderToggle = defaultRenderToggle,
|
|
@@ -281,10 +288,11 @@ class Inserter extends _element.Component {
|
|
|
281
288
|
*/
|
|
282
289
|
|
|
283
290
|
|
|
284
|
-
renderContent({
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
291
|
+
renderContent(_ref4) {
|
|
292
|
+
let {
|
|
293
|
+
onClose,
|
|
294
|
+
isOpen
|
|
295
|
+
} = _ref4;
|
|
288
296
|
const {
|
|
289
297
|
clientId,
|
|
290
298
|
isAppender
|
|
@@ -326,11 +334,12 @@ var _default = (0, _compose.compose)([(0, _data.withDispatch)(dispatch => {
|
|
|
326
334
|
return {
|
|
327
335
|
updateSettings
|
|
328
336
|
};
|
|
329
|
-
}), (0, _data.withSelect)((select, {
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
337
|
+
}), (0, _data.withSelect)((select, _ref5) => {
|
|
338
|
+
let {
|
|
339
|
+
clientId,
|
|
340
|
+
isAppender,
|
|
341
|
+
rootClientId
|
|
342
|
+
} = _ref5;
|
|
334
343
|
const {
|
|
335
344
|
getBlockRootClientId,
|
|
336
345
|
getBlockSelectionEnd,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/index.native.js"],"names":["VOICE_OVER_ANNOUNCEMENT_DELAY","defaultRenderToggle","onToggle","disabled","style","onLongPress","plusCircleFilled","color","hint","testID","Inserter","Component","constructor","arguments","bind","renderInserterToggle","renderContent","getInsertionOptions","addBeforeOption","value","label","icon","plusCircle","replaceCurrentOption","addAfterOption","addToBeginningOption","insertBefore","addToEndOption","insertAfter","isAnyBlockSelected","isSelectedBlockReplaceable","props","getInsertionIndex","insertionType","insertionIndexDefault","insertionIndexStart","insertionIndexBefore","insertionIndexAfter","insertionIndexEnd","shouldReplaceBlock","isOpen","blockTypeImpressions","updateSettings","impressionsRemain","Object","values","some","count","decrementedImpressions","entries","reduce","acc","blockName","Math","max","impressions","onInserterToggledAnnouncement","AccessibilityInfo","isScreenReaderEnabled","done","isEnabled","isIOS","Platform","OS","announcement","announceForAccessibility","renderToggle","getStylesFromColorScheme","showSeparator","styles","addBlockButton","addBlockButtonDark","onPress","setState","destinationRootClientId","insertionIndex","picker","presentPicker","onPickerSelect","instance","onClose","clientId","isAppender","state","render","dispatch","blockEditorStore","select","rootClientId","getBlockRootClientId","getBlockSelectionEnd","getBlockOrder","getBlockIndex","getBlock","getSettings","getBlockEditorSettings","end","selectedBlockIndex","endOfRootIndex","length","isSelectedUnmodifiedDefaultBlock","undefined","getDefaultInsertionIndex","__experimentalShouldInsertAtTheTop","shouldInsertAtTheTop","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, Platform } from 'react-native';\nimport { delay } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Dropdown, ToolbarButton, Picker } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport {\n\tIcon,\n\tplusCircle,\n\tplusCircleFilled,\n\tinsertAfter,\n\tinsertBefore,\n} from '@wordpress/icons';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport InserterMenu from './menu';\nimport BlockInsertionPoint from '../block-list/insertion-point';\nimport { store as blockEditorStore } from '../../store';\n\nconst VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;\n\nconst defaultRenderToggle = ( { onToggle, disabled, style, onLongPress } ) => (\n\t<ToolbarButton\n\t\ttitle={ __( 'Add block' ) }\n\t\ticon={\n\t\t\t<Icon\n\t\t\t\ticon={ plusCircleFilled }\n\t\t\t\tstyle={ style }\n\t\t\t\tcolor={ style.color }\n\t\t\t/>\n\t\t}\n\t\tonClick={ onToggle }\n\t\textraProps={ {\n\t\t\thint: __( 'Double tap to add a block' ),\n\t\t\t// testID is present to disambiguate this element for native UI tests. It's not\n\t\t\t// usually required for components. See: https://git.io/JeQ7G.\n\t\t\ttestID: 'add-block-button',\n\t\t\tonLongPress,\n\t\t} }\n\t\tisDisabled={ disabled }\n\t/>\n);\n\nexport class Inserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderInserterToggle = this.renderInserterToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tgetInsertionOptions() {\n\t\tconst addBeforeOption = {\n\t\t\tvalue: 'before',\n\t\t\tlabel: __( 'Add Block Before' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst replaceCurrentOption = {\n\t\t\tvalue: 'replace',\n\t\t\tlabel: __( 'Replace Current Block' ),\n\t\t\ticon: plusCircleFilled,\n\t\t};\n\n\t\tconst addAfterOption = {\n\t\t\tvalue: 'after',\n\t\t\tlabel: __( 'Add Block After' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst addToBeginningOption = {\n\t\t\tvalue: 'start',\n\t\t\tlabel: __( 'Add To Beginning' ),\n\t\t\ticon: insertBefore,\n\t\t};\n\n\t\tconst addToEndOption = {\n\t\t\tvalue: 'end',\n\t\t\tlabel: __( 'Add To End' ),\n\t\t\ticon: insertAfter,\n\t\t};\n\n\t\tconst { isAnyBlockSelected, isSelectedBlockReplaceable } = this.props;\n\t\tif ( isAnyBlockSelected ) {\n\t\t\tif ( isSelectedBlockReplaceable ) {\n\t\t\t\treturn [\n\t\t\t\t\taddToBeginningOption,\n\t\t\t\t\taddBeforeOption,\n\t\t\t\t\treplaceCurrentOption,\n\t\t\t\t\taddAfterOption,\n\t\t\t\t\taddToEndOption,\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [\n\t\t\t\taddToBeginningOption,\n\t\t\t\taddBeforeOption,\n\t\t\t\taddAfterOption,\n\t\t\t\taddToEndOption,\n\t\t\t];\n\t\t}\n\t\treturn [ addToBeginningOption, addToEndOption ];\n\t}\n\n\tgetInsertionIndex( insertionType ) {\n\t\tconst {\n\t\t\tinsertionIndexDefault,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexEnd,\n\t\t} = this.props;\n\t\tif ( insertionType === 'start' ) {\n\t\t\treturn insertionIndexStart;\n\t\t}\n\t\tif ( insertionType === 'before' || insertionType === 'replace' ) {\n\t\t\treturn insertionIndexBefore;\n\t\t}\n\t\tif ( insertionType === 'after' ) {\n\t\t\treturn insertionIndexAfter;\n\t\t}\n\t\tif ( insertionType === 'end' ) {\n\t\t\treturn insertionIndexEnd;\n\t\t}\n\t\treturn insertionIndexDefault;\n\t}\n\n\tshouldReplaceBlock( insertionType ) {\n\t\tconst { isSelectedBlockReplaceable } = this.props;\n\t\tif ( insertionType === 'replace' ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( insertionType === 'default' && isSelectedBlockReplaceable ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { blockTypeImpressions, onToggle, updateSettings } = this.props;\n\n\t\tif ( ! isOpen ) {\n\t\t\tconst impressionsRemain = Object.values(\n\t\t\t\tblockTypeImpressions\n\t\t\t).some( ( count ) => count > 0 );\n\n\t\t\tif ( impressionsRemain ) {\n\t\t\t\tconst decrementedImpressions = Object.entries(\n\t\t\t\t\tblockTypeImpressions\n\t\t\t\t).reduce(\n\t\t\t\t\t( acc, [ blockName, count ] ) => ( {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ blockName ]: Math.max( count - 1, 0 ),\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\t// Persist block type impression to JavaScript store\n\t\t\t\tupdateSettings( {\n\t\t\t\t\timpressions: decrementedImpressions,\n\t\t\t\t} );\n\n\t\t\t\t// Persist block type impression count to native app store\n\t\t\t\tsetBlockTypeImpressions( decrementedImpressions );\n\t\t\t}\n\t\t}\n\n\t\t// Surface toggle callback to parent component\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t\tthis.onInserterToggledAnnouncement( isOpen );\n\t}\n\n\tonInserterToggledAnnouncement( isOpen ) {\n\t\tAccessibilityInfo.isScreenReaderEnabled().done( ( isEnabled ) => {\n\t\t\tif ( isEnabled ) {\n\t\t\t\tconst isIOS = Platform.OS === 'ios';\n\t\t\t\tconst announcement = isOpen\n\t\t\t\t\t? __( 'Scrollable block menu opened. Select a block.' )\n\t\t\t\t\t: __( 'Scrollable block menu closed.' );\n\t\t\t\tdelay(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t\t\tannouncement\n\t\t\t\t\t\t),\n\t\t\t\t\tisIOS ? VOICE_OVER_ANNOUNCEMENT_DELAY : 0\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown toggle element.\n\t */\n\trenderInserterToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tshowSeparator,\n\t\t} = this.props;\n\t\tif ( showSeparator && isOpen ) {\n\t\t\treturn <BlockInsertionPoint />;\n\t\t}\n\t\tconst style = getStylesFromColorScheme(\n\t\t\tstyles.addBlockButton,\n\t\t\tstyles.addBlockButtonDark\n\t\t);\n\n\t\tconst onPress = () => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock( 'default' ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( 'default' ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\tconst onLongPress = () => {\n\t\t\tif ( this.picker ) {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t};\n\n\t\tconst onPickerSelect = ( insertionType ) => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock(\n\t\t\t\t\t\tinsertionType\n\t\t\t\t\t),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( insertionType ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ renderToggle( {\n\t\t\t\t\tonToggle: onPress,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tdisabled,\n\t\t\t\t\tstyle,\n\t\t\t\t\tonLongPress,\n\t\t\t\t} ) }\n\t\t\t\t<Picker\n\t\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\t\toptions={ this.getInsertionOptions() }\n\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown content element.\n\t */\n\trenderContent( { onClose, isOpen } ) {\n\t\tconst { clientId, isAppender } = this.props;\n\t\tconst {\n\t\t\tdestinationRootClientId,\n\t\t\tshouldReplaceBlock,\n\t\t\tinsertionIndex,\n\t\t} = this.state;\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tisOpen={ isOpen }\n\t\t\t\tonSelect={ onClose }\n\t\t\t\tonDismiss={ onClose }\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshouldReplaceBlock={ shouldReplaceBlock }\n\t\t\t\tinsertionIndex={ insertionIndex }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderInserterToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { updateSettings } = dispatch( blockEditorStore );\n\t\treturn { updateSettings };\n\t} ),\n\twithSelect( ( select, { clientId, isAppender, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockIndex,\n\t\t\tgetBlock,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst end = getBlockSelectionEnd();\n\t\t// `end` argument (id) can refer to the component which is removed\n\t\t// due to pressing `undo` button, that's why we need to check\n\t\t// if `getBlock( end) is valid, otherwise `null` is passed\n\t\tconst isAnyBlockSelected = ! isAppender && end && getBlock( end );\n\t\tconst destinationRootClientId = isAnyBlockSelected\n\t\t\t? getBlockRootClientId( end )\n\t\t\t: rootClientId;\n\t\tconst selectedBlockIndex = getBlockIndex(\n\t\t\tend,\n\t\t\tdestinationRootClientId\n\t\t);\n\t\tconst endOfRootIndex = getBlockOrder( rootClientId ).length;\n\t\tconst isSelectedUnmodifiedDefaultBlock = isAnyBlockSelected\n\t\t\t? isUnmodifiedDefaultBlock( getBlock( end ) )\n\t\t\t: undefined;\n\n\t\tfunction getDefaultInsertionIndex() {\n\t\t\tconst {\n\t\t\t\t__experimentalShouldInsertAtTheTop: shouldInsertAtTheTop,\n\t\t\t} = getBlockEditorSettings();\n\n\t\t\t// if post title is selected insert as first block\n\t\t\tif ( shouldInsertAtTheTop ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\tif ( clientId ) {\n\t\t\t\treturn getBlockIndex( clientId, rootClientId );\n\t\t\t}\n\n\t\t\t// If there is a selected block,\n\t\t\tif ( isAnyBlockSelected ) {\n\t\t\t\t// and the last selected block is unmodified (empty), it will be replaced\n\t\t\t\tif ( isSelectedUnmodifiedDefaultBlock ) {\n\t\t\t\t\treturn selectedBlockIndex;\n\t\t\t\t}\n\n\t\t\t\t// we insert after the selected block.\n\t\t\t\treturn selectedBlockIndex + 1;\n\t\t\t}\n\n\t\t\t// Otherwise, we insert at the end of the current rootClientId\n\t\t\treturn endOfRootIndex;\n\t\t}\n\n\t\tconst insertionIndexStart = 0;\n\n\t\tconst insertionIndexBefore = isAnyBlockSelected\n\t\t\t? selectedBlockIndex\n\t\t\t: insertionIndexStart;\n\n\t\tconst insertionIndexAfter = isAnyBlockSelected\n\t\t\t? selectedBlockIndex + 1\n\t\t\t: endOfRootIndex;\n\n\t\tconst insertionIndexEnd = endOfRootIndex;\n\n\t\treturn {\n\t\t\tblockTypeImpressions: getBlockEditorSettings().impressions,\n\t\t\tdestinationRootClientId,\n\t\t\tinsertionIndexDefault: getDefaultInsertionIndex(),\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexEnd,\n\t\t\tisAnyBlockSelected: !! isAnyBlockSelected,\n\t\t\tisSelectedBlockReplaceable: isSelectedUnmodifiedDefaultBlock,\n\t\t};\n\t} ),\n\n\twithPreferredColorScheme,\n] )( Inserter );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/index.native.js"],"names":["VOICE_OVER_ANNOUNCEMENT_DELAY","defaultRenderToggle","onToggle","disabled","style","onLongPress","plusCircleFilled","color","hint","testID","Inserter","Component","constructor","arguments","bind","renderInserterToggle","renderContent","getInsertionOptions","addBeforeOption","value","label","icon","plusCircle","replaceCurrentOption","addAfterOption","addToBeginningOption","insertBefore","addToEndOption","insertAfter","isAnyBlockSelected","isSelectedBlockReplaceable","props","getInsertionIndex","insertionType","insertionIndexDefault","insertionIndexStart","insertionIndexBefore","insertionIndexAfter","insertionIndexEnd","shouldReplaceBlock","isOpen","blockTypeImpressions","updateSettings","impressionsRemain","Object","values","some","count","decrementedImpressions","entries","reduce","acc","blockName","Math","max","impressions","onInserterToggledAnnouncement","AccessibilityInfo","isScreenReaderEnabled","done","isEnabled","isIOS","Platform","OS","announcement","announceForAccessibility","renderToggle","getStylesFromColorScheme","showSeparator","styles","addBlockButton","addBlockButtonDark","onPress","setState","destinationRootClientId","insertionIndex","picker","presentPicker","onPickerSelect","instance","onClose","clientId","isAppender","state","render","dispatch","blockEditorStore","select","rootClientId","getBlockRootClientId","getBlockSelectionEnd","getBlockOrder","getBlockIndex","getBlock","getSettings","getBlockEditorSettings","end","selectedBlockIndex","endOfRootIndex","length","isSelectedUnmodifiedDefaultBlock","undefined","getDefaultInsertionIndex","__experimentalShouldInsertAtTheTop","shouldInsertAtTheTop","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, Platform } from 'react-native';\nimport { delay } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Dropdown, ToolbarButton, Picker } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport {\n\tIcon,\n\tplusCircle,\n\tplusCircleFilled,\n\tinsertAfter,\n\tinsertBefore,\n} from '@wordpress/icons';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport InserterMenu from './menu';\nimport BlockInsertionPoint from '../block-list/insertion-point';\nimport { store as blockEditorStore } from '../../store';\n\nconst VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;\n\nconst defaultRenderToggle = ( { onToggle, disabled, style, onLongPress } ) => (\n\t<ToolbarButton\n\t\ttitle={ __( 'Add block' ) }\n\t\ticon={\n\t\t\t<Icon\n\t\t\t\ticon={ plusCircleFilled }\n\t\t\t\tstyle={ style }\n\t\t\t\tcolor={ style.color }\n\t\t\t/>\n\t\t}\n\t\tonClick={ onToggle }\n\t\textraProps={ {\n\t\t\thint: __( 'Double tap to add a block' ),\n\t\t\t// testID is present to disambiguate this element for native UI tests. It's not\n\t\t\t// usually required for components. See: https://git.io/JeQ7G.\n\t\t\ttestID: 'add-block-button',\n\t\t\tonLongPress,\n\t\t} }\n\t\tisDisabled={ disabled }\n\t/>\n);\n\nexport class Inserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderInserterToggle = this.renderInserterToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tgetInsertionOptions() {\n\t\tconst addBeforeOption = {\n\t\t\tvalue: 'before',\n\t\t\tlabel: __( 'Add Block Before' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst replaceCurrentOption = {\n\t\t\tvalue: 'replace',\n\t\t\tlabel: __( 'Replace Current Block' ),\n\t\t\ticon: plusCircleFilled,\n\t\t};\n\n\t\tconst addAfterOption = {\n\t\t\tvalue: 'after',\n\t\t\tlabel: __( 'Add Block After' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst addToBeginningOption = {\n\t\t\tvalue: 'start',\n\t\t\tlabel: __( 'Add To Beginning' ),\n\t\t\ticon: insertBefore,\n\t\t};\n\n\t\tconst addToEndOption = {\n\t\t\tvalue: 'end',\n\t\t\tlabel: __( 'Add To End' ),\n\t\t\ticon: insertAfter,\n\t\t};\n\n\t\tconst { isAnyBlockSelected, isSelectedBlockReplaceable } = this.props;\n\t\tif ( isAnyBlockSelected ) {\n\t\t\tif ( isSelectedBlockReplaceable ) {\n\t\t\t\treturn [\n\t\t\t\t\taddToBeginningOption,\n\t\t\t\t\taddBeforeOption,\n\t\t\t\t\treplaceCurrentOption,\n\t\t\t\t\taddAfterOption,\n\t\t\t\t\taddToEndOption,\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [\n\t\t\t\taddToBeginningOption,\n\t\t\t\taddBeforeOption,\n\t\t\t\taddAfterOption,\n\t\t\t\taddToEndOption,\n\t\t\t];\n\t\t}\n\t\treturn [ addToBeginningOption, addToEndOption ];\n\t}\n\n\tgetInsertionIndex( insertionType ) {\n\t\tconst {\n\t\t\tinsertionIndexDefault,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexEnd,\n\t\t} = this.props;\n\t\tif ( insertionType === 'start' ) {\n\t\t\treturn insertionIndexStart;\n\t\t}\n\t\tif ( insertionType === 'before' || insertionType === 'replace' ) {\n\t\t\treturn insertionIndexBefore;\n\t\t}\n\t\tif ( insertionType === 'after' ) {\n\t\t\treturn insertionIndexAfter;\n\t\t}\n\t\tif ( insertionType === 'end' ) {\n\t\t\treturn insertionIndexEnd;\n\t\t}\n\t\treturn insertionIndexDefault;\n\t}\n\n\tshouldReplaceBlock( insertionType ) {\n\t\tconst { isSelectedBlockReplaceable } = this.props;\n\t\tif ( insertionType === 'replace' ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( insertionType === 'default' && isSelectedBlockReplaceable ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { blockTypeImpressions, onToggle, updateSettings } = this.props;\n\n\t\tif ( ! isOpen ) {\n\t\t\tconst impressionsRemain = Object.values(\n\t\t\t\tblockTypeImpressions\n\t\t\t).some( ( count ) => count > 0 );\n\n\t\t\tif ( impressionsRemain ) {\n\t\t\t\tconst decrementedImpressions = Object.entries(\n\t\t\t\t\tblockTypeImpressions\n\t\t\t\t).reduce(\n\t\t\t\t\t( acc, [ blockName, count ] ) => ( {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ blockName ]: Math.max( count - 1, 0 ),\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\t// Persist block type impression to JavaScript store\n\t\t\t\tupdateSettings( {\n\t\t\t\t\timpressions: decrementedImpressions,\n\t\t\t\t} );\n\n\t\t\t\t// Persist block type impression count to native app store\n\t\t\t\tsetBlockTypeImpressions( decrementedImpressions );\n\t\t\t}\n\t\t}\n\n\t\t// Surface toggle callback to parent component\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t\tthis.onInserterToggledAnnouncement( isOpen );\n\t}\n\n\tonInserterToggledAnnouncement( isOpen ) {\n\t\tAccessibilityInfo.isScreenReaderEnabled().done( ( isEnabled ) => {\n\t\t\tif ( isEnabled ) {\n\t\t\t\tconst isIOS = Platform.OS === 'ios';\n\t\t\t\tconst announcement = isOpen\n\t\t\t\t\t? __( 'Scrollable block menu opened. Select a block.' )\n\t\t\t\t\t: __( 'Scrollable block menu closed.' );\n\t\t\t\tdelay(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t\t\tannouncement\n\t\t\t\t\t\t),\n\t\t\t\t\tisIOS ? VOICE_OVER_ANNOUNCEMENT_DELAY : 0\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown toggle element.\n\t */\n\trenderInserterToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tshowSeparator,\n\t\t} = this.props;\n\t\tif ( showSeparator && isOpen ) {\n\t\t\treturn <BlockInsertionPoint />;\n\t\t}\n\t\tconst style = getStylesFromColorScheme(\n\t\t\tstyles.addBlockButton,\n\t\t\tstyles.addBlockButtonDark\n\t\t);\n\n\t\tconst onPress = () => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock( 'default' ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( 'default' ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\tconst onLongPress = () => {\n\t\t\tif ( this.picker ) {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t};\n\n\t\tconst onPickerSelect = ( insertionType ) => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock(\n\t\t\t\t\t\tinsertionType\n\t\t\t\t\t),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( insertionType ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ renderToggle( {\n\t\t\t\t\tonToggle: onPress,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tdisabled,\n\t\t\t\t\tstyle,\n\t\t\t\t\tonLongPress,\n\t\t\t\t} ) }\n\t\t\t\t<Picker\n\t\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\t\toptions={ this.getInsertionOptions() }\n\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown content element.\n\t */\n\trenderContent( { onClose, isOpen } ) {\n\t\tconst { clientId, isAppender } = this.props;\n\t\tconst {\n\t\t\tdestinationRootClientId,\n\t\t\tshouldReplaceBlock,\n\t\t\tinsertionIndex,\n\t\t} = this.state;\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tisOpen={ isOpen }\n\t\t\t\tonSelect={ onClose }\n\t\t\t\tonDismiss={ onClose }\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshouldReplaceBlock={ shouldReplaceBlock }\n\t\t\t\tinsertionIndex={ insertionIndex }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderInserterToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { updateSettings } = dispatch( blockEditorStore );\n\t\treturn { updateSettings };\n\t} ),\n\twithSelect( ( select, { clientId, isAppender, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockIndex,\n\t\t\tgetBlock,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst end = getBlockSelectionEnd();\n\t\t// `end` argument (id) can refer to the component which is removed\n\t\t// due to pressing `undo` button, that's why we need to check\n\t\t// if `getBlock( end) is valid, otherwise `null` is passed\n\t\tconst isAnyBlockSelected = ! isAppender && end && getBlock( end );\n\t\tconst destinationRootClientId = isAnyBlockSelected\n\t\t\t? getBlockRootClientId( end )\n\t\t\t: rootClientId;\n\t\tconst selectedBlockIndex = getBlockIndex(\n\t\t\tend,\n\t\t\tdestinationRootClientId\n\t\t);\n\t\tconst endOfRootIndex = getBlockOrder( rootClientId ).length;\n\t\tconst isSelectedUnmodifiedDefaultBlock = isAnyBlockSelected\n\t\t\t? isUnmodifiedDefaultBlock( getBlock( end ) )\n\t\t\t: undefined;\n\n\t\tfunction getDefaultInsertionIndex() {\n\t\t\tconst {\n\t\t\t\t__experimentalShouldInsertAtTheTop: shouldInsertAtTheTop,\n\t\t\t} = getBlockEditorSettings();\n\n\t\t\t// if post title is selected insert as first block\n\t\t\tif ( shouldInsertAtTheTop ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\tif ( clientId ) {\n\t\t\t\treturn getBlockIndex( clientId, rootClientId );\n\t\t\t}\n\n\t\t\t// If there is a selected block,\n\t\t\tif ( isAnyBlockSelected ) {\n\t\t\t\t// and the last selected block is unmodified (empty), it will be replaced\n\t\t\t\tif ( isSelectedUnmodifiedDefaultBlock ) {\n\t\t\t\t\treturn selectedBlockIndex;\n\t\t\t\t}\n\n\t\t\t\t// we insert after the selected block.\n\t\t\t\treturn selectedBlockIndex + 1;\n\t\t\t}\n\n\t\t\t// Otherwise, we insert at the end of the current rootClientId\n\t\t\treturn endOfRootIndex;\n\t\t}\n\n\t\tconst insertionIndexStart = 0;\n\n\t\tconst insertionIndexBefore = isAnyBlockSelected\n\t\t\t? selectedBlockIndex\n\t\t\t: insertionIndexStart;\n\n\t\tconst insertionIndexAfter = isAnyBlockSelected\n\t\t\t? selectedBlockIndex + 1\n\t\t\t: endOfRootIndex;\n\n\t\tconst insertionIndexEnd = endOfRootIndex;\n\n\t\treturn {\n\t\t\tblockTypeImpressions: getBlockEditorSettings().impressions,\n\t\t\tdestinationRootClientId,\n\t\t\tinsertionIndexDefault: getDefaultInsertionIndex(),\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexEnd,\n\t\t\tisAnyBlockSelected: !! isAnyBlockSelected,\n\t\t\tisSelectedBlockReplaceable: isSelectedUnmodifiedDefaultBlock,\n\t\t};\n\t} ),\n\n\twithPreferredColorScheme,\n] )( Inserter );\n"]}
|
|
@@ -28,17 +28,18 @@ var _store = require("../../store");
|
|
|
28
28
|
/**
|
|
29
29
|
* Internal dependencies
|
|
30
30
|
*/
|
|
31
|
-
function InserterLibrary({
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
function InserterLibrary(_ref) {
|
|
32
|
+
let {
|
|
33
|
+
rootClientId,
|
|
34
|
+
clientId,
|
|
35
|
+
isAppender,
|
|
36
|
+
showInserterHelpPanel,
|
|
37
|
+
showMostUsedBlocks = false,
|
|
38
|
+
__experimentalInsertionIndex,
|
|
39
|
+
__experimentalFilterValue,
|
|
40
|
+
onSelect = _lodash.noop,
|
|
41
|
+
shouldFocusBlock = false
|
|
42
|
+
} = _ref;
|
|
42
43
|
const destinationRootClientId = (0, _data.useSelect)(select => {
|
|
43
44
|
const {
|
|
44
45
|
getBlockRootClientId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/library.js"],"names":["InserterLibrary","rootClientId","clientId","isAppender","showInserterHelpPanel","showMostUsedBlocks","__experimentalInsertionIndex","__experimentalFilterValue","onSelect","noop","shouldFocusBlock","destinationRootClientId","select","getBlockRootClientId","blockEditorStore","undefined"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAKA;;AACA;;AAdA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAIA,SAASA,eAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/library.js"],"names":["InserterLibrary","rootClientId","clientId","isAppender","showInserterHelpPanel","showMostUsedBlocks","__experimentalInsertionIndex","__experimentalFilterValue","onSelect","noop","shouldFocusBlock","destinationRootClientId","select","getBlockRootClientId","blockEditorStore","undefined"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAKA;;AACA;;AAdA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAIA,SAASA,eAAT,OAUI;AAAA,MAVsB;AACzBC,IAAAA,YADyB;AAEzBC,IAAAA,QAFyB;AAGzBC,IAAAA,UAHyB;AAIzBC,IAAAA,qBAJyB;AAKzBC,IAAAA,kBAAkB,GAAG,KALI;AAMzBC,IAAAA,4BANyB;AAOzBC,IAAAA,yBAPyB;AAQzBC,IAAAA,QAAQ,GAAGC,YARc;AASzBC,IAAAA,gBAAgB,GAAG;AATM,GAUtB;AACH,QAAMC,uBAAuB,GAAG,qBAC7BC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAA2BD,MAAM,CAAEE,YAAF,CAAvC;AAEA,WACCb,YAAY,IAAIY,oBAAoB,CAAEX,QAAF,CAApC,IAAoDa,SADrD;AAGA,GAP8B,EAQ/B,CAAEb,QAAF,EAAYD,YAAZ,CAR+B,CAAhC;AAWA,SACC,4BAAC,aAAD;AACC,IAAA,QAAQ,EAAGO,QADZ;AAEC,IAAA,YAAY,EAAGG,uBAFhB;AAGC,IAAA,QAAQ,EAAGT,QAHZ;AAIC,IAAA,UAAU,EAAGC,UAJd;AAKC,IAAA,qBAAqB,EAAGC,qBALzB;AAMC,IAAA,kBAAkB,EAAGC,kBANtB;AAOC,IAAA,4BAA4B,EAAGC,4BAPhC;AAQC,IAAA,yBAAyB,EAAGC,yBAR7B;AASC,IAAA,gBAAgB,EAAGG;AATpB,IADD;AAaA;;eAEcV,e","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport { store as blockEditorStore } from '../../store';\n\nfunction InserterLibrary( {\n\trootClientId,\n\tclientId,\n\tisAppender,\n\tshowInserterHelpPanel,\n\tshowMostUsedBlocks = false,\n\t__experimentalInsertionIndex,\n\t__experimentalFilterValue,\n\tonSelect = noop,\n\tshouldFocusBlock = false,\n} ) {\n\tconst destinationRootClientId = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\n\t\t\treturn (\n\t\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined\n\t\t\t);\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\treturn (\n\t\t<InserterMenu\n\t\t\tonSelect={ onSelect }\n\t\t\trootClientId={ destinationRootClientId }\n\t\t\tclientId={ clientId }\n\t\t\tisAppender={ isAppender }\n\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t__experimentalInsertionIndex={ __experimentalInsertionIndex }\n\t\t\t__experimentalFilterValue={ __experimentalFilterValue }\n\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t/>\n\t);\n}\n\nexport default InserterLibrary;\n"]}
|
|
@@ -40,17 +40,18 @@ var _store = require("../../store");
|
|
|
40
40
|
/**
|
|
41
41
|
* Internal dependencies
|
|
42
42
|
*/
|
|
43
|
-
function InserterMenu({
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
43
|
+
function InserterMenu(_ref) {
|
|
44
|
+
let {
|
|
45
|
+
rootClientId,
|
|
46
|
+
clientId,
|
|
47
|
+
isAppender,
|
|
48
|
+
__experimentalInsertionIndex,
|
|
49
|
+
onSelect,
|
|
50
|
+
showInserterHelpPanel,
|
|
51
|
+
showMostUsedBlocks,
|
|
52
|
+
__experimentalFilterValue = '',
|
|
53
|
+
shouldFocusBlock = true
|
|
54
|
+
} = _ref;
|
|
54
55
|
const [filterValue, setFilterValue] = (0, _element.useState)(__experimentalFilterValue);
|
|
55
56
|
const [hoveredItem, setHoveredItem] = (0, _element.useState)(null);
|
|
56
57
|
const [selectedPatternCategory, setSelectedPatternCategory] = (0, _element.useState)(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"names":["InserterMenu","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","filterValue","setFilterValue","hoveredItem","setHoveredItem","selectedPatternCategory","setSelectedPatternCategory","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","insertionIndex","showPatterns","hasReusableBlocks","select","__experimentalGetAllowedPatterns","getSettings","blockEditorStore","length","__experimentalReusableBlocks","onInsert","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onClickPatternCategory","patternCategory","blocksTab","patternsTab","reusableBlocksTab","getCurrentTab","tab","name","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { VisuallyHidden, SearchControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTabs from './block-patterns-tab';\nimport ReusableBlocksTab from './reusable-blocks-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { store as blockEditorStore } from '../../store';\n\nfunction InserterMenu( {\n\trootClientId,\n\tclientId,\n\tisAppender,\n\t__experimentalInsertionIndex,\n\tonSelect,\n\tshowInserterHelpPanel,\n\tshowMostUsedBlocks,\n\t__experimentalFilterValue = '',\n\tshouldFocusBlock = true,\n} ) {\n\tconst [ filterValue, setFilterValue ] = useState(\n\t\t__experimentalFilterValue\n\t);\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] = useState(\n\t\tnull\n\t);\n\n\tconst [\n\t\tdestinationRootClientId,\n\t\tonInsertBlocks,\n\t\tonToggleInsertionPoint,\n\t] = useInsertionPoint( {\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\tshouldFocusBlock,\n\t} );\n\tconst { showPatterns, hasReusableBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __experimentalGetAllowedPatterns, getSettings } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tshowPatterns: !! __experimentalGetAllowedPatterns(\n\t\t\t\t\tdestinationRootClientId\n\t\t\t\t).length,\n\t\t\t\thasReusableBlocks: !! getSettings().__experimentalReusableBlocks\n\t\t\t\t\t?.length,\n\t\t\t};\n\t\t},\n\t\t[ destinationRootClientId ]\n\t);\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock ) => {\n\t\t\tonInsertBlocks( blocks, meta, shouldForceFocusBlock );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName ) => {\n\t\t\tonInsertBlocks( blocks, { patternName } );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onHover = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t\tsetHoveredItem( item );\n\t\t},\n\t\t[ onToggleInsertionPoint, setHoveredItem ]\n\t);\n\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t},\n\t\t[ setSelectedPatternCategory ]\n\t);\n\n\tconst blocksTab = useMemo(\n\t\t() => (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-inserter__block-list\">\n\t\t\t\t\t<BlockTypesTab\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ showInserterHelpPanel && (\n\t\t\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t\t\t<VisuallyHidden as=\"h2\">\n\t\t\t\t\t\t\t{ __( 'A tip for using the block editor' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<Tips />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tonHover,\n\t\t\tfilterValue,\n\t\t\tshowMostUsedBlocks,\n\t\t\tshowInserterHelpPanel,\n\t\t]\n\t);\n\n\tconst patternsTab = useMemo(\n\t\t() => (\n\t\t\t<BlockPatternsTabs\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonClickCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsertPattern,\n\t\t\tonClickPatternCategory,\n\t\t\tselectedPatternCategory,\n\t\t]\n\t);\n\n\tconst reusableBlocksTab = useMemo(\n\t\t() => (\n\t\t\t<ReusableBlocksTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t\tonHover={ onHover }\n\t\t\t/>\n\t\t),\n\t\t[ destinationRootClientId, onInsert, onHover ]\n\t);\n\n\tconst getCurrentTab = useCallback(\n\t\t( tab ) => {\n\t\t\tif ( tab.name === 'blocks' ) {\n\t\t\t\treturn blocksTab;\n\t\t\t} else if ( tab.name === 'patterns' ) {\n\t\t\t\treturn patternsTab;\n\t\t\t}\n\t\t\treturn reusableBlocksTab;\n\t\t},\n\t\t[ blocksTab, patternsTab, reusableBlocksTab ]\n\t);\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__menu\">\n\t\t\t<div className=\"block-editor-inserter__main-area\">\n\t\t\t\t{ /* the following div is necessary to fix the sticky position of the search form */ }\n\t\t\t\t<div className=\"block-editor-inserter__content\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tif ( hoveredItem ) setHoveredItem( null );\n\t\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ !! filterValue && (\n\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! filterValue && ( showPatterns || hasReusableBlocks ) && (\n\t\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\t\tshowPatterns={ showPatterns }\n\t\t\t\t\t\t\tshowReusableBlocks={ hasReusableBlocks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getCurrentTab }\n\t\t\t\t\t\t</InserterTabs>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! filterValue &&\n\t\t\t\t\t\t! showPatterns &&\n\t\t\t\t\t\t! hasReusableBlocks &&\n\t\t\t\t\t\tblocksTab }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default InserterMenu;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"names":["InserterMenu","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","filterValue","setFilterValue","hoveredItem","setHoveredItem","selectedPatternCategory","setSelectedPatternCategory","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","insertionIndex","showPatterns","hasReusableBlocks","select","__experimentalGetAllowedPatterns","getSettings","blockEditorStore","length","__experimentalReusableBlocks","onInsert","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onClickPatternCategory","patternCategory","blocksTab","patternsTab","reusableBlocksTab","getCurrentTab","tab","name","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { VisuallyHidden, SearchControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTabs from './block-patterns-tab';\nimport ReusableBlocksTab from './reusable-blocks-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { store as blockEditorStore } from '../../store';\n\nfunction InserterMenu( {\n\trootClientId,\n\tclientId,\n\tisAppender,\n\t__experimentalInsertionIndex,\n\tonSelect,\n\tshowInserterHelpPanel,\n\tshowMostUsedBlocks,\n\t__experimentalFilterValue = '',\n\tshouldFocusBlock = true,\n} ) {\n\tconst [ filterValue, setFilterValue ] = useState(\n\t\t__experimentalFilterValue\n\t);\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] = useState(\n\t\tnull\n\t);\n\n\tconst [\n\t\tdestinationRootClientId,\n\t\tonInsertBlocks,\n\t\tonToggleInsertionPoint,\n\t] = useInsertionPoint( {\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\tshouldFocusBlock,\n\t} );\n\tconst { showPatterns, hasReusableBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __experimentalGetAllowedPatterns, getSettings } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tshowPatterns: !! __experimentalGetAllowedPatterns(\n\t\t\t\t\tdestinationRootClientId\n\t\t\t\t).length,\n\t\t\t\thasReusableBlocks: !! getSettings().__experimentalReusableBlocks\n\t\t\t\t\t?.length,\n\t\t\t};\n\t\t},\n\t\t[ destinationRootClientId ]\n\t);\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock ) => {\n\t\t\tonInsertBlocks( blocks, meta, shouldForceFocusBlock );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName ) => {\n\t\t\tonInsertBlocks( blocks, { patternName } );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onHover = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t\tsetHoveredItem( item );\n\t\t},\n\t\t[ onToggleInsertionPoint, setHoveredItem ]\n\t);\n\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t},\n\t\t[ setSelectedPatternCategory ]\n\t);\n\n\tconst blocksTab = useMemo(\n\t\t() => (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-inserter__block-list\">\n\t\t\t\t\t<BlockTypesTab\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ showInserterHelpPanel && (\n\t\t\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t\t\t<VisuallyHidden as=\"h2\">\n\t\t\t\t\t\t\t{ __( 'A tip for using the block editor' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<Tips />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tonHover,\n\t\t\tfilterValue,\n\t\t\tshowMostUsedBlocks,\n\t\t\tshowInserterHelpPanel,\n\t\t]\n\t);\n\n\tconst patternsTab = useMemo(\n\t\t() => (\n\t\t\t<BlockPatternsTabs\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonClickCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsertPattern,\n\t\t\tonClickPatternCategory,\n\t\t\tselectedPatternCategory,\n\t\t]\n\t);\n\n\tconst reusableBlocksTab = useMemo(\n\t\t() => (\n\t\t\t<ReusableBlocksTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t\tonHover={ onHover }\n\t\t\t/>\n\t\t),\n\t\t[ destinationRootClientId, onInsert, onHover ]\n\t);\n\n\tconst getCurrentTab = useCallback(\n\t\t( tab ) => {\n\t\t\tif ( tab.name === 'blocks' ) {\n\t\t\t\treturn blocksTab;\n\t\t\t} else if ( tab.name === 'patterns' ) {\n\t\t\t\treturn patternsTab;\n\t\t\t}\n\t\t\treturn reusableBlocksTab;\n\t\t},\n\t\t[ blocksTab, patternsTab, reusableBlocksTab ]\n\t);\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__menu\">\n\t\t\t<div className=\"block-editor-inserter__main-area\">\n\t\t\t\t{ /* the following div is necessary to fix the sticky position of the search form */ }\n\t\t\t\t<div className=\"block-editor-inserter__content\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tif ( hoveredItem ) setHoveredItem( null );\n\t\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ !! filterValue && (\n\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! filterValue && ( showPatterns || hasReusableBlocks ) && (\n\t\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\t\tshowPatterns={ showPatterns }\n\t\t\t\t\t\t\tshowReusableBlocks={ hasReusableBlocks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getCurrentTab }\n\t\t\t\t\t\t</InserterTabs>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! filterValue &&\n\t\t\t\t\t\t! showPatterns &&\n\t\t\t\t\t\t! hasReusableBlocks &&\n\t\t\t\t\t\tblocksTab }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default InserterMenu;\n"]}
|
|
@@ -40,15 +40,16 @@ var _utils = require("./utils");
|
|
|
40
40
|
*/
|
|
41
41
|
const MIN_ITEMS_FOR_SEARCH = 2;
|
|
42
42
|
|
|
43
|
-
function InserterMenu({
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
function InserterMenu(_ref) {
|
|
44
|
+
let {
|
|
45
|
+
onSelect,
|
|
46
|
+
onDismiss,
|
|
47
|
+
rootClientId,
|
|
48
|
+
clientId,
|
|
49
|
+
isAppender,
|
|
50
|
+
shouldReplaceBlock,
|
|
51
|
+
insertionIndex
|
|
52
|
+
} = _ref;
|
|
52
53
|
const [filterValue, setFilterValue] = (0, _element.useState)('');
|
|
53
54
|
const [showTabs, setShowTabs] = (0, _element.useState)(true);
|
|
54
55
|
const [tabIndex, setTabIndex] = (0, _element.useState)(0);
|
|
@@ -177,24 +178,27 @@ function InserterMenu({
|
|
|
177
178
|
contentStyle: _style.default['inserter-menu__list'],
|
|
178
179
|
isFullScreen: isFullScreen,
|
|
179
180
|
allowDragIndicator: true
|
|
180
|
-
}, (0, _element.createElement)(_components.BottomSheetConsumer, null,
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
filterValue
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
181
|
+
}, (0, _element.createElement)(_components.BottomSheetConsumer, null, _ref2 => {
|
|
182
|
+
let {
|
|
183
|
+
listProps
|
|
184
|
+
} = _ref2;
|
|
185
|
+
return (0, _element.createElement)(_reactNative.TouchableHighlight, {
|
|
186
|
+
accessible: false,
|
|
187
|
+
style: _style.default['inserter-menu__list-wrapper']
|
|
188
|
+
}, !showTabs || filterValue ? (0, _element.createElement)(_searchResults.default, {
|
|
189
|
+
rootClientId: rootClientId,
|
|
190
|
+
filterValue: filterValue,
|
|
191
|
+
onSelect: onSelectItem,
|
|
192
|
+
listProps: listProps,
|
|
193
|
+
isFullScreen: isFullScreen
|
|
194
|
+
}) : (0, _element.createElement)(_tabs.default, {
|
|
195
|
+
rootClientId: rootClientId,
|
|
196
|
+
listProps: listProps,
|
|
197
|
+
tabIndex: tabIndex,
|
|
198
|
+
onSelect: onSelectItem,
|
|
199
|
+
showReusableBlocks: showReusableBlocks
|
|
200
|
+
}));
|
|
201
|
+
}));
|
|
198
202
|
}
|
|
199
203
|
|
|
200
204
|
var _default = InserterMenu;
|