@wordpress/block-editor 8.6.0 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +5 -2
- package/build/components/block-alignment-control/constants.js +48 -0
- package/build/components/block-alignment-control/constants.js.map +1 -0
- package/build/components/block-alignment-control/ui.js +9 -40
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.native.js +92 -0
- package/build/components/block-alignment-control/ui.native.js.map +1 -0
- package/build/components/block-alignment-matrix-control/index.js +1 -6
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-content-overlay/index.js +4 -82
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.native.js +65 -0
- package/build/components/block-draggable/draggable-chip.native.js.map +1 -0
- package/build/components/block-draggable/dropping-insertion-point.native.js +157 -0
- package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
- package/build/components/block-draggable/index.native.js +488 -0
- package/build/components/block-draggable/index.native.js.map +1 -0
- package/build/components/block-draggable/use-scroll-when-dragging.native.js +130 -0
- package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
- package/build/components/block-list/block-list-context.native.js +195 -0
- package/build/components/block-list/block-list-context.native.js.map +1 -0
- package/build/components/block-list/block-list-item-cell.native.js +67 -0
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -0
- package/build/components/block-list/block-list-item.native.js +12 -9
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block.native.js +27 -5
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +34 -32
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +75 -23
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +8 -4
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-class-names.js +1 -7
- package/build/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +1 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-mobile-toolbar/index.native.js +10 -3
- package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build/components/block-mover/index.native.js +17 -4
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +11 -5
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-popover/inbetween.js +19 -8
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +20 -16
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/index.js +1 -1
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +1 -0
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +1 -29
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +16 -2
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +10 -3
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/color-style-selector/index.js +9 -0
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +122 -41
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +35 -60
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +22 -5
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/iframe/index.js +51 -50
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +3 -1
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/index.js +14 -23
- package/build/components/index.js.map +1 -1
- package/build/components/inserter/index.js +21 -7
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +2 -2
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +4 -5
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/link-control/constants.js +11 -1
- package/build/components/link-control/constants.js.map +1 -1
- package/build/components/link-control/search-results.js +4 -3
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +4 -4
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/list-view/block.js +15 -15
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +9 -13
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/context.js +1 -4
- package/build/components/list-view/context.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +0 -1
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js +15 -32
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/media-placeholder/index.js +0 -2
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +0 -2
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload/index.native.js +10 -4
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +12 -2
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +62 -7
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/publish-date-time-picker/index.js +55 -0
- package/build/components/publish-date-time-picker/index.js.map +1 -0
- package/build/components/rich-text/format-toolbar-container.js +0 -1
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/index.js +2 -2
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +5 -1
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/url-input/index.js +11 -4
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +167 -0
- package/build/components/use-block-drop-zone/index.native.js.map +1 -0
- package/build/components/use-on-block-drop/index.native.js +95 -0
- package/build/components/use-on-block-drop/index.native.js.map +1 -0
- package/build/components/use-setting/index.js +42 -18
- package/build/components/use-setting/index.js.map +1 -1
- package/build/components/warning/index.js +6 -1
- package/build/components/warning/index.js.map +1 -1
- package/build/components/writing-flow/use-click-selection.js +1 -3
- package/build/components/writing-flow/use-click-selection.js.map +1 -1
- package/build/components/writing-flow/use-input.js +15 -0
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js +49 -8
- package/build/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build/elements/index.js +9 -0
- package/build/elements/index.js.map +1 -0
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/border.js +2 -7
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color-panel.js +14 -7
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color.js +8 -88
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/dimensions.js +16 -6
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/index.js +2 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/margin.js +64 -12
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +60 -12
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/settings.js +32 -0
- package/build/hooks/settings.js.map +1 -0
- package/build/hooks/style.js +14 -13
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/typography.js +6 -2
- package/build/hooks/typography.js.map +1 -1
- package/build/index.js +14 -0
- package/build/index.js.map +1 -1
- package/build/layouts/flex.js +5 -2
- package/build/layouts/flex.js.map +1 -1
- package/build/store/actions.js +14 -0
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +0 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/reducer.js +17 -2
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +43 -13
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-alignment-control/constants.js +36 -0
- package/build-module/components/block-alignment-control/constants.js.map +1 -0
- package/build-module/components/block-alignment-control/ui.js +4 -35
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.native.js +78 -0
- package/build-module/components/block-alignment-control/ui.native.js.map +1 -0
- package/build-module/components/block-alignment-matrix-control/index.js +1 -6
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js +3 -78
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.native.js +51 -0
- package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -0
- package/build-module/components/block-draggable/dropping-insertion-point.native.js +137 -0
- package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
- package/build-module/components/block-draggable/index.native.js +453 -0
- package/build-module/components/block-draggable/index.native.js.map +1 -0
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +120 -0
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
- package/build-module/components/block-list/block-list-context.native.js +179 -0
- package/build-module/components/block-list/block-list-context.native.js.map +1 -0
- package/build-module/components/block-list/block-list-item-cell.native.js +59 -0
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -0
- package/build-module/components/block-list/block-list-item.native.js +12 -9
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block.native.js +26 -5
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +35 -33
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +72 -23
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +9 -5
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-class-names.js +1 -7
- package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/index.native.js +9 -3
- package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +18 -5
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +10 -5
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +19 -8
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +21 -15
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +1 -1
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +1 -0
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +2 -29
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +13 -2
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +11 -4
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/color-style-selector/index.js +6 -0
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +124 -43
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +36 -64
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +23 -6
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/iframe/index.js +52 -51
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +2 -1
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/index.js +2 -3
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inserter/index.js +21 -7
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +2 -2
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +4 -5
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/link-control/constants.js +5 -0
- package/build-module/components/link-control/constants.js.map +1 -1
- package/build-module/components/link-control/search-results.js +3 -4
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +5 -5
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/block.js +15 -16
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +9 -13
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/context.js +1 -4
- package/build-module/components/list-view/context.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +0 -1
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +15 -31
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +0 -2
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +0 -2
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +8 -3
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +12 -2
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +63 -8
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/publish-date-time-picker/index.js +42 -0
- package/build-module/components/publish-date-time-picker/index.js.map +1 -0
- package/build-module/components/rich-text/format-toolbar-container.js +0 -1
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/index.js +2 -2
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +5 -1
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/url-input/index.js +11 -4
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +148 -0
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -0
- package/build-module/components/use-on-block-drop/index.native.js +83 -0
- package/build-module/components/use-on-block-drop/index.native.js.map +1 -0
- package/build-module/components/use-setting/index.js +43 -19
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/components/warning/index.js +6 -1
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/writing-flow/use-click-selection.js +1 -3
- package/build-module/components/writing-flow/use-click-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-input.js +15 -0
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js +49 -8
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build-module/elements/index.js +2 -0
- package/build-module/elements/index.js.map +1 -0
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/border.js +2 -7
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color-panel.js +11 -6
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color.js +8 -88
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/dimensions.js +19 -9
- package/build-module/hooks/dimensions.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/margin.js +61 -13
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +57 -13
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/settings.js +29 -0
- package/build-module/hooks/settings.js.map +1 -0
- package/build-module/hooks/style.js +15 -14
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/typography.js +6 -2
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/flex.js +4 -2
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/store/actions.js +12 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +0 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/reducer.js +17 -2
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +37 -12
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +100 -225
- package/build-style/style.css +100 -225
- package/package.json +30 -30
- package/src/components/block-alignment-control/constants.js +45 -0
- package/src/components/block-alignment-control/ui.js +69 -109
- package/src/components/block-alignment-control/ui.native.js +86 -0
- package/src/components/block-alignment-matrix-control/index.js +1 -5
- package/src/components/block-content-overlay/index.js +8 -95
- package/src/components/block-content-overlay/style.scss +2 -12
- package/src/components/block-draggable/draggable-chip.native.js +49 -0
- package/src/components/block-draggable/dropping-insertion-point.native.js +181 -0
- package/src/components/block-draggable/dropping-insertion-point.native.scss +8 -0
- package/src/components/block-draggable/index.native.js +462 -0
- package/src/components/block-draggable/style.native.scss +19 -0
- package/src/components/block-draggable/test/__snapshots__/index.native.js.snap +73 -0
- package/src/components/block-draggable/test/helpers.native.js +183 -0
- package/src/components/block-draggable/test/index.native.js +496 -0
- package/src/components/block-draggable/use-scroll-when-dragging.native.js +135 -0
- package/src/components/block-list/block-list-context.native.js +175 -0
- package/src/components/block-list/block-list-item-cell.native.js +49 -0
- package/src/components/block-list/block-list-item.native.js +7 -11
- package/src/components/block-list/block.native.js +37 -8
- package/src/components/block-list/index.js +44 -44
- package/src/components/block-list/index.native.js +54 -13
- package/src/components/block-list/style.scss +7 -18
- package/src/components/block-list/test/block-list-context.native.js +253 -0
- package/src/components/block-list/test/fixtures/block-list-context.native.js +79 -0
- package/src/components/block-list/use-block-props/index.js +10 -5
- package/src/components/block-list/use-block-props/use-block-class-names.js +1 -11
- package/src/components/block-list/use-in-between-inserter.js +1 -1
- package/src/components/block-mobile-toolbar/index.native.js +9 -1
- package/src/components/block-mover/index.native.js +22 -6
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +10 -0
- package/src/components/block-navigation/dropdown.js +12 -8
- package/src/components/block-popover/inbetween.js +21 -8
- package/src/components/block-popover/index.js +18 -15
- package/src/components/block-popover/style.scss +4 -0
- package/src/components/block-preview/index.js +1 -4
- package/src/components/block-switcher/style.scss +2 -39
- package/src/components/block-tools/block-selection-button.js +1 -0
- package/src/components/block-tools/selected-block-popover.js +1 -36
- package/src/components/block-tools/style.scss +1 -12
- package/src/components/block-variation-transforms/index.js +6 -2
- package/src/components/border-radius-control/input-controls.js +16 -8
- package/src/components/border-radius-control/style.scss +3 -2
- package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
- package/src/components/color-style-selector/index.js +18 -9
- package/src/components/colors-gradients/dropdown.js +130 -62
- package/src/components/colors-gradients/panel-color-gradient-settings.js +30 -76
- package/src/components/colors-gradients/style.scss +52 -50
- package/src/components/convert-to-group-buttons/toolbar.js +30 -13
- package/src/components/duotone-control/style.scss +1 -7
- package/src/components/iframe/index.js +62 -54
- package/src/components/image-editor/use-save-image.js +2 -1
- package/src/components/image-size-control/README.md +1 -1
- package/src/components/index.js +2 -3
- package/src/components/inserter/index.js +20 -0
- package/src/components/inserter/index.native.js +2 -2
- package/src/components/inserter/quick-inserter.js +3 -11
- package/src/components/inserter/style.native.scss +1 -0
- package/src/components/inserter/style.scss +2 -1
- package/src/components/link-control/constants.js +11 -0
- package/src/components/link-control/search-results.js +4 -5
- package/src/components/link-control/use-search-handler.js +11 -5
- package/src/components/list-view/block.js +24 -34
- package/src/components/list-view/branch.js +10 -20
- package/src/components/list-view/context.js +1 -4
- package/src/components/list-view/drop-indicator.js +0 -1
- package/src/components/list-view/index.js +11 -41
- package/src/components/list-view/style.scss +2 -1
- package/src/components/media-placeholder/index.js +0 -2
- package/src/components/media-replace-flow/index.js +0 -2
- package/src/components/media-upload/index.native.js +6 -2
- package/src/components/media-upload/test/index.native.js +31 -6
- package/src/components/navigable-toolbar/index.js +12 -2
- package/src/components/plain-text/index.native.js +64 -8
- package/src/components/preview-options/style.scss +0 -4
- package/src/components/publish-date-time-picker/README.md +52 -0
- package/src/components/publish-date-time-picker/index.js +50 -0
- package/src/components/publish-date-time-picker/style.scss +20 -0
- package/src/components/rich-text/format-toolbar-container.js +0 -1
- package/src/components/rich-text/index.js +3 -1
- package/src/components/rich-text/index.native.js +4 -0
- package/src/components/rich-text/style.scss +2 -8
- package/src/components/url-input/index.js +9 -4
- package/src/components/use-block-drop-zone/index.native.js +173 -0
- package/src/components/use-on-block-drop/index.native.js +119 -0
- package/src/components/use-setting/index.js +57 -21
- package/src/components/warning/index.js +47 -42
- package/src/components/warning/test/__snapshots__/index.js.snap +15 -6
- package/src/components/warning/test/index.js +1 -1
- package/src/components/writing-flow/use-click-selection.js +1 -4
- package/src/components/writing-flow/use-input.js +12 -0
- package/src/components/writing-flow/use-selection-observer.js +55 -10
- package/src/elements/index.js +1 -0
- package/src/hooks/anchor.js +1 -1
- package/src/hooks/border.js +2 -11
- package/src/hooks/border.scss +0 -48
- package/src/hooks/color-panel.js +13 -9
- package/src/hooks/color.js +5 -74
- package/src/hooks/color.scss +5 -58
- package/src/hooks/dimensions.js +55 -41
- package/src/hooks/index.js +1 -0
- package/src/hooks/margin.js +64 -15
- package/src/hooks/padding.js +60 -15
- package/src/hooks/padding.scss +12 -0
- package/src/hooks/settings.js +32 -0
- package/src/hooks/style.js +25 -39
- package/src/hooks/test/settings.js +48 -0
- package/src/hooks/typography.js +2 -0
- package/src/index.js +1 -0
- package/src/layouts/flex.js +11 -3
- package/src/store/actions.js +12 -0
- package/src/store/defaults.js +0 -1
- package/src/store/reducer.js +14 -1
- package/src/store/selectors.js +42 -12
- package/src/store/test/reducer.js +5 -0
- package/src/store/test/selectors.js +17 -0
- package/src/style.scss +2 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/border-style-control/index.js +0 -60
- package/build/components/border-style-control/index.js.map +0 -1
- package/build/components/colors/color-panel.js +0 -82
- package/build/components/colors/color-panel.js.map +0 -1
- package/build/components/colors/color-panel.native.js +0 -11
- package/build/components/colors/color-panel.native.js.map +0 -1
- package/build/components/colors-gradients/tools-panel-color-dropdown.js +0 -89
- package/build/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
- package/build-module/components/border-style-control/index.js +0 -50
- package/build-module/components/border-style-control/index.js.map +0 -1
- package/build-module/components/colors/color-panel.js +0 -70
- package/build-module/components/colors/color-panel.js.map +0 -1
- package/build-module/components/colors/color-panel.native.js +0 -4
- package/build-module/components/colors/color-panel.native.js.map +0 -1
- package/build-module/components/colors-gradients/tools-panel-color-dropdown.js +0 -75
- package/build-module/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
- package/src/components/block-alignment-matrix-control/style.scss +0 -10
- package/src/components/border-style-control/index.js +0 -47
- package/src/components/border-style-control/style.scss +0 -18
- package/src/components/colors/color-panel.js +0 -91
- package/src/components/colors/color-panel.native.js +0 -3
- package/src/components/colors-gradients/tools-panel-color-dropdown.js +0 -85
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.native.js"],"names":["BlockListContext","OnCaretVerticalPositionChange","stylesMemo","getStyles","isRootList","isStackedHorizontally","horizontalAlignment","styleName","computedStyles","styles","horizontal","overflowVisible","BlockList","Component","constructor","arguments","extraData","parentWidth","props","renderFooterAppender","renderAppender","onDeleteBlock","contentStyle","renderItem","bind","renderBlockListFooter","onCaretVerticalPositionChange","scrollViewInnerRef","addBlockToEndOfPost","shouldFlatListPreventAutomaticScroll","shouldShowInnerBlockAppender","renderEmptyList","getExtraData","onLayout","state","blockWidth","newBlock","insertBlock","blockCount","targetId","caretY","previousCaretY","KeyboardAwareFlatList","handleCaretVerticalPositionChange","scrollViewRef","ref","isBlockInsertionPointVisible","blockClientIds","length","rootClientId","gridProperties","nativeEvent","layout","maxWidth","layoutWidth","Math","floor","width","setState","min","render","blockList","renderList","parentScrollRef","extraProps","clearSelectedBlock","title","header","isReadOnly","marginVertical","defaultBlock","marginTop","marginHorizontal","marginLeft","isFloatingToolbarVisible","contentResizeMode","blockToolbar","blockBorder","headerToolbar","floatingToolbar","containerStyle","flex","isContentStretch","isMultiBlocks","isWider","alignmentHelpers","Platform","OS","removeClippedSubviews","autoScroll","height","horizontalContentContainer","horizontalContentContainerStretch","horizontalContentContainerCenter","identity","innerAppender","item","clientId","onAddBlock","paragraphBlock","withFooter","blockListFooter","select","orientation","filterInnerBlocks","getBlockCount","getBlockOrder","getSelectedBlockClientId","getSettings","blockEditorStore","selectedBlockClientId","readOnly","hasRootInnerBlocks","undefined","dispatch","replaceBlock","withPreferredColorScheme","EmptyListComponent","shouldShowInsertionPoint","defaultAppender","WIDE_ALIGNMENTS","alignments","full","EmptyListComponentCompose","getBlockInsertionPoint","insertionPoint","blockInsertionPointIsVisible","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { identity } from 'lodash';\nimport { View, Platform, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createContext } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tKeyboardAwareFlatList,\n\tReadableContentView,\n\tWIDE_ALIGNMENTS,\n\talignmentHelpers,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockListAppender from '../block-list-appender';\nimport BlockListItem from './block-list-item';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockListContext = createContext();\n\nexport const OnCaretVerticalPositionChange = createContext();\n\nconst stylesMemo = {};\nconst getStyles = (\n\tisRootList,\n\tisStackedHorizontally,\n\thorizontalAlignment\n) => {\n\tif ( isRootList ) {\n\t\treturn;\n\t}\n\tconst styleName = `${ isStackedHorizontally }-${ horizontalAlignment }`;\n\tif ( stylesMemo[ styleName ] ) {\n\t\treturn stylesMemo[ styleName ];\n\t}\n\tconst computedStyles = [\n\t\tisStackedHorizontally && styles.horizontal,\n\t\thorizontalAlignment && styles[ `is-aligned-${ horizontalAlignment }` ],\n\t\tstyles.overflowVisible,\n\t];\n\tstylesMemo[ styleName ] = computedStyles;\n\treturn computedStyles;\n};\n\nexport class BlockList extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.extraData = {\n\t\t\tparentWidth: this.props.parentWidth,\n\t\t\trenderFooterAppender: this.props.renderFooterAppender,\n\t\t\trenderAppender: this.props.renderAppender,\n\t\t\tonDeleteBlock: this.props.onDeleteBlock,\n\t\t\tcontentStyle: this.props.contentStyle,\n\t\t};\n\t\tthis.renderItem = this.renderItem.bind( this );\n\t\tthis.renderBlockListFooter = this.renderBlockListFooter.bind( this );\n\t\tthis.onCaretVerticalPositionChange = this.onCaretVerticalPositionChange.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.scrollViewInnerRef = this.scrollViewInnerRef.bind( this );\n\t\tthis.addBlockToEndOfPost = this.addBlockToEndOfPost.bind( this );\n\t\tthis.shouldFlatListPreventAutomaticScroll = this.shouldFlatListPreventAutomaticScroll.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.shouldShowInnerBlockAppender = this.shouldShowInnerBlockAppender.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.renderEmptyList = this.renderEmptyList.bind( this );\n\t\tthis.getExtraData = this.getExtraData.bind( this );\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\n\t\tthis.state = {\n\t\t\tblockWidth: this.props.blockWidth || 0,\n\t\t};\n\t}\n\n\taddBlockToEndOfPost( newBlock ) {\n\t\tthis.props.insertBlock( newBlock, this.props.blockCount );\n\t}\n\n\tonCaretVerticalPositionChange( targetId, caretY, previousCaretY ) {\n\t\tKeyboardAwareFlatList.handleCaretVerticalPositionChange(\n\t\t\tthis.scrollViewRef,\n\t\t\ttargetId,\n\t\t\tcaretY,\n\t\t\tpreviousCaretY\n\t\t);\n\t}\n\n\tscrollViewInnerRef( ref ) {\n\t\tthis.scrollViewRef = ref;\n\t}\n\n\tshouldFlatListPreventAutomaticScroll() {\n\t\treturn this.props.isBlockInsertionPointVisible;\n\t}\n\n\tshouldShowInnerBlockAppender() {\n\t\tconst { blockClientIds, renderAppender } = this.props;\n\t\treturn renderAppender && blockClientIds.length > 0;\n\t}\n\n\trenderEmptyList() {\n\t\treturn (\n\t\t\t<EmptyListComponentCompose\n\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\trenderFooterAppender={ this.props.renderFooterAppender }\n\t\t\t/>\n\t\t);\n\t}\n\n\tgetExtraData() {\n\t\tconst {\n\t\t\tparentWidth,\n\t\t\trenderFooterAppender,\n\t\t\tonDeleteBlock,\n\t\t\tcontentStyle,\n\t\t\trenderAppender,\n\t\t\tgridProperties,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\t\tif (\n\t\t\tthis.extraData.parentWidth !== parentWidth ||\n\t\t\tthis.extraData.renderFooterAppender !== renderFooterAppender ||\n\t\t\tthis.extraData.onDeleteBlock !== onDeleteBlock ||\n\t\t\tthis.extraData.contentStyle !== contentStyle ||\n\t\t\tthis.extraData.renderAppender !== renderAppender ||\n\t\t\tthis.extraData.blockWidth !== blockWidth ||\n\t\t\tthis.extraData.gridProperties !== gridProperties\n\t\t) {\n\t\t\tthis.extraData = {\n\t\t\t\tparentWidth,\n\t\t\t\trenderFooterAppender,\n\t\t\t\tonDeleteBlock,\n\t\t\t\tcontentStyle,\n\t\t\t\trenderAppender,\n\t\t\t\tblockWidth,\n\t\t\t\tgridProperties,\n\t\t\t};\n\t\t}\n\t\treturn this.extraData;\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst { blockWidth } = this.state;\n\t\tconst { isRootList, maxWidth } = this.props;\n\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( isRootList && blockWidth !== layoutWidth ) {\n\t\t\tthis.setState( {\n\t\t\t\tblockWidth: Math.min( layoutWidth, maxWidth ),\n\t\t\t} );\n\t\t} else if ( ! isRootList && ! blockWidth ) {\n\t\t\tthis.setState( { blockWidth: Math.min( layoutWidth, maxWidth ) } );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { isRootList } = this.props;\n\t\t// Use of Context to propagate the main scroll ref to its children e.g InnerBlocks.\n\t\tconst blockList = isRootList ? (\n\t\t\t<BlockListContext.Provider value={ this.scrollViewRef }>\n\t\t\t\t{ this.renderList() }\n\t\t\t</BlockListContext.Provider>\n\t\t) : (\n\t\t\t<BlockListContext.Consumer>\n\t\t\t\t{ ( ref ) =>\n\t\t\t\t\tthis.renderList( {\n\t\t\t\t\t\tparentScrollRef: ref,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t</BlockListContext.Consumer>\n\t\t);\n\n\t\treturn (\n\t\t\t<OnCaretVerticalPositionChange.Provider\n\t\t\t\tvalue={ this.onCaretVerticalPositionChange }\n\t\t\t>\n\t\t\t\t{ blockList }\n\t\t\t</OnCaretVerticalPositionChange.Provider>\n\t\t);\n\t}\n\n\trenderList( extraProps = {} ) {\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tblockClientIds,\n\t\t\ttitle,\n\t\t\theader,\n\t\t\tisReadOnly,\n\t\t\tisRootList,\n\t\t\thorizontal,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t\tisFloatingToolbarVisible,\n\t\t\tisStackedHorizontally,\n\t\t\thorizontalAlignment,\n\t\t\tcontentResizeMode,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst { parentScrollRef } = extraProps;\n\n\t\tconst {\n\t\t\tblockToolbar,\n\t\t\tblockBorder,\n\t\t\theaderToolbar,\n\t\t\tfloatingToolbar,\n\t\t} = styles;\n\n\t\tconst containerStyle = {\n\t\t\tflex: isRootList ? 1 : 0,\n\t\t\t// We set negative margin in the parent to remove the edge spacing between parent block and child block in ineer blocks.\n\t\t\tmarginVertical: isRootList ? 0 : -marginVertical,\n\t\t\tmarginHorizontal: isRootList ? 0 : -marginHorizontal,\n\t\t};\n\n\t\tconst isContentStretch = contentResizeMode === 'stretch';\n\t\tconst isMultiBlocks = blockClientIds.length > 1;\n\t\tconst { isWider } = alignmentHelpers;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ containerStyle }\n\t\t\t\tonAccessibilityEscape={ clearSelectedBlock }\n\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\ttestID=\"block-list-wrapper\"\n\t\t\t>\n\t\t\t\t<KeyboardAwareFlatList\n\t\t\t\t\t{ ...( Platform.OS === 'android'\n\t\t\t\t\t\t? { removeClippedSubviews: false }\n\t\t\t\t\t\t: {} ) } // Disable clipping on Android to fix focus losing. See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541\n\t\t\t\t\taccessibilityLabel=\"block-list\"\n\t\t\t\t\tautoScroll={ this.props.autoScroll }\n\t\t\t\t\tinnerRef={ ( ref ) => {\n\t\t\t\t\t\tthis.scrollViewInnerRef( parentScrollRef || ref );\n\t\t\t\t\t} }\n\t\t\t\t\textraScrollHeight={\n\t\t\t\t\t\tblockToolbar.height + blockBorder.width\n\t\t\t\t\t}\n\t\t\t\t\tinputAccessoryViewHeight={\n\t\t\t\t\t\theaderToolbar.height +\n\t\t\t\t\t\t( isFloatingToolbarVisible\n\t\t\t\t\t\t\t? floatingToolbar.height\n\t\t\t\t\t\t\t: 0 )\n\t\t\t\t\t}\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\tscrollViewStyle={ [\n\t\t\t\t\t\t{ flex: isRootList ? 1 : 0 },\n\t\t\t\t\t\t! isRootList && styles.overflowVisible,\n\t\t\t\t\t] }\n\t\t\t\t\textraData={ this.getExtraData() }\n\t\t\t\t\tscrollEnabled={ isRootList }\n\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\thorizontal && styles.horizontalContentContainer,\n\t\t\t\t\t\tisWider( blockWidth, 'medium' ) &&\n\t\t\t\t\t\t\t( isContentStretch && isMultiBlocks\n\t\t\t\t\t\t\t\t? styles.horizontalContentContainerStretch\n\t\t\t\t\t\t\t\t: styles.horizontalContentContainerCenter ),\n\t\t\t\t\t] }\n\t\t\t\t\tstyle={ getStyles(\n\t\t\t\t\t\tisRootList,\n\t\t\t\t\t\tisStackedHorizontally,\n\t\t\t\t\t\thorizontalAlignment\n\t\t\t\t\t) }\n\t\t\t\t\tdata={ blockClientIds }\n\t\t\t\t\tkeyExtractor={ identity }\n\t\t\t\t\trenderItem={ this.renderItem }\n\t\t\t\t\tshouldPreventAutomaticScroll={\n\t\t\t\t\t\tthis.shouldFlatListPreventAutomaticScroll\n\t\t\t\t\t}\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tListHeaderComponent={ header }\n\t\t\t\t\tListEmptyComponent={ ! isReadOnly && this.renderEmptyList }\n\t\t\t\t\tListFooterComponent={ this.renderBlockListFooter }\n\t\t\t\t/>\n\t\t\t\t{ this.shouldShowInnerBlockAppender() && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tmarginHorizontal:\n\t\t\t\t\t\t\t\tmarginHorizontal -\n\t\t\t\t\t\t\t\tstyles.innerAppender.marginLeft,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\t\t\t\tshowSeparator\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderItem( { item: clientId } ) {\n\t\tconst {\n\t\t\tcontentResizeMode,\n\t\t\tcontentStyle,\n\t\t\tonAddBlock,\n\t\t\tonDeleteBlock,\n\t\t\trootClientId,\n\t\t\tisStackedHorizontally,\n\t\t\tblockClientIds,\n\t\t\tparentWidth,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t\tgridProperties,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\t\treturn (\n\t\t\t<BlockListItem\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentResizeMode={ contentResizeMode }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tshouldShowInnerBlockAppender={\n\t\t\t\t\tthis.shouldShowInnerBlockAppender\n\t\t\t\t}\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\tgridProperties={ gridProperties }\n\t\t\t\titems={ blockClientIds }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderBlockListFooter() {\n\t\tconst paragraphBlock = createBlock( 'core/paragraph' );\n\t\tconst {\n\t\t\tisReadOnly,\n\t\t\twithFooter = true,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( ! isReadOnly && withFooter ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\taccessibilityLabel={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\ttestID={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\t\tthis.addBlockToEndOfPost( paragraphBlock );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.blockListFooter } />\n\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t</>\n\t\t\t);\n\t\t} else if ( renderFooterAppender ) {\n\t\t\treturn renderFooterAppender();\n\t\t}\n\t\treturn null;\n\t}\n}\n\nexport default compose( [\n\twithSelect(\n\t\t( select, { rootClientId, orientation, filterInnerBlocks } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tlet blockClientIds = getBlockOrder( rootClientId );\n\t\t\t// Display only block which fulfill the condition in passed `filterInnerBlocks` function.\n\t\t\tif ( filterInnerBlocks ) {\n\t\t\t\tblockClientIds = filterInnerBlocks( blockClientIds );\n\t\t\t}\n\n\t\t\tconst { maxWidth } = getSettings();\n\t\t\tconst isReadOnly = getSettings().readOnly;\n\n\t\t\tconst blockCount = getBlockCount();\n\t\t\tconst hasRootInnerBlocks = !! blockCount;\n\n\t\t\tconst isFloatingToolbarVisible =\n\t\t\t\t!! selectedBlockClientId && hasRootInnerBlocks;\n\t\t\treturn {\n\t\t\t\tblockClientIds,\n\t\t\t\tblockCount,\n\t\t\t\tisBlockInsertionPointVisible:\n\t\t\t\t\tPlatform.OS === 'ios' && isBlockInsertionPointVisible(),\n\t\t\t\tisReadOnly,\n\t\t\t\tisRootList: rootClientId === undefined,\n\t\t\t\tisFloatingToolbarVisible,\n\t\t\t\tisStackedHorizontally,\n\t\t\t\tmaxWidth,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { insertBlock, replaceBlock, clearSelectedBlock } = dispatch(\n\t\t\tblockEditorStore\n\t\t);\n\n\t\treturn {\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( BlockList );\n\nclass EmptyListComponent extends Component {\n\trender() {\n\t\tconst {\n\t\t\tshouldShowInsertionPoint,\n\t\t\trootClientId,\n\t\t\trenderAppender,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( renderFooterAppender ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ styles.defaultAppender }>\n\t\t\t\t<ReadableContentView\n\t\t\t\t\talign={\n\t\t\t\t\t\trenderAppender\n\t\t\t\t\t\t\t? WIDE_ALIGNMENTS.alignments.full\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\tshowSeparator={ shouldShowInsertionPoint }\n\t\t\t\t\t/>\n\t\t\t\t</ReadableContentView>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst EmptyListComponentCompose = compose( [\n\twithSelect( ( select, { rootClientId, orientation } ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockInsertionPointVisible,\n\t\t} = select( blockEditorStore );\n\n\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst blockInsertionPointIsVisible = isBlockInsertionPointVisible();\n\t\tconst shouldShowInsertionPoint =\n\t\t\t! isStackedHorizontally &&\n\t\t\tblockInsertionPointIsVisible &&\n\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t// If list is empty, show the insertion point (via the default appender)\n\t\t\t( blockClientIds.length === 0 ||\n\t\t\t\t// Or if the insertion point is right before the denoted block.\n\t\t\t\t! blockClientIds[ insertionPoint.index ] );\n\n\t\treturn {\n\t\t\tshouldShowInsertionPoint,\n\t\t};\n\t} ),\n] )( EmptyListComponent );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.native.js"],"names":["OnCaretVerticalPositionChange","stylesMemo","getStyles","isRootList","isStackedHorizontally","horizontalAlignment","styleName","computedStyles","styles","horizontal","overflowVisible","BlockList","Component","constructor","arguments","extraData","parentWidth","props","renderFooterAppender","renderAppender","onDeleteBlock","contentStyle","renderItem","bind","renderBlockListFooter","onCaretVerticalPositionChange","scrollViewInnerRef","addBlockToEndOfPost","shouldFlatListPreventAutomaticScroll","shouldShowInnerBlockAppender","renderEmptyList","getExtraData","getCellRendererComponent","onLayout","state","blockWidth","newBlock","insertBlock","blockCount","targetId","caretY","previousCaretY","KeyboardAwareFlatList","handleCaretVerticalPositionChange","scrollViewRef","ref","isBlockInsertionPointVisible","blockClientIds","length","rootClientId","gridProperties","children","item","nativeEvent","layout","maxWidth","layoutWidth","Math","floor","width","setState","min","render","isRTL","blockList","DEFAULT_BLOCK_LIST_CONTEXT","scrollRef","onScroll","renderList","parentScrollRef","extraProps","clearSelectedBlock","title","header","isReadOnly","marginVertical","defaultBlock","marginTop","marginHorizontal","marginLeft","isFloatingToolbarVisible","contentResizeMode","blockToolbar","blockBorder","headerToolbar","floatingToolbar","containerStyle","flex","isContentStretch","isMultiBlocks","isWider","alignmentHelpers","Platform","OS","removeClippedSubviews","autoScroll","height","horizontalContentContainer","horizontalContentContainerStretch","horizontalContentContainerCenter","identity","innerAppender","clientId","onAddBlock","isGridItem","gridItemProps","numOfColumns","numColumns","tileCount","tileIndex","indexOf","paragraphBlock","withFooter","blockListFooter","select","orientation","filterInnerBlocks","getBlockCount","getBlockOrder","getSelectedBlockClientId","getSettings","blockEditorStore","selectedBlockClientId","readOnly","hasRootInnerBlocks","undefined","dispatch","replaceBlock","withPreferredColorScheme","EmptyListComponent","shouldShowInsertionPoint","defaultAppender","WIDE_ALIGNMENTS","alignments","full","EmptyListComponentCompose","getBlockInsertionPoint","insertionPoint","blockInsertionPointIsVisible","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { identity } from 'lodash';\nimport { View, Platform, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createContext } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tKeyboardAwareFlatList,\n\tReadableContentView,\n\tWIDE_ALIGNMENTS,\n\talignmentHelpers,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockListAppender from '../block-list-appender';\nimport BlockListItem from './block-list-item';\nimport BlockListItemCell from './block-list-item-cell';\nimport {\n\tBlockListProvider,\n\tBlockListConsumer,\n\tDEFAULT_BLOCK_LIST_CONTEXT,\n} from './block-list-context';\nimport { BlockDraggableWrapper } from '../block-draggable';\nimport { store as blockEditorStore } from '../../store';\n\nexport const OnCaretVerticalPositionChange = createContext();\n\nconst stylesMemo = {};\nconst getStyles = (\n\tisRootList,\n\tisStackedHorizontally,\n\thorizontalAlignment\n) => {\n\tif ( isRootList ) {\n\t\treturn;\n\t}\n\tconst styleName = `${ isStackedHorizontally }-${ horizontalAlignment }`;\n\tif ( stylesMemo[ styleName ] ) {\n\t\treturn stylesMemo[ styleName ];\n\t}\n\tconst computedStyles = [\n\t\tisStackedHorizontally && styles.horizontal,\n\t\thorizontalAlignment && styles[ `is-aligned-${ horizontalAlignment }` ],\n\t\tstyles.overflowVisible,\n\t];\n\tstylesMemo[ styleName ] = computedStyles;\n\treturn computedStyles;\n};\n\nexport class BlockList extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.extraData = {\n\t\t\tparentWidth: this.props.parentWidth,\n\t\t\trenderFooterAppender: this.props.renderFooterAppender,\n\t\t\trenderAppender: this.props.renderAppender,\n\t\t\tonDeleteBlock: this.props.onDeleteBlock,\n\t\t\tcontentStyle: this.props.contentStyle,\n\t\t};\n\t\tthis.renderItem = this.renderItem.bind( this );\n\t\tthis.renderBlockListFooter = this.renderBlockListFooter.bind( this );\n\t\tthis.onCaretVerticalPositionChange = this.onCaretVerticalPositionChange.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.scrollViewInnerRef = this.scrollViewInnerRef.bind( this );\n\t\tthis.addBlockToEndOfPost = this.addBlockToEndOfPost.bind( this );\n\t\tthis.shouldFlatListPreventAutomaticScroll = this.shouldFlatListPreventAutomaticScroll.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.shouldShowInnerBlockAppender = this.shouldShowInnerBlockAppender.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.renderEmptyList = this.renderEmptyList.bind( this );\n\t\tthis.getExtraData = this.getExtraData.bind( this );\n\t\tthis.getCellRendererComponent = this.getCellRendererComponent.bind(\n\t\t\tthis\n\t\t);\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\n\t\tthis.state = {\n\t\t\tblockWidth: this.props.blockWidth || 0,\n\t\t};\n\t}\n\n\taddBlockToEndOfPost( newBlock ) {\n\t\tthis.props.insertBlock( newBlock, this.props.blockCount );\n\t}\n\n\tonCaretVerticalPositionChange( targetId, caretY, previousCaretY ) {\n\t\tKeyboardAwareFlatList.handleCaretVerticalPositionChange(\n\t\t\tthis.scrollViewRef,\n\t\t\ttargetId,\n\t\t\tcaretY,\n\t\t\tpreviousCaretY\n\t\t);\n\t}\n\n\tscrollViewInnerRef( ref ) {\n\t\tthis.scrollViewRef = ref;\n\t}\n\n\tshouldFlatListPreventAutomaticScroll() {\n\t\treturn this.props.isBlockInsertionPointVisible;\n\t}\n\n\tshouldShowInnerBlockAppender() {\n\t\tconst { blockClientIds, renderAppender } = this.props;\n\t\treturn renderAppender && blockClientIds.length > 0;\n\t}\n\n\trenderEmptyList() {\n\t\treturn (\n\t\t\t<EmptyListComponentCompose\n\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\trenderFooterAppender={ this.props.renderFooterAppender }\n\t\t\t/>\n\t\t);\n\t}\n\n\tgetExtraData() {\n\t\tconst {\n\t\t\tparentWidth,\n\t\t\trenderFooterAppender,\n\t\t\tonDeleteBlock,\n\t\t\tcontentStyle,\n\t\t\trenderAppender,\n\t\t\tgridProperties,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\t\tif (\n\t\t\tthis.extraData.parentWidth !== parentWidth ||\n\t\t\tthis.extraData.renderFooterAppender !== renderFooterAppender ||\n\t\t\tthis.extraData.onDeleteBlock !== onDeleteBlock ||\n\t\t\tthis.extraData.contentStyle !== contentStyle ||\n\t\t\tthis.extraData.renderAppender !== renderAppender ||\n\t\t\tthis.extraData.blockWidth !== blockWidth ||\n\t\t\tthis.extraData.gridProperties !== gridProperties\n\t\t) {\n\t\t\tthis.extraData = {\n\t\t\t\tparentWidth,\n\t\t\t\trenderFooterAppender,\n\t\t\t\tonDeleteBlock,\n\t\t\t\tcontentStyle,\n\t\t\t\trenderAppender,\n\t\t\t\tblockWidth,\n\t\t\t\tgridProperties,\n\t\t\t};\n\t\t}\n\t\treturn this.extraData;\n\t}\n\n\tgetCellRendererComponent( { children, item, onLayout } ) {\n\t\tconst { rootClientId } = this.props;\n\t\treturn (\n\t\t\t<BlockListItemCell\n\t\t\t\tchildren={ children }\n\t\t\t\tclientId={ item }\n\t\t\t\tonLayout={ onLayout }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t/>\n\t\t);\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst { blockWidth } = this.state;\n\t\tconst { isRootList, maxWidth } = this.props;\n\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( isRootList && blockWidth !== layoutWidth ) {\n\t\t\tthis.setState( {\n\t\t\t\tblockWidth: Math.min( layoutWidth, maxWidth ),\n\t\t\t} );\n\t\t} else if ( ! isRootList && ! blockWidth ) {\n\t\t\tthis.setState( { blockWidth: Math.min( layoutWidth, maxWidth ) } );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { isRootList, isRTL } = this.props;\n\t\t// Use of Context to propagate the main scroll ref to its children e.g InnerBlocks.\n\t\tconst blockList = isRootList ? (\n\t\t\t<BlockListProvider\n\t\t\t\tvalue={ {\n\t\t\t\t\t...DEFAULT_BLOCK_LIST_CONTEXT,\n\t\t\t\t\tscrollRef: this.scrollViewRef,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<BlockDraggableWrapper isRTL={ isRTL }>\n\t\t\t\t\t{ ( { onScroll } ) => this.renderList( { onScroll } ) }\n\t\t\t\t</BlockDraggableWrapper>\n\t\t\t</BlockListProvider>\n\t\t) : (\n\t\t\t<BlockListConsumer>\n\t\t\t\t{ ( { scrollRef } ) =>\n\t\t\t\t\tthis.renderList( {\n\t\t\t\t\t\tparentScrollRef: scrollRef,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t</BlockListConsumer>\n\t\t);\n\n\t\treturn (\n\t\t\t<OnCaretVerticalPositionChange.Provider\n\t\t\t\tvalue={ this.onCaretVerticalPositionChange }\n\t\t\t>\n\t\t\t\t{ blockList }\n\t\t\t</OnCaretVerticalPositionChange.Provider>\n\t\t);\n\t}\n\n\trenderList( extraProps = {} ) {\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tblockClientIds,\n\t\t\ttitle,\n\t\t\theader,\n\t\t\tisReadOnly,\n\t\t\tisRootList,\n\t\t\thorizontal,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t\tisFloatingToolbarVisible,\n\t\t\tisStackedHorizontally,\n\t\t\thorizontalAlignment,\n\t\t\tcontentResizeMode,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst { parentScrollRef, onScroll } = extraProps;\n\n\t\tconst {\n\t\t\tblockToolbar,\n\t\t\tblockBorder,\n\t\t\theaderToolbar,\n\t\t\tfloatingToolbar,\n\t\t} = styles;\n\n\t\tconst containerStyle = {\n\t\t\tflex: isRootList ? 1 : 0,\n\t\t\t// We set negative margin in the parent to remove the edge spacing between parent block and child block in ineer blocks.\n\t\t\tmarginVertical: isRootList ? 0 : -marginVertical,\n\t\t\tmarginHorizontal: isRootList ? 0 : -marginHorizontal,\n\t\t};\n\n\t\tconst isContentStretch = contentResizeMode === 'stretch';\n\t\tconst isMultiBlocks = blockClientIds.length > 1;\n\t\tconst { isWider } = alignmentHelpers;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ containerStyle }\n\t\t\t\tonAccessibilityEscape={ clearSelectedBlock }\n\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\ttestID=\"block-list-wrapper\"\n\t\t\t>\n\t\t\t\t<KeyboardAwareFlatList\n\t\t\t\t\t{ ...( Platform.OS === 'android'\n\t\t\t\t\t\t? { removeClippedSubviews: false }\n\t\t\t\t\t\t: {} ) } // Disable clipping on Android to fix focus losing. See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541\n\t\t\t\t\taccessibilityLabel=\"block-list\"\n\t\t\t\t\tautoScroll={ this.props.autoScroll }\n\t\t\t\t\tinnerRef={ ( ref ) => {\n\t\t\t\t\t\tthis.scrollViewInnerRef( parentScrollRef || ref );\n\t\t\t\t\t} }\n\t\t\t\t\textraScrollHeight={\n\t\t\t\t\t\tblockToolbar.height + blockBorder.width\n\t\t\t\t\t}\n\t\t\t\t\tinputAccessoryViewHeight={\n\t\t\t\t\t\theaderToolbar.height +\n\t\t\t\t\t\t( isFloatingToolbarVisible\n\t\t\t\t\t\t\t? floatingToolbar.height\n\t\t\t\t\t\t\t: 0 )\n\t\t\t\t\t}\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\tscrollViewStyle={ [\n\t\t\t\t\t\t{ flex: isRootList ? 1 : 0 },\n\t\t\t\t\t\t! isRootList && styles.overflowVisible,\n\t\t\t\t\t] }\n\t\t\t\t\textraData={ this.getExtraData() }\n\t\t\t\t\tscrollEnabled={ isRootList }\n\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\thorizontal && styles.horizontalContentContainer,\n\t\t\t\t\t\tisWider( blockWidth, 'medium' ) &&\n\t\t\t\t\t\t\t( isContentStretch && isMultiBlocks\n\t\t\t\t\t\t\t\t? styles.horizontalContentContainerStretch\n\t\t\t\t\t\t\t\t: styles.horizontalContentContainerCenter ),\n\t\t\t\t\t] }\n\t\t\t\t\tstyle={ getStyles(\n\t\t\t\t\t\tisRootList,\n\t\t\t\t\t\tisStackedHorizontally,\n\t\t\t\t\t\thorizontalAlignment\n\t\t\t\t\t) }\n\t\t\t\t\tdata={ blockClientIds }\n\t\t\t\t\tkeyExtractor={ identity }\n\t\t\t\t\trenderItem={ this.renderItem }\n\t\t\t\t\tCellRendererComponent={ this.getCellRendererComponent }\n\t\t\t\t\tshouldPreventAutomaticScroll={\n\t\t\t\t\t\tthis.shouldFlatListPreventAutomaticScroll\n\t\t\t\t\t}\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tListHeaderComponent={ header }\n\t\t\t\t\tListEmptyComponent={ ! isReadOnly && this.renderEmptyList }\n\t\t\t\t\tListFooterComponent={ this.renderBlockListFooter }\n\t\t\t\t\tonScroll={ onScroll }\n\t\t\t\t/>\n\t\t\t\t{ this.shouldShowInnerBlockAppender() && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tmarginHorizontal:\n\t\t\t\t\t\t\t\tmarginHorizontal -\n\t\t\t\t\t\t\t\tstyles.innerAppender.marginLeft,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\t\t\t\tshowSeparator\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderItem( { item: clientId } ) {\n\t\tconst {\n\t\t\tcontentResizeMode,\n\t\t\tcontentStyle,\n\t\t\tonAddBlock,\n\t\t\tonDeleteBlock,\n\t\t\trootClientId,\n\t\t\tisStackedHorizontally,\n\t\t\tblockClientIds,\n\t\t\tparentWidth,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t\tgridProperties,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\n\t\t// Extracting the grid item properties here to avoid\n\t\t// re-renders in the blockListItem component.\n\t\tconst isGridItem = !! gridProperties;\n\t\tconst gridItemProps = gridProperties && {\n\t\t\tnumOfColumns: gridProperties.numColumns,\n\t\t\ttileCount: blockClientIds.length,\n\t\t\ttileIndex: blockClientIds.indexOf( clientId ),\n\t\t};\n\t\treturn (\n\t\t\t<BlockListItem\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentResizeMode={ contentResizeMode }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tshouldShowInnerBlockAppender={\n\t\t\t\t\tthis.shouldShowInnerBlockAppender\n\t\t\t\t}\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\tisGridItem={ isGridItem }\n\t\t\t\t{ ...gridItemProps }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderBlockListFooter() {\n\t\tconst paragraphBlock = createBlock( 'core/paragraph' );\n\t\tconst {\n\t\t\tisReadOnly,\n\t\t\twithFooter = true,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( ! isReadOnly && withFooter ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\taccessibilityLabel={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\ttestID={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\t\tthis.addBlockToEndOfPost( paragraphBlock );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.blockListFooter } />\n\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t</>\n\t\t\t);\n\t\t} else if ( renderFooterAppender ) {\n\t\t\treturn renderFooterAppender();\n\t\t}\n\t\treturn null;\n\t}\n}\n\nexport default compose( [\n\twithSelect(\n\t\t( select, { rootClientId, orientation, filterInnerBlocks } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tlet blockClientIds = getBlockOrder( rootClientId );\n\t\t\t// Display only block which fulfill the condition in passed `filterInnerBlocks` function.\n\t\t\tif ( filterInnerBlocks ) {\n\t\t\t\tblockClientIds = filterInnerBlocks( blockClientIds );\n\t\t\t}\n\n\t\t\tconst { maxWidth } = getSettings();\n\t\t\tconst isReadOnly = getSettings().readOnly;\n\n\t\t\tconst blockCount = getBlockCount();\n\t\t\tconst hasRootInnerBlocks = !! blockCount;\n\n\t\t\tconst isFloatingToolbarVisible =\n\t\t\t\t!! selectedBlockClientId && hasRootInnerBlocks;\n\t\t\tconst isRTL = getSettings().isRTL;\n\n\t\t\treturn {\n\t\t\t\tblockClientIds,\n\t\t\t\tblockCount,\n\t\t\t\tisBlockInsertionPointVisible:\n\t\t\t\t\tPlatform.OS === 'ios' && isBlockInsertionPointVisible(),\n\t\t\t\tisReadOnly,\n\t\t\t\tisRootList: rootClientId === undefined,\n\t\t\t\tisFloatingToolbarVisible,\n\t\t\t\tisStackedHorizontally,\n\t\t\t\tmaxWidth,\n\t\t\t\tisRTL,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { insertBlock, replaceBlock, clearSelectedBlock } = dispatch(\n\t\t\tblockEditorStore\n\t\t);\n\n\t\treturn {\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( BlockList );\n\nclass EmptyListComponent extends Component {\n\trender() {\n\t\tconst {\n\t\t\tshouldShowInsertionPoint,\n\t\t\trootClientId,\n\t\t\trenderAppender,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( renderFooterAppender ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ styles.defaultAppender }>\n\t\t\t\t<ReadableContentView\n\t\t\t\t\talign={\n\t\t\t\t\t\trenderAppender\n\t\t\t\t\t\t\t? WIDE_ALIGNMENTS.alignments.full\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\tshowSeparator={ shouldShowInsertionPoint }\n\t\t\t\t\t/>\n\t\t\t\t</ReadableContentView>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst EmptyListComponentCompose = compose( [\n\twithSelect( ( select, { rootClientId, orientation } ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockInsertionPointVisible,\n\t\t} = select( blockEditorStore );\n\n\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst blockInsertionPointIsVisible = isBlockInsertionPointVisible();\n\t\tconst shouldShowInsertionPoint =\n\t\t\t! isStackedHorizontally &&\n\t\t\tblockInsertionPointIsVisible &&\n\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t// If list is empty, show the insertion point (via the default appender)\n\t\t\t( blockClientIds.length === 0 ||\n\t\t\t\t// Or if the insertion point is right before the denoted block.\n\t\t\t\t! blockClientIds[ insertionPoint.index ] );\n\n\t\treturn {\n\t\t\tshouldShowInsertionPoint,\n\t\t};\n\t} ),\n] )( EmptyListComponent );\n"]}
|
|
@@ -77,10 +77,11 @@ const BLOCK_ANIMATION_THRESHOLD = 200;
|
|
|
77
77
|
* also pass any other props through this hook, and they will be merged and
|
|
78
78
|
* returned.
|
|
79
79
|
*
|
|
80
|
-
* @param {Object} props
|
|
81
|
-
*
|
|
82
|
-
* @param {Object} options
|
|
80
|
+
* @param {Object} props Optional. Props to pass to the element. Must contain
|
|
81
|
+
* the ref if one is defined.
|
|
82
|
+
* @param {Object} options Options for internal use only.
|
|
83
83
|
* @param {boolean} options.__unstableIsHtml
|
|
84
|
+
* @param {boolean} options.__unstableIsDisabled Whether the block should be disabled.
|
|
84
85
|
*
|
|
85
86
|
* @return {Object} Props to pass to the element to mark as a block.
|
|
86
87
|
*/
|
|
@@ -88,7 +89,8 @@ const BLOCK_ANIMATION_THRESHOLD = 200;
|
|
|
88
89
|
function useBlockProps() {
|
|
89
90
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
90
91
|
let {
|
|
91
|
-
__unstableIsHtml
|
|
92
|
+
__unstableIsHtml,
|
|
93
|
+
__unstableIsDisabled = false
|
|
92
94
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
93
95
|
const {
|
|
94
96
|
clientId,
|
|
@@ -140,6 +142,8 @@ function useBlockProps() {
|
|
|
140
142
|
adjustScrolling,
|
|
141
143
|
enableAnimation,
|
|
142
144
|
triggerAnimationOnChange: index
|
|
145
|
+
}), (0, _compose.useDisabled)({
|
|
146
|
+
isDisabled: !__unstableIsDisabled
|
|
143
147
|
})]);
|
|
144
148
|
const blockEditContext = (0, _context.useBlockEditContext)(); // Ensures it warns only inside the `edit` implementation for the block.
|
|
145
149
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"names":["BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","BlockListBlockContext","index","mode","name","blockApiVersion","blockTitle","isPartOfSelection","adjustScrolling","enableAnimation","select","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","blockEditorStore","isSelected","isPartOfMultiSelection","blockName","blockType","apiVersion","title","blockLabel","htmlSuffix","mergedRefs","ref","triggerAnimationOnChange","blockEditContext","id","tabIndex","role","style","save","getBlockProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useBlockClassNames } from './use-block-class-names';\nimport { useBlockDefaultClassName } from './use-block-default-class-name';\nimport { useBlockCustomClassName } from './use-block-custom-class-name';\nimport { useBlockMovingModeClassNames } from './use-block-moving-mode-class-names';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst { clientId, className, wrapperProps = {}, isAligned } = useContext(\n\t\tBlockListBlockContext\n\t);\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tisPartOfSelection: isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\tisSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! isTyping() &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( clientId ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseEventHandlers( clientId ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\ttabIndex: 0,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tclassName: classnames(\n\t\t\t// The wp-block className is important for editor styles.\n\t\t\tclassnames( 'block-editor-block-list__block', {\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t} ),\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tuseBlockClassNames( clientId ),\n\t\t\tuseBlockDefaultClassName( clientId ),\n\t\t\tuseBlockCustomClassName( clientId ),\n\t\t\tuseBlockMovingModeClassNames( clientId )\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"names":["BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","__unstableIsDisabled","clientId","className","wrapperProps","isAligned","BlockListBlockContext","index","mode","name","blockApiVersion","blockTitle","isPartOfSelection","adjustScrolling","enableAnimation","select","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","blockEditorStore","isSelected","isPartOfMultiSelection","blockName","blockType","apiVersion","title","blockLabel","htmlSuffix","mergedRefs","ref","triggerAnimationOnChange","isDisabled","blockEditContext","id","tabIndex","role","style","save","getBlockProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useDisabled } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useBlockClassNames } from './use-block-class-names';\nimport { useBlockDefaultClassName } from './use-block-default-class-name';\nimport { useBlockCustomClassName } from './use-block-custom-class-name';\nimport { useBlockMovingModeClassNames } from './use-block-moving-mode-class-names';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n * @param {boolean} options.__unstableIsDisabled Whether the block should be disabled.\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps(\n\tprops = {},\n\t{ __unstableIsHtml, __unstableIsDisabled = false } = {}\n) {\n\tconst { clientId, className, wrapperProps = {}, isAligned } = useContext(\n\t\tBlockListBlockContext\n\t);\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tisPartOfSelection: isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\tisSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! isTyping() &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( clientId ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseEventHandlers( clientId ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t\tuseDisabled( { isDisabled: ! __unstableIsDisabled } ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\ttabIndex: 0,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tclassName: classnames(\n\t\t\t// The wp-block className is important for editor styles.\n\t\t\tclassnames( 'block-editor-block-list__block', {\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t} ),\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tuseBlockClassNames( clientId ),\n\t\t\tuseBlockDefaultClassName( clientId ),\n\t\t\tuseBlockCustomClassName( clientId ),\n\t\t\tuseBlockMovingModeClassNames( clientId )\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"]}
|
|
@@ -44,11 +44,9 @@ function useBlockClassNames(clientId) {
|
|
|
44
44
|
getBlockName,
|
|
45
45
|
getSettings,
|
|
46
46
|
hasSelectedInnerBlock,
|
|
47
|
-
isTyping
|
|
48
|
-
__experimentalGetActiveBlockIdByBlockNames: getActiveBlockIdByBlockNames
|
|
47
|
+
isTyping
|
|
49
48
|
} = select(_store.store);
|
|
50
49
|
const {
|
|
51
|
-
__experimentalSpotlightEntityBlocks: spotlightEntityBlocks,
|
|
52
50
|
outlineMode
|
|
53
51
|
} = getSettings();
|
|
54
52
|
const isDragging = isBlockBeingDragged(clientId);
|
|
@@ -57,7 +55,6 @@ function useBlockClassNames(clientId) {
|
|
|
57
55
|
const checkDeep = true; // "ancestor" is the more appropriate label due to "deep" check.
|
|
58
56
|
|
|
59
57
|
const isAncestorOfSelectedBlock = hasSelectedInnerBlock(clientId, checkDeep);
|
|
60
|
-
const activeEntityBlockId = getActiveBlockIdByBlockNames(spotlightEntityBlocks);
|
|
61
58
|
return (0, _classnames.default)({
|
|
62
59
|
'is-selected': isSelected,
|
|
63
60
|
'is-highlighted': isBlockHighlighted(clientId),
|
|
@@ -65,9 +62,6 @@ function useBlockClassNames(clientId) {
|
|
|
65
62
|
'is-reusable': (0, _blocks.isReusableBlock)((0, _blocks.getBlockType)(name)),
|
|
66
63
|
'is-dragging': isDragging,
|
|
67
64
|
'has-child-selected': isAncestorOfSelectedBlock,
|
|
68
|
-
'has-active-entity': activeEntityBlockId,
|
|
69
|
-
// Determine if there is an active entity area to spotlight.
|
|
70
|
-
'is-active-entity': activeEntityBlockId === clientId,
|
|
71
65
|
'remove-outline': isSelected && outlineMode && isTyping()
|
|
72
66
|
});
|
|
73
67
|
}, [clientId]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/use-block-class-names.js"],"names":["useBlockClassNames","clientId","select","isBlockBeingDragged","isBlockHighlighted","isBlockSelected","isBlockMultiSelected","getBlockName","getSettings","hasSelectedInnerBlock","isTyping","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/use-block-class-names.js"],"names":["useBlockClassNames","clientId","select","isBlockBeingDragged","isBlockHighlighted","isBlockSelected","isBlockMultiSelected","getBlockName","getSettings","hasSelectedInnerBlock","isTyping","blockEditorStore","outlineMode","isDragging","isSelected","name","checkDeep","isAncestorOfSelectedBlock"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AAKA;;AAdA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,kBAAT,CAA6BC,QAA7B,EAAwC;AAC9C,SAAO,qBACJC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,mBADK;AAELC,MAAAA,kBAFK;AAGLC,MAAAA,eAHK;AAILC,MAAAA,oBAJK;AAKLC,MAAAA,YALK;AAMLC,MAAAA,WANK;AAOLC,MAAAA,qBAPK;AAQLC,MAAAA;AARK,QASFR,MAAM,CAAES,YAAF,CATV;AAUA,UAAM;AAAEC,MAAAA;AAAF,QAAkBJ,WAAW,EAAnC;AACA,UAAMK,UAAU,GAAGV,mBAAmB,CAAEF,QAAF,CAAtC;AACA,UAAMa,UAAU,GAAGT,eAAe,CAAEJ,QAAF,CAAlC;AACA,UAAMc,IAAI,GAAGR,YAAY,CAAEN,QAAF,CAAzB;AACA,UAAMe,SAAS,GAAG,IAAlB,CAfa,CAgBb;;AACA,UAAMC,yBAAyB,GAAGR,qBAAqB,CACtDR,QADsD,EAEtDe,SAFsD,CAAvD;AAIA,WAAO,yBAAY;AAClB,qBAAeF,UADG;AAElB,wBAAkBV,kBAAkB,CAAEH,QAAF,CAFlB;AAGlB,2BAAqBK,oBAAoB,CAAEL,QAAF,CAHvB;AAIlB,qBAAe,6BAAiB,0BAAcc,IAAd,CAAjB,CAJG;AAKlB,qBAAeF,UALG;AAMlB,4BAAsBI,yBANJ;AAOlB,wBAAkBH,UAAU,IAAIF,WAAd,IAA6BF,QAAQ;AAPrC,KAAZ,CAAP;AASA,GA/BK,EAgCN,CAAET,QAAF,CAhCM,CAAP;AAkCA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { isReusableBlock, getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * Returns the class names used for the different states of the block.\n *\n * @param {string} clientId The block client ID.\n *\n * @return {string} The class names.\n */\nexport function useBlockClassNames( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetSettings,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tisTyping,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { outlineMode } = getSettings();\n\t\t\tconst isDragging = isBlockBeingDragged( clientId );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst name = getBlockName( clientId );\n\t\t\tconst checkDeep = true;\n\t\t\t// \"ancestor\" is the more appropriate label due to \"deep\" check.\n\t\t\tconst isAncestorOfSelectedBlock = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\tcheckDeep\n\t\t\t);\n\t\t\treturn classnames( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-highlighted': isBlockHighlighted( clientId ),\n\t\t\t\t'is-multi-selected': isBlockMultiSelected( clientId ),\n\t\t\t\t'is-reusable': isReusableBlock( getBlockType( name ) ),\n\t\t\t\t'is-dragging': isDragging,\n\t\t\t\t'has-child-selected': isAncestorOfSelectedBlock,\n\t\t\t\t'remove-outline': isSelected && outlineMode && isTyping(),\n\t\t\t} );\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"]}
|
|
@@ -99,7 +99,7 @@ function useInBetweenInserter() {
|
|
|
99
99
|
// See https://github.com/WordPress/gutenberg/pull/34012#pullrequestreview-727762337
|
|
100
100
|
|
|
101
101
|
|
|
102
|
-
const parentOverlay = (_element$parentElemen = element.parentElement) === null || _element$parentElemen === void 0 ? void 0 : _element$parentElemen.closest('.block-editor-block-content-overlay
|
|
102
|
+
const parentOverlay = (_element$parentElemen = element.parentElement) === null || _element$parentElemen === void 0 ? void 0 : _element$parentElemen.closest('.block-editor-block-content-overlay');
|
|
103
103
|
|
|
104
104
|
if (parentOverlay) {
|
|
105
105
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-in-between-inserter.js"],"names":["useInBetweenInserter","openRef","InsertionPointOpenRef","hasReducedUI","select","blockEditorStore","getSettings","getBlockListSettings","getBlockRootClientId","getBlockIndex","isBlockInsertionPointVisible","isMultiSelecting","getSelectedBlockClientIds","getTemplateLock","showInsertionPoint","hideInsertionPoint","node","onMouseMove","event","current","target","classList","contains","rootClientId","blockElement","getAttribute","closest","orientation","rect","getBoundingClientRect","offsetTop","clientY","top","offsetLeft","clientX","left","children","Array","from","element","find","blockEl","id","firstElementChild","parentOverlay","parentElement","clientId","slice","length","includes","elementRect","bottom","right","index","__unstableWithInserter","addEventListener","removeEventListener"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-in-between-inserter.js"],"names":["useInBetweenInserter","openRef","InsertionPointOpenRef","hasReducedUI","select","blockEditorStore","getSettings","getBlockListSettings","getBlockRootClientId","getBlockIndex","isBlockInsertionPointVisible","isMultiSelecting","getSelectedBlockClientIds","getTemplateLock","showInsertionPoint","hideInsertionPoint","node","onMouseMove","event","current","target","classList","contains","rootClientId","blockElement","getAttribute","closest","orientation","rect","getBoundingClientRect","offsetTop","clientY","top","offsetLeft","clientX","left","children","Array","from","element","find","blockEl","id","firstElementChild","parentOverlay","parentElement","clientId","slice","length","includes","elementRect","bottom","right","index","__unstableWithInserter","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\n\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { InsertionPointOpenRef } from '../block-tools/insertion-point';\n\nexport function useInBetweenInserter() {\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst hasReducedUI = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().hasReducedUI,\n\t\t[]\n\t);\n\tconst {\n\t\tgetBlockListSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tisBlockInsertionPointVisible,\n\t\tisMultiSelecting,\n\t\tgetSelectedBlockClientIds,\n\t\tgetTemplateLock,\n\t} = useSelect( blockEditorStore );\n\tconst { showInsertionPoint, hideInsertionPoint } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( hasReducedUI ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction onMouseMove( event ) {\n\t\t\t\tif ( openRef.current ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( isMultiSelecting() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains(\n\t\t\t\t\t\t'block-editor-block-list__layout'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet rootClientId;\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains( 'is-root-container' )\n\t\t\t\t) {\n\t\t\t\t\tconst blockElement = !! event.target.getAttribute(\n\t\t\t\t\t\t'data-block'\n\t\t\t\t\t)\n\t\t\t\t\t\t? event.target\n\t\t\t\t\t\t: event.target.closest( '[data-block]' );\n\t\t\t\t\trootClientId = blockElement.getAttribute( 'data-block' );\n\t\t\t\t}\n\n\t\t\t\t// Don't set the insertion point if the template is locked.\n\t\t\t\tif ( getTemplateLock( rootClientId ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst orientation =\n\t\t\t\t\tgetBlockListSettings( rootClientId )?.orientation ||\n\t\t\t\t\t'vertical';\n\t\t\t\tconst rect = event.target.getBoundingClientRect();\n\t\t\t\tconst offsetTop = event.clientY - rect.top;\n\t\t\t\tconst offsetLeft = event.clientX - rect.left;\n\n\t\t\t\tconst children = Array.from( event.target.children );\n\t\t\t\tlet element = children.find( ( blockEl ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'vertical' &&\n\t\t\t\t\t\t\tblockEl.offsetTop > offsetTop ) ||\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'horizontal' &&\n\t\t\t\t\t\t\tblockEl.offsetLeft > offsetLeft )\n\t\t\t\t\t);\n\t\t\t\t} );\n\n\t\t\t\tif ( ! element ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// The block may be in an alignment wrapper, so check the first direct\n\t\t\t\t// child if the element has no ID.\n\t\t\t\tif ( ! element.id ) {\n\t\t\t\t\telement = element.firstElementChild;\n\n\t\t\t\t\tif ( ! element ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Don't show the insertion point if a parent block has an \"overlay\"\n\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/34012#pullrequestreview-727762337\n\t\t\t\tconst parentOverlay = element.parentElement?.closest(\n\t\t\t\t\t'.block-editor-block-content-overlay'\n\t\t\t\t);\n\t\t\t\tif ( parentOverlay ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst clientId = element.id.slice( 'block-'.length );\n\n\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Don't show the inserter when hovering above (conflicts with\n\t\t\t\t// block toolbar) or inside selected block(s).\n\t\t\t\tif ( getSelectedBlockClientIds().includes( clientId ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst elementRect = element.getBoundingClientRect();\n\n\t\t\t\tif (\n\t\t\t\t\t( orientation === 'horizontal' &&\n\t\t\t\t\t\t( event.clientY > elementRect.bottom ||\n\t\t\t\t\t\t\tevent.clientY < elementRect.top ) ) ||\n\t\t\t\t\t( orientation === 'vertical' &&\n\t\t\t\t\t\t( event.clientX > elementRect.right ||\n\t\t\t\t\t\t\tevent.clientX < elementRect.left ) )\n\t\t\t\t) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst index = getBlockIndex( clientId );\n\n\t\t\t\t// Don't show the in-between inserter before the first block in\n\t\t\t\t// the list (preserves the original behaviour).\n\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tshowInsertionPoint( rootClientId, index, {\n\t\t\t\t\t__unstableWithInserter: true,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mousemove', onMouseMove );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mousemove', onMouseMove );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\topenRef,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockIndex,\n\t\t\tisBlockInsertionPointVisible,\n\t\t\tisMultiSelecting,\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tgetSelectedBlockClientIds,\n\t\t]\n\t);\n}\n"]}
|
|
@@ -19,6 +19,8 @@ var _style = _interopRequireDefault(require("./style.scss"));
|
|
|
19
19
|
|
|
20
20
|
var _blockMover = _interopRequireDefault(require("../block-mover"));
|
|
21
21
|
|
|
22
|
+
var _blockDraggable = _interopRequireDefault(require("../block-draggable"));
|
|
23
|
+
|
|
22
24
|
var _blockActionsMenu = _interopRequireDefault(require("./block-actions-menu"));
|
|
23
25
|
|
|
24
26
|
var _blockSettings = require("../block-settings");
|
|
@@ -51,7 +53,8 @@ const BlockMobileToolbar = _ref => {
|
|
|
51
53
|
isStackedHorizontally,
|
|
52
54
|
blockWidth,
|
|
53
55
|
anchorNodeRef,
|
|
54
|
-
isFullWidth
|
|
56
|
+
isFullWidth,
|
|
57
|
+
draggingClientId
|
|
55
58
|
} = _ref;
|
|
56
59
|
const [fillsLength, setFillsLength] = (0, _element.useState)(null);
|
|
57
60
|
const [appenderWidth, setAppenderWidth] = (0, _element.useState)(0);
|
|
@@ -87,9 +90,13 @@ const BlockMobileToolbar = _ref => {
|
|
|
87
90
|
}, !wrapBlockMover && (0, _element.createElement)(_blockMover.default, {
|
|
88
91
|
clientIds: [clientId],
|
|
89
92
|
isStackedHorizontally: isStackedHorizontally
|
|
90
|
-
}), (0, _element.createElement)(
|
|
93
|
+
}), (0, _element.createElement)(_blockDraggable.default, {
|
|
94
|
+
clientId: clientId,
|
|
95
|
+
draggingClientId: draggingClientId,
|
|
96
|
+
testID: "draggable-trigger-mobile-toolbar"
|
|
97
|
+
}, () => (0, _element.createElement)(_reactNative.View, {
|
|
91
98
|
style: _style.default.spacer
|
|
92
|
-
}), (0, _element.createElement)(_blockSettings.BlockSettingsButton.Slot, null, function () {
|
|
99
|
+
})), (0, _element.createElement)(_blockSettings.BlockSettingsButton.Slot, null, function () {
|
|
93
100
|
let fills = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [null];
|
|
94
101
|
return (// The purpose of BlockSettingsButtonFill component is only to provide a way
|
|
95
102
|
// to pass data upstream from the slot rendering.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/index.native.js"],"names":["BREAKPOINTS","wrapSettings","wrapMover","BlockMobileToolbar","clientId","onDelete","isStackedHorizontally","blockWidth","anchorNodeRef","isFullWidth","fillsLength","setFillsLength","appenderWidth","setAppenderWidth","spacingValue","styles","toolbar","marginLeft","onLayout","nativeEvent","layout","layoutWidth","Math","floor","width","wrapBlockSettings","wrapBlockMover","BlockSettingsButtonFill","fillProps","onChangeFillsLength","children","toolbarFullWidth","spacer","fills","length","select","getBlockIndex","blockEditorStore","order","dispatch","rootClientId","removeBlock"],"mappings":";;;;;;;;;AAUA;;AAPA;;AAKA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/index.native.js"],"names":["BREAKPOINTS","wrapSettings","wrapMover","BlockMobileToolbar","clientId","onDelete","isStackedHorizontally","blockWidth","anchorNodeRef","isFullWidth","draggingClientId","fillsLength","setFillsLength","appenderWidth","setAppenderWidth","spacingValue","styles","toolbar","marginLeft","onLayout","nativeEvent","layout","layoutWidth","Math","floor","width","wrapBlockSettings","wrapBlockMover","BlockSettingsButtonFill","fillProps","onChangeFillsLength","children","toolbarFullWidth","spacer","fills","length","select","getBlockIndex","blockEditorStore","order","dispatch","rootClientId","removeBlock"],"mappings":";;;;;;;;;AAUA;;AAPA;;AAKA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AApBA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAQA;AACA;AACA;AACA,MAAMA,WAAW,GAAG;AACnBC,EAAAA,YAAY,EAAE,EADK;AAEnBC,EAAAA,SAAS,EAAE;AAFQ,CAApB;;AAIA,MAAMC,kBAAkB,GAAG,QAQpB;AAAA,MARsB;AAC5BC,IAAAA,QAD4B;AAE5BC,IAAAA,QAF4B;AAG5BC,IAAAA,qBAH4B;AAI5BC,IAAAA,UAJ4B;AAK5BC,IAAAA,aAL4B;AAM5BC,IAAAA,WAN4B;AAO5BC,IAAAA;AAP4B,GAQtB;AACN,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkC,uBAAU,IAAV,CAAxC;AACA,QAAM,CAAEC,aAAF,EAAiBC,gBAAjB,IAAsC,uBAAU,CAAV,CAA5C;AACA,QAAMC,YAAY,GAAGC,eAAOC,OAAP,CAAeC,UAAf,GAA4B,CAAjD;;AAEA,WAASC,QAAT,QAAqC;AAAA,QAAlB;AAAEC,MAAAA;AAAF,KAAkB;AACpC,UAAM;AAAEC,MAAAA;AAAF,QAAaD,WAAnB;AACA,UAAME,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAYH,MAAM,CAACI,KAAnB,CAApB;;AACA,QAAKH,WAAW,KAAKT,aAArB,EAAqC;AACpCC,MAAAA,gBAAgB,CAAEM,WAAW,CAACC,MAAZ,CAAmBI,KAArB,CAAhB;AACA;AACD;;AAED,QAAMC,iBAAiB,GACtBnB,UAAU,GAAGP,WAAW,CAACC,YAAzB,IACAY,aAAa,GAAGE,YAAhB,GAA+Bf,WAAW,CAACC,YAF5C;AAGA,QAAM0B,cAAc,GACnBpB,UAAU,IAAIP,WAAW,CAACE,SAA1B,IACAW,aAAa,GAAGE,YAAhB,IAAgCf,WAAW,CAACE,SAF7C;;AAIA,QAAM0B,uBAAuB,GAAKC,SAAF,IAAiB;AAAA;;AAChD,4BACC,MAAMA,SAAS,CAACC,mBAAV,CAA+BD,SAAS,CAAClB,WAAzC,CADP,EAEC,CAAEkB,SAAS,CAAClB,WAAZ,CAFD;AAIA,kCAAOkB,SAAS,CAACE,QAAjB,qEAA6B,IAA7B;AACA,GAND;;AAQA,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,CAAEf,eAAOC,OAAT,EAAkBR,WAAW,IAAIO,eAAOgB,gBAAxC,CADT;AAEC,IAAA,QAAQ,EAAGb;AAFZ,KAIG,CAAEQ,cAAF,IACD,4BAAC,mBAAD;AACC,IAAA,SAAS,EAAG,CAAEvB,QAAF,CADb;AAEC,IAAA,qBAAqB,EAAGE;AAFzB,IALF,EAWC,4BAAC,uBAAD;AACC,IAAA,QAAQ,EAAGF,QADZ;AAEC,IAAA,gBAAgB,EAAGM,gBAFpB;AAGC,IAAA,MAAM,EAAC;AAHR,KAKG,MAAM,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGM,eAAOiB;AAArB,IALT,CAXD,EAmBC,4BAAC,kCAAD,CAAqB,IAArB,QAEG;AAAA,QAAEC,KAAF,uEAAU,CAAE,IAAF,CAAV;AAAA,WACD;AACA;AACA,kCAAC,uBAAD;AACC,QAAA,WAAW,EAAGA,KAAK,CAACC,MADrB;AAEC,QAAA,mBAAmB,EAAGvB;AAFvB,SAIGc,iBAAiB,GAAG,IAAH,GAAUQ,KAAK,CAAE,CAAF,CAJnC;AAHC;AAAA,GAFH,CAnBD,EAiCC,4BAAC,yBAAD;AACC,IAAA,SAAS,EAAG,CAAE9B,QAAF,CADb;AAEC,IAAA,cAAc,EAAGuB,cAFlB;AAGC,IAAA,iBAAiB,EAAGD,iBAAiB,IAAIf,WAH1C;AAIC,IAAA,qBAAqB,EAAGL,qBAJzB;AAKC,IAAA,QAAQ,EAAGD,QALZ;AAMC,IAAA,aAAa,EAAGG;AANjB,IAjCD,CADD;AA4CA,CAhFD;;eAkFe,sBACd,sBAAY,CAAE4B,MAAF,YAA4B;AAAA,MAAlB;AAAEhC,IAAAA;AAAF,GAAkB;AACvC,QAAM;AAAEiC,IAAAA;AAAF,MAAoBD,MAAM,CAAEE,YAAF,CAAhC;AAEA,SAAO;AACNC,IAAAA,KAAK,EAAEF,aAAa,CAAEjC,QAAF;AADd,GAAP;AAGA,CAND,CADc,EAQd,wBAAc,CAAEoC,QAAF,YAAsD;AAAA,MAA1C;AAAEpC,IAAAA,QAAF;AAAYqC,IAAAA,YAAZ;AAA0BpC,IAAAA;AAA1B,GAA0C;AACnE,QAAM;AAAEqC,IAAAA;AAAF,MAAkBF,QAAQ,CAAEF,YAAF,CAAhC;AACA,SAAO;AACNjC,IAAAA,QAAQ,EACPA,QAAQ,KAAM,MAAMqC,WAAW,CAAEtC,QAAF,EAAYqC,YAAZ,CAAvB;AAFH,GAAP;AAIA,CAND,CARc,EAeZtC,kBAfY,C","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockMover from '../block-mover';\nimport BlockDraggable from '../block-draggable';\nimport BlockActionsMenu from './block-actions-menu';\nimport { BlockSettingsButton } from '../block-settings';\nimport { store as blockEditorStore } from '../../store';\n\n// Defined breakpoints are used to get a point when\n// `settings` and `mover` controls should be wrapped into `BlockActionsMenu`\n// and accessed through `BottomSheet`(Android)/`ActionSheet`(iOS).\nconst BREAKPOINTS = {\n\twrapSettings: 65,\n\twrapMover: 150,\n};\nconst BlockMobileToolbar = ( {\n\tclientId,\n\tonDelete,\n\tisStackedHorizontally,\n\tblockWidth,\n\tanchorNodeRef,\n\tisFullWidth,\n\tdraggingClientId,\n} ) => {\n\tconst [ fillsLength, setFillsLength ] = useState( null );\n\tconst [ appenderWidth, setAppenderWidth ] = useState( 0 );\n\tconst spacingValue = styles.toolbar.marginLeft * 2;\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( layoutWidth !== appenderWidth ) {\n\t\t\tsetAppenderWidth( nativeEvent.layout.width );\n\t\t}\n\t}\n\n\tconst wrapBlockSettings =\n\t\tblockWidth < BREAKPOINTS.wrapSettings ||\n\t\tappenderWidth - spacingValue < BREAKPOINTS.wrapSettings;\n\tconst wrapBlockMover =\n\t\tblockWidth <= BREAKPOINTS.wrapMover ||\n\t\tappenderWidth - spacingValue <= BREAKPOINTS.wrapMover;\n\n\tconst BlockSettingsButtonFill = ( fillProps ) => {\n\t\tuseEffect(\n\t\t\t() => fillProps.onChangeFillsLength( fillProps.fillsLength ),\n\t\t\t[ fillProps.fillsLength ]\n\t\t);\n\t\treturn fillProps.children ?? null;\n\t};\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [ styles.toolbar, isFullWidth && styles.toolbarFullWidth ] }\n\t\t\tonLayout={ onLayout }\n\t\t>\n\t\t\t{ ! wrapBlockMover && (\n\t\t\t\t<BlockMover\n\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<BlockDraggable\n\t\t\t\tclientId={ clientId }\n\t\t\t\tdraggingClientId={ draggingClientId }\n\t\t\t\ttestID=\"draggable-trigger-mobile-toolbar\"\n\t\t\t>\n\t\t\t\t{ () => <View style={ styles.spacer } /> }\n\t\t\t</BlockDraggable>\n\n\t\t\t<BlockSettingsButton.Slot>\n\t\t\t\t{ /* Render only one settings icon even if we have more than one fill - need for hooks with controls. */ }\n\t\t\t\t{ ( fills = [ null ] ) => (\n\t\t\t\t\t// The purpose of BlockSettingsButtonFill component is only to provide a way\n\t\t\t\t\t// to pass data upstream from the slot rendering.\n\t\t\t\t\t<BlockSettingsButtonFill\n\t\t\t\t\t\tfillsLength={ fills.length }\n\t\t\t\t\t\tonChangeFillsLength={ setFillsLength }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ wrapBlockSettings ? null : fills[ 0 ] }\n\t\t\t\t\t</BlockSettingsButtonFill>\n\t\t\t\t) }\n\t\t\t</BlockSettingsButton.Slot>\n\n\t\t\t<BlockActionsMenu\n\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\twrapBlockMover={ wrapBlockMover }\n\t\t\t\twrapBlockSettings={ wrapBlockSettings && fillsLength }\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\tonDelete={ onDelete }\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlockIndex } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\torder: getBlockIndex( clientId ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId, rootClientId, onDelete } ) => {\n\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tonDelete:\n\t\t\t\tonDelete || ( () => removeBlock( clientId, rootClientId ) ),\n\t\t};\n\t} )\n)( BlockMobileToolbar );\n"]}
|
|
@@ -53,6 +53,7 @@ const BlockMover = _ref => {
|
|
|
53
53
|
isStackedHorizontally
|
|
54
54
|
} = _ref;
|
|
55
55
|
const pickerRef = (0, _element.useRef)();
|
|
56
|
+
const [shouldPresentPicker, setShouldPresentPicker] = (0, _element.useState)(false);
|
|
56
57
|
const [blockPageMoverState, setBlockPageMoverState] = (0, _element.useState)(undefined);
|
|
57
58
|
|
|
58
59
|
const showBlockPageMover = direction => () => {
|
|
@@ -62,9 +63,18 @@ const BlockMover = _ref => {
|
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
setBlockPageMoverState(direction);
|
|
65
|
-
|
|
66
|
-
};
|
|
66
|
+
setShouldPresentPicker(true);
|
|
67
|
+
}; // Ensure that the picker is only presented after state updates.
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
(0, _element.useEffect)(() => {
|
|
71
|
+
if (shouldPresentPicker) {
|
|
72
|
+
var _pickerRef$current;
|
|
67
73
|
|
|
74
|
+
(_pickerRef$current = pickerRef.current) === null || _pickerRef$current === void 0 ? void 0 : _pickerRef$current.presentPicker();
|
|
75
|
+
setShouldPresentPicker(false);
|
|
76
|
+
}
|
|
77
|
+
}, [shouldPresentPicker]);
|
|
68
78
|
const {
|
|
69
79
|
description: {
|
|
70
80
|
backwardButtonHint,
|
|
@@ -104,6 +114,9 @@ const BlockMover = _ref => {
|
|
|
104
114
|
if (option && option.onSelect) option.onSelect();
|
|
105
115
|
};
|
|
106
116
|
|
|
117
|
+
const onLongPressMoveUp = (0, _element.useCallback)(showBlockPageMover(BLOCK_MOVER_DIRECTION_TOP), []);
|
|
118
|
+
const onLongPressMoveDown = (0, _element.useCallback)(showBlockPageMover(BLOCK_MOVER_DIRECTION_BOTTOM), []);
|
|
119
|
+
|
|
107
120
|
if (!canMove || isFirst && isLast && !rootClientId) {
|
|
108
121
|
return null;
|
|
109
122
|
}
|
|
@@ -112,7 +125,7 @@ const BlockMover = _ref => {
|
|
|
112
125
|
title: !isFirst ? backwardButtonTitle : firstBlockTitle,
|
|
113
126
|
isDisabled: isFirst,
|
|
114
127
|
onClick: onMoveUp,
|
|
115
|
-
onLongPress:
|
|
128
|
+
onLongPress: onLongPressMoveUp,
|
|
116
129
|
icon: backwardButtonIcon,
|
|
117
130
|
extraProps: {
|
|
118
131
|
hint: backwardButtonHint
|
|
@@ -121,7 +134,7 @@ const BlockMover = _ref => {
|
|
|
121
134
|
title: !isLast ? forwardButtonTitle : lastBlockTitle,
|
|
122
135
|
isDisabled: isLast,
|
|
123
136
|
onClick: onMoveDown,
|
|
124
|
-
onLongPress:
|
|
137
|
+
onLongPress: onLongPressMoveDown,
|
|
125
138
|
icon: forwardButtonIcon,
|
|
126
139
|
extraProps: {
|
|
127
140
|
hint: forwardButtonHint
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/index.native.js"],"names":["BLOCK_MOVER_DIRECTION_TOP","BLOCK_MOVER_DIRECTION_BOTTOM","BlockMover","isFirst","isLast","canMove","onMoveDown","onMoveUp","onLongMove","firstIndex","numberOfBlocks","rootClientId","isStackedHorizontally","pickerRef","blockPageMoverState","setBlockPageMoverState","undefined","showBlockPageMover","direction","current","presentPicker","description","backwardButtonHint","forwardButtonHint","firstBlockTitle","lastBlockTitle","icon","backward","backwardButtonIcon","forward","forwardButtonIcon","title","backwardButtonTitle","forwardButtonTitle","blockPageMoverOptions","label","value","onSelect","filter","el","onPickerSelect","option","find","hint","Platform","OS","select","clientIds","getBlockIndex","canMoveBlocks","getBlockRootClientId","getBlockOrder","blockEditorStore","normalizedClientIds","firstClientId","blockOrder","lastIndex","length","dispatch","moveBlocksDown","moveBlocksUp","moveBlocksToPosition","targetIndex","withInstanceId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { first, last, partial, castArray } from 'lodash';\nimport { Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Picker, ToolbarButton } from '@wordpress/components';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { useRef, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from './mover-description';\nimport { store as blockEditorStore } from '../../store';\n\nexport const BLOCK_MOVER_DIRECTION_TOP = 'blockPageMoverOptions-moveToTop';\nexport const BLOCK_MOVER_DIRECTION_BOTTOM =\n\t'blockPageMoverOptions-moveToBottom';\n\nexport const BlockMover = ( {\n\tisFirst,\n\tisLast,\n\tcanMove,\n\tonMoveDown,\n\tonMoveUp,\n\tonLongMove,\n\tfirstIndex,\n\tnumberOfBlocks,\n\trootClientId,\n\tisStackedHorizontally,\n} ) => {\n\tconst pickerRef = useRef();\n\tconst [ blockPageMoverState, setBlockPageMoverState ] = useState(\n\t\tundefined\n\t);\n\tconst showBlockPageMover = ( direction ) => () => {\n\t\tif ( ! pickerRef.current ) {\n\t\t\tsetBlockPageMoverState( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetBlockPageMoverState( direction );\n\t\tpickerRef.current.presentPicker();\n\t};\n\n\tconst {\n\t\tdescription: {\n\t\t\tbackwardButtonHint,\n\t\t\tforwardButtonHint,\n\t\t\tfirstBlockTitle,\n\t\t\tlastBlockTitle,\n\t\t},\n\t\ticon: { backward: backwardButtonIcon, forward: forwardButtonIcon },\n\t\ttitle: { backward: backwardButtonTitle, forward: forwardButtonTitle },\n\t} = getMoversSetup( isStackedHorizontally, { firstIndex } );\n\n\tconst blockPageMoverOptions = [\n\t\t{\n\t\t\ticon: backwardButtonIcon,\n\t\t\tlabel: __( 'Move to top' ),\n\t\t\tvalue: BLOCK_MOVER_DIRECTION_TOP,\n\t\t\tonSelect: () => {\n\t\t\t\tonLongMove()( 0 );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ticon: forwardButtonIcon,\n\t\t\tlabel: __( 'Move to bottom' ),\n\t\t\tvalue: BLOCK_MOVER_DIRECTION_BOTTOM,\n\t\t\tonSelect: () => {\n\t\t\t\tonLongMove()( numberOfBlocks );\n\t\t\t},\n\t\t},\n\t].filter( ( el ) => el.value === blockPageMoverState );\n\n\tconst onPickerSelect = ( value ) => {\n\t\tconst option = blockPageMoverOptions.find(\n\t\t\t( el ) => el.value === value\n\t\t);\n\t\tif ( option && option.onSelect ) option.onSelect();\n\t};\n\n\tif ( ! canMove || ( isFirst && isLast && ! rootClientId ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ ! isFirst ? backwardButtonTitle : firstBlockTitle }\n\t\t\t\tisDisabled={ isFirst }\n\t\t\t\tonClick={ onMoveUp }\n\t\t\t\tonLongPress={ showBlockPageMover( BLOCK_MOVER_DIRECTION_TOP ) }\n\t\t\t\ticon={ backwardButtonIcon }\n\t\t\t\textraProps={ { hint: backwardButtonHint } }\n\t\t\t/>\n\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ ! isLast ? forwardButtonTitle : lastBlockTitle }\n\t\t\t\tisDisabled={ isLast }\n\t\t\t\tonClick={ onMoveDown }\n\t\t\t\tonLongPress={ showBlockPageMover(\n\t\t\t\t\tBLOCK_MOVER_DIRECTION_BOTTOM\n\t\t\t\t) }\n\t\t\t\ticon={ forwardButtonIcon }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: forwardButtonHint,\n\t\t\t\t} }\n\t\t\t/>\n\n\t\t\t<Picker\n\t\t\t\tref={ pickerRef }\n\t\t\t\toptions={ blockPageMoverOptions }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\ttitle={ __( 'Change block position' ) }\n\t\t\t\tleftAlign={ true }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default compose(\n\twithSelect( ( select, { clientIds } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tcanMoveBlocks,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t} = select( blockEditorStore );\n\t\tconst normalizedClientIds = castArray( clientIds );\n\t\tconst firstClientId = first( normalizedClientIds );\n\t\tconst rootClientId = getBlockRootClientId( firstClientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\t\tconst firstIndex = getBlockIndex( firstClientId );\n\t\tconst lastIndex = getBlockIndex( last( normalizedClientIds ) );\n\n\t\treturn {\n\t\t\tfirstIndex,\n\t\t\tnumberOfBlocks: blockOrder.length - 1,\n\t\t\tisFirst: firstIndex === 0,\n\t\t\tisLast: lastIndex === blockOrder.length - 1,\n\t\t\tcanMove: canMoveBlocks( clientIds, rootClientId ),\n\t\t\trootClientId,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientIds, rootClientId } ) => {\n\t\tconst { moveBlocksDown, moveBlocksUp, moveBlocksToPosition } = dispatch(\n\t\t\tblockEditorStore\n\t\t);\n\t\treturn {\n\t\t\tonMoveDown: partial( moveBlocksDown, clientIds, rootClientId ),\n\t\t\tonMoveUp: partial( moveBlocksUp, clientIds, rootClientId ),\n\t\t\tonLongMove: ( targetIndex ) =>\n\t\t\t\tpartial(\n\t\t\t\t\tmoveBlocksToPosition,\n\t\t\t\t\tclientIds,\n\t\t\t\t\trootClientId,\n\t\t\t\t\ttargetIndex\n\t\t\t\t),\n\t\t};\n\t} ),\n\twithInstanceId\n)( BlockMover );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/index.native.js"],"names":["BLOCK_MOVER_DIRECTION_TOP","BLOCK_MOVER_DIRECTION_BOTTOM","BlockMover","isFirst","isLast","canMove","onMoveDown","onMoveUp","onLongMove","firstIndex","numberOfBlocks","rootClientId","isStackedHorizontally","pickerRef","shouldPresentPicker","setShouldPresentPicker","blockPageMoverState","setBlockPageMoverState","undefined","showBlockPageMover","direction","current","presentPicker","description","backwardButtonHint","forwardButtonHint","firstBlockTitle","lastBlockTitle","icon","backward","backwardButtonIcon","forward","forwardButtonIcon","title","backwardButtonTitle","forwardButtonTitle","blockPageMoverOptions","label","value","onSelect","filter","el","onPickerSelect","option","find","onLongPressMoveUp","onLongPressMoveDown","hint","Platform","OS","select","clientIds","getBlockIndex","canMoveBlocks","getBlockRootClientId","getBlockOrder","blockEditorStore","normalizedClientIds","firstClientId","blockOrder","lastIndex","length","dispatch","moveBlocksDown","moveBlocksUp","moveBlocksToPosition","targetIndex","withInstanceId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { first, last, partial, castArray } from 'lodash';\nimport { Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Picker, ToolbarButton } from '@wordpress/components';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { useCallback, useEffect, useRef, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from './mover-description';\nimport { store as blockEditorStore } from '../../store';\n\nexport const BLOCK_MOVER_DIRECTION_TOP = 'blockPageMoverOptions-moveToTop';\nexport const BLOCK_MOVER_DIRECTION_BOTTOM =\n\t'blockPageMoverOptions-moveToBottom';\n\nexport const BlockMover = ( {\n\tisFirst,\n\tisLast,\n\tcanMove,\n\tonMoveDown,\n\tonMoveUp,\n\tonLongMove,\n\tfirstIndex,\n\tnumberOfBlocks,\n\trootClientId,\n\tisStackedHorizontally,\n} ) => {\n\tconst pickerRef = useRef();\n\tconst [ shouldPresentPicker, setShouldPresentPicker ] = useState( false );\n\tconst [ blockPageMoverState, setBlockPageMoverState ] = useState(\n\t\tundefined\n\t);\n\tconst showBlockPageMover = ( direction ) => () => {\n\t\tif ( ! pickerRef.current ) {\n\t\t\tsetBlockPageMoverState( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetBlockPageMoverState( direction );\n\t\tsetShouldPresentPicker( true );\n\t};\n\n\t// Ensure that the picker is only presented after state updates.\n\tuseEffect( () => {\n\t\tif ( shouldPresentPicker ) {\n\t\t\tpickerRef.current?.presentPicker();\n\t\t\tsetShouldPresentPicker( false );\n\t\t}\n\t}, [ shouldPresentPicker ] );\n\n\tconst {\n\t\tdescription: {\n\t\t\tbackwardButtonHint,\n\t\t\tforwardButtonHint,\n\t\t\tfirstBlockTitle,\n\t\t\tlastBlockTitle,\n\t\t},\n\t\ticon: { backward: backwardButtonIcon, forward: forwardButtonIcon },\n\t\ttitle: { backward: backwardButtonTitle, forward: forwardButtonTitle },\n\t} = getMoversSetup( isStackedHorizontally, { firstIndex } );\n\n\tconst blockPageMoverOptions = [\n\t\t{\n\t\t\ticon: backwardButtonIcon,\n\t\t\tlabel: __( 'Move to top' ),\n\t\t\tvalue: BLOCK_MOVER_DIRECTION_TOP,\n\t\t\tonSelect: () => {\n\t\t\t\tonLongMove()( 0 );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ticon: forwardButtonIcon,\n\t\t\tlabel: __( 'Move to bottom' ),\n\t\t\tvalue: BLOCK_MOVER_DIRECTION_BOTTOM,\n\t\t\tonSelect: () => {\n\t\t\t\tonLongMove()( numberOfBlocks );\n\t\t\t},\n\t\t},\n\t].filter( ( el ) => el.value === blockPageMoverState );\n\n\tconst onPickerSelect = ( value ) => {\n\t\tconst option = blockPageMoverOptions.find(\n\t\t\t( el ) => el.value === value\n\t\t);\n\t\tif ( option && option.onSelect ) option.onSelect();\n\t};\n\n\tconst onLongPressMoveUp = useCallback(\n\t\tshowBlockPageMover( BLOCK_MOVER_DIRECTION_TOP ),\n\t\t[]\n\t);\n\tconst onLongPressMoveDown = useCallback(\n\t\tshowBlockPageMover( BLOCK_MOVER_DIRECTION_BOTTOM ),\n\t\t[]\n\t);\n\n\tif ( ! canMove || ( isFirst && isLast && ! rootClientId ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ ! isFirst ? backwardButtonTitle : firstBlockTitle }\n\t\t\t\tisDisabled={ isFirst }\n\t\t\t\tonClick={ onMoveUp }\n\t\t\t\tonLongPress={ onLongPressMoveUp }\n\t\t\t\ticon={ backwardButtonIcon }\n\t\t\t\textraProps={ { hint: backwardButtonHint } }\n\t\t\t/>\n\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ ! isLast ? forwardButtonTitle : lastBlockTitle }\n\t\t\t\tisDisabled={ isLast }\n\t\t\t\tonClick={ onMoveDown }\n\t\t\t\tonLongPress={ onLongPressMoveDown }\n\t\t\t\ticon={ forwardButtonIcon }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: forwardButtonHint,\n\t\t\t\t} }\n\t\t\t/>\n\n\t\t\t<Picker\n\t\t\t\tref={ pickerRef }\n\t\t\t\toptions={ blockPageMoverOptions }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\ttitle={ __( 'Change block position' ) }\n\t\t\t\tleftAlign={ true }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default compose(\n\twithSelect( ( select, { clientIds } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tcanMoveBlocks,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t} = select( blockEditorStore );\n\t\tconst normalizedClientIds = castArray( clientIds );\n\t\tconst firstClientId = first( normalizedClientIds );\n\t\tconst rootClientId = getBlockRootClientId( firstClientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\t\tconst firstIndex = getBlockIndex( firstClientId );\n\t\tconst lastIndex = getBlockIndex( last( normalizedClientIds ) );\n\n\t\treturn {\n\t\t\tfirstIndex,\n\t\t\tnumberOfBlocks: blockOrder.length - 1,\n\t\t\tisFirst: firstIndex === 0,\n\t\t\tisLast: lastIndex === blockOrder.length - 1,\n\t\t\tcanMove: canMoveBlocks( clientIds, rootClientId ),\n\t\t\trootClientId,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientIds, rootClientId } ) => {\n\t\tconst { moveBlocksDown, moveBlocksUp, moveBlocksToPosition } = dispatch(\n\t\t\tblockEditorStore\n\t\t);\n\t\treturn {\n\t\t\tonMoveDown: partial( moveBlocksDown, clientIds, rootClientId ),\n\t\t\tonMoveUp: partial( moveBlocksUp, clientIds, rootClientId ),\n\t\t\tonLongMove: ( targetIndex ) =>\n\t\t\t\tpartial(\n\t\t\t\t\tmoveBlocksToPosition,\n\t\t\t\t\tclientIds,\n\t\t\t\t\trootClientId,\n\t\t\t\t\ttargetIndex\n\t\t\t\t),\n\t\t};\n\t} ),\n\twithInstanceId\n)( BlockMover );\n"]}
|
|
@@ -11,6 +11,8 @@ var _element = require("@wordpress/element");
|
|
|
11
11
|
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
13
|
|
|
14
|
+
var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
|
|
15
|
+
|
|
14
16
|
var _components = require("@wordpress/components");
|
|
15
17
|
|
|
16
18
|
var _i18n = require("@wordpress/i18n");
|
|
@@ -23,6 +25,10 @@ var _listView = _interopRequireDefault(require("../list-view"));
|
|
|
23
25
|
|
|
24
26
|
var _store = require("../../store");
|
|
25
27
|
|
|
28
|
+
/**
|
|
29
|
+
* WordPress dependencies
|
|
30
|
+
*/
|
|
31
|
+
|
|
26
32
|
/**
|
|
27
33
|
* WordPress dependencies
|
|
28
34
|
*/
|
|
@@ -55,9 +61,12 @@ function BlockNavigationDropdownToggle(_ref) {
|
|
|
55
61
|
function BlockNavigationDropdown(_ref2, ref) {
|
|
56
62
|
let {
|
|
57
63
|
isDisabled,
|
|
58
|
-
__experimentalFeatures,
|
|
59
64
|
...props
|
|
60
65
|
} = _ref2;
|
|
66
|
+
(0, _deprecated.default)('wp.blockEditor.BlockNavigationDropdown', {
|
|
67
|
+
since: '6.1',
|
|
68
|
+
alternative: 'wp.components.Dropdown and wp.blockEditor.ListView'
|
|
69
|
+
});
|
|
61
70
|
const hasBlocks = (0, _data.useSelect)(select => !!select(_store.store).getBlockCount(), []);
|
|
62
71
|
const isEnabled = hasBlocks && !isDisabled;
|
|
63
72
|
return (0, _element.createElement)(_components.Dropdown, {
|
|
@@ -79,10 +88,7 @@ function BlockNavigationDropdown(_ref2, ref) {
|
|
|
79
88
|
className: "block-editor-block-navigation__container"
|
|
80
89
|
}, (0, _element.createElement)("p", {
|
|
81
90
|
className: "block-editor-block-navigation__label"
|
|
82
|
-
}, (0, _i18n.__)('List view')), (0, _element.createElement)(_listView.default,
|
|
83
|
-
showNestedBlocks: true,
|
|
84
|
-
__experimentalFeatures: __experimentalFeatures
|
|
85
|
-
}))
|
|
91
|
+
}, (0, _i18n.__)('List view')), (0, _element.createElement)(_listView.default, null))
|
|
86
92
|
});
|
|
87
93
|
}
|
|
88
94
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-navigation/dropdown.js"],"names":["BlockNavigationDropdownToggle","isEnabled","onToggle","isOpen","innerRef","props","listView","undefined","BlockNavigationDropdown","ref","isDisabled","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-navigation/dropdown.js"],"names":["BlockNavigationDropdownToggle","isEnabled","onToggle","isOpen","innerRef","props","listView","undefined","BlockNavigationDropdown","ref","isDisabled","since","alternative","hasBlocks","select","blockEditorStore","getBlockCount"],"mappings":";;;;;;;;;AAWA;;;;AARA;;AAKA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAIA,SAASA,6BAAT,OAMI;AAAA,MANoC;AACvCC,IAAAA,SADuC;AAEvCC,IAAAA,QAFuC;AAGvCC,IAAAA,MAHuC;AAIvCC,IAAAA,QAJuC;AAKvC,OAAGC;AALoC,GAMpC;AACH,SACC,4BAAC,kBAAD,6BACMA,KADN;AAEC,IAAA,GAAG,EAAGD,QAFP;AAGC,IAAA,IAAI,EAAGE,eAHR;AAIC,qBAAgBH,MAJjB;AAKC,qBAAc,MALf;AAMC,IAAA,OAAO,EAAGF,SAAS,GAAGC,QAAH,GAAcK;AACjC;AAPD;AAQC,IAAA,KAAK,EAAG,cAAI,WAAJ,CART;AASC,IAAA,SAAS,EAAC,+BATX;AAUC,qBAAgB,CAAEN;AAVnB,KADD;AAcA;;AAED,SAASO,uBAAT,QAA4DC,GAA5D,EAAkE;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAc,OAAGL;AAAjB,GAAgC;AACjE,2BAAY,wCAAZ,EAAsD;AACrDM,IAAAA,KAAK,EAAE,KAD8C;AAErDC,IAAAA,WAAW,EAAE;AAFwC,GAAtD;AAKA,QAAMC,SAAS,GAAG,qBACfC,MAAF,IAAc,CAAC,CAAEA,MAAM,CAAEC,YAAF,CAAN,CAA2BC,aAA3B,EADA,EAEjB,EAFiB,CAAlB;AAIA,QAAMf,SAAS,GAAGY,SAAS,IAAI,CAAEH,UAAjC;AAEA,SACC,4BAAC,oBAAD;AACC,IAAA,gBAAgB,EAAC,wCADlB;AAEC,IAAA,QAAQ,EAAC,cAFV;AAGC,IAAA,YAAY,EAAG;AAAA,UAAE;AAAEP,QAAAA,MAAF;AAAUD,QAAAA;AAAV,OAAF;AAAA,aACd,4BAAC,6BAAD,6BACMG,KADN;AAEC,QAAA,QAAQ,EAAGI,GAFZ;AAGC,QAAA,MAAM,EAAGN,MAHV;AAIC,QAAA,QAAQ,EAAGD,QAJZ;AAKC,QAAA,SAAS,EAAGD;AALb,SADc;AAAA,KAHhB;AAYC,IAAA,aAAa,EAAG,MACf;AAAK,MAAA,SAAS,EAAC;AAAf,OACC;AAAG,MAAA,SAAS,EAAC;AAAb,OACG,cAAI,WAAJ,CADH,CADD,EAKC,4BAAC,iBAAD,OALD;AAbF,IADD;AAwBA;;eAEc,yBAAYO,uBAAZ,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Dropdown } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { listView } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ListView from '../list-view';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockNavigationDropdownToggle( {\n\tisEnabled,\n\tonToggle,\n\tisOpen,\n\tinnerRef,\n\t...props\n} ) {\n\treturn (\n\t\t<Button\n\t\t\t{ ...props }\n\t\t\tref={ innerRef }\n\t\t\ticon={ listView }\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-haspopup=\"true\"\n\t\t\tonClick={ isEnabled ? onToggle : undefined }\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\tlabel={ __( 'List view' ) }\n\t\t\tclassName=\"block-editor-block-navigation\"\n\t\t\taria-disabled={ ! isEnabled }\n\t\t/>\n\t);\n}\n\nfunction BlockNavigationDropdown( { isDisabled, ...props }, ref ) {\n\tdeprecated( 'wp.blockEditor.BlockNavigationDropdown', {\n\t\tsince: '6.1',\n\t\talternative: 'wp.components.Dropdown and wp.blockEditor.ListView',\n\t} );\n\n\tconst hasBlocks = useSelect(\n\t\t( select ) => !! select( blockEditorStore ).getBlockCount(),\n\t\t[]\n\t);\n\tconst isEnabled = hasBlocks && ! isDisabled;\n\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-editor-block-navigation__popover\"\n\t\t\tposition=\"bottom right\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<BlockNavigationDropdownToggle\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tinnerRef={ ref }\n\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tisEnabled={ isEnabled }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<div className=\"block-editor-block-navigation__container\">\n\t\t\t\t\t<p className=\"block-editor-block-navigation__label\">\n\t\t\t\t\t\t{ __( 'List view' ) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ListView />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( BlockNavigationDropdown );\n"]}
|