@wordpress/block-editor 12.16.0 → 12.17.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 +2 -0
- package/LICENSE.md +1 -1
- package/README.md +3 -6
- package/build/components/block-canvas/index.js +0 -2
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-card/index.js +1 -1
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.js +6 -1
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-draggable/index.js +76 -6
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +0 -6
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
- package/build/components/block-editing-mode/index.js +2 -3
- package/build/components/block-editing-mode/index.js.map +1 -1
- package/build/components/block-inspector/index.js +1 -1
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-list-item-cell.native.js +1 -0
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build/components/block-list/block.js +245 -102
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +46 -20
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.native.js +3 -5
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/private-block-context.js +14 -0
- package/build/components/block-list/private-block-context.js.map +1 -0
- package/build/components/block-list/use-block-props/index.js +33 -96
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +3 -2
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list/use-scroll-upon-insertion.native.js +41 -0
- package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
- package/build/components/block-lock/toolbar.js +15 -27
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-mover/index.js +2 -1
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +4 -4
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-switcher/index.js +4 -4
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +1 -2
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-toolbar-popover.js +0 -2
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +29 -2
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +1 -1
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/colors/utils.js +10 -2
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js +6 -2
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/font-sizes/utils.js +10 -2
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/global-styles/border-panel.js +2 -1
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +2 -1
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +4 -3
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +2 -1
- package/build/components/global-styles/effects-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +1 -4
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/get-global-styles-changes.js +192 -0
- package/build/components/global-styles/get-global-styles-changes.js.map +1 -0
- package/build/components/global-styles/hooks.js +1 -1
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js +7 -1
- package/build/components/global-styles/image-settings-panel.js.map +1 -1
- package/build/components/global-styles/index.js +7 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +2 -1
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +22 -8
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +8 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/height-control/index.js +6 -2
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/image-size-control/index.js +2 -2
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.native.js +6 -5
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/index.js +61 -22
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +18 -4
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js +5 -6
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +5 -9
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +10 -9
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js +10 -10
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +9 -9
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/utils.js +10 -14
- package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +4 -14
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +1 -2
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/library.js +3 -7
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js +14 -28
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/tabs.js +21 -21
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +1 -1
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inserter-list-item/index.js +2 -4
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +3 -1
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +34 -23
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/list-view/block-select-button.js +4 -0
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +57 -3
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/media-upload-progress/constants.js +19 -0
- package/build/components/media-upload-progress/constants.js.map +1 -0
- package/build/components/media-upload-progress/index.native.js +42 -17
- package/build/components/media-upload-progress/index.native.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +9 -14
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +8 -3
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/provider/index.js +3 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +7 -1
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/rich-text/index.js +17 -7
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +16 -24
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +2 -2
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js +1 -1
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/url-input/index.js +9 -6
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +14 -18
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +51 -22
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +100 -92
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +8 -11
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/writing-flow/index.js +0 -1
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +15 -4
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js +73 -27
- package/build/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +7 -4
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/align.js +1 -1
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/anchor.js +1 -1
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/aria-label.js +9 -1
- package/build/hooks/aria-label.js.map +1 -1
- package/build/hooks/background.js +185 -20
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/border.js +5 -10
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +13 -11
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/custom-class-name.js +1 -1
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +9 -1
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/dimensions.js +4 -9
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/font-family.js +7 -3
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +1 -1
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.js +4 -3
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +5 -3
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout.js +10 -4
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/style.js +1 -1
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/typography.js +4 -9
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +43 -18
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/use-typography-props.js +10 -2
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/utils.js +44 -4
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +2 -4
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +0 -2
- package/build/private-apis.native.js.map +1 -1
- package/build/store/actions.js +0 -16
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +51 -5
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +12 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +14 -6
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +1 -13
- package/build/store/selectors.js.map +1 -1
- package/build/store/undo-ignore.js +12 -0
- package/build/store/undo-ignore.js.map +1 -0
- package/build/store/utils.js +1 -1
- package/build/store/utils.js.map +1 -1
- package/build/utils/get-px-from-css-unit.js +16 -0
- package/build/utils/get-px-from-css-unit.js.map +1 -0
- package/build/utils/index.js +2 -2
- package/build/utils/index.js.map +1 -1
- package/build/utils/object.js +0 -38
- package/build/utils/object.js.map +1 -1
- package/build/utils/use-can-block-toolbar-be-focused.js +46 -0
- package/build/utils/use-can-block-toolbar-be-focused.js.map +1 -0
- package/build-module/components/block-canvas/index.js +0 -2
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-card/index.js +1 -1
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.js +6 -1
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-draggable/index.js +76 -6
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +1 -7
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
- package/build-module/components/block-editing-mode/index.js +3 -4
- package/build-module/components/block-editing-mode/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +1 -1
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-list-item-cell.native.js +1 -0
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build-module/components/block-list/block.js +249 -106
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +48 -22
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.native.js +3 -5
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/private-block-context.js +6 -0
- package/build-module/components/block-list/private-block-context.js.map +1 -0
- package/build-module/components/block-list/use-block-props/index.js +34 -97
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +3 -2
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list/use-scroll-upon-insertion.native.js +33 -0
- package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
- package/build-module/components/block-lock/toolbar.js +16 -28
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-mover/index.js +2 -1
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +5 -5
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +4 -4
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +1 -2
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-popover.js +0 -2
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +30 -3
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +1 -1
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/colors/utils.js +9 -1
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js +5 -1
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/font-sizes/utils.js +9 -1
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +3 -2
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +3 -2
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +5 -4
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +3 -2
- package/build-module/components/global-styles/effects-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +2 -5
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/get-global-styles-changes.js +184 -0
- package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +1 -1
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +7 -1
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
- package/build-module/components/global-styles/index.js +1 -0
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +3 -2
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +15 -1
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +7 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/height-control/index.js +6 -2
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/image-size-control/index.js +2 -2
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/index.native.js +2 -1
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +62 -23
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +18 -4
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js +5 -6
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +6 -10
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +11 -10
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +11 -11
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +11 -11
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/utils.js +7 -11
- package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +4 -14
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +2 -2
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +1 -2
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/library.js +3 -7
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js +14 -28
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/tabs.js +22 -22
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +2 -2
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +2 -4
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +35 -24
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +4 -0
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +58 -4
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/media-upload-progress/constants.js +7 -0
- package/build-module/components/media-upload-progress/constants.js.map +1 -0
- package/build-module/components/media-upload-progress/index.native.js +37 -8
- package/build-module/components/media-upload-progress/index.native.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +9 -14
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +6 -1
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/provider/index.js +3 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +7 -1
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/rich-text/index.js +17 -7
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +16 -23
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +2 -2
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/index.js +9 -6
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +14 -18
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +51 -23
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +102 -94
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +8 -11
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +0 -1
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +15 -4
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js +73 -27
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +7 -4
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/align.js +1 -1
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/anchor.js +1 -1
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/aria-label.js +7 -1
- package/build-module/hooks/aria-label.js.map +1 -1
- package/build-module/hooks/background.js +181 -19
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/border.js +2 -8
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +11 -9
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +1 -1
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +7 -1
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/dimensions.js +1 -7
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/font-family.js +6 -2
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +1 -1
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.js +5 -4
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js +6 -4
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout.js +9 -3
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/style.js +1 -1
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/typography.js +1 -7
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js +43 -17
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +9 -1
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/utils.js +43 -4
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +2 -4
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +0 -2
- package/build-module/private-apis.native.js.map +1 -1
- package/build-module/store/actions.js +0 -15
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +49 -4
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +11 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +14 -6
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +1 -12
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/undo-ignore.js +5 -0
- package/build-module/store/undo-ignore.js.map +1 -0
- package/build-module/store/utils.js +2 -2
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/get-px-from-css-unit.js +9 -0
- package/build-module/utils/get-px-from-css-unit.js.map +1 -0
- package/build-module/utils/index.js +1 -1
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/object.js +0 -37
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/use-can-block-toolbar-be-focused.js +40 -0
- package/build-module/utils/use-can-block-toolbar-be-focused.js.map +1 -0
- package/build-style/content-rtl.css +7 -6
- package/build-style/content.css +7 -6
- package/build-style/style-rtl.css +51 -8
- package/build-style/style.css +51 -8
- package/package.json +31 -31
- package/src/components/alignment-control/README.md +0 -5
- package/src/components/block-alignment-control/README.md +0 -5
- package/src/components/block-alignment-matrix-control/README.md +0 -10
- package/src/components/block-breadcrumb/README.md +0 -5
- package/src/components/block-canvas/index.js +0 -2
- package/src/components/block-canvas/style.scss +6 -0
- package/src/components/block-caption/README.md +0 -5
- package/src/components/block-card/README.md +0 -5
- package/src/components/block-card/index.js +1 -1
- package/src/components/block-draggable/draggable-chip.js +11 -1
- package/src/components/block-draggable/index.js +116 -4
- package/src/components/block-draggable/index.native.js +0 -5
- package/src/components/block-draggable/style.scss +35 -0
- package/src/components/block-draggable/test/helpers.native.js +8 -7
- package/src/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
- package/src/components/block-editing-mode/index.js +3 -3
- package/src/components/block-icon/README.md +0 -5
- package/src/components/block-inspector/README.md +0 -5
- package/src/components/block-inspector/index.js +3 -1
- package/src/components/block-list/block-list-item-cell.native.js +5 -1
- package/src/components/block-list/block.js +290 -119
- package/src/components/block-list/block.native.js +55 -21
- package/src/components/block-list/content.scss +14 -10
- package/src/components/block-list/index.native.js +3 -5
- package/src/components/block-list/{block-list-block-context.js → private-block-context.js} +1 -1
- package/src/components/block-list/use-block-props/index.js +32 -128
- package/src/components/block-list/use-in-between-inserter.js +4 -1
- package/src/components/block-list/use-scroll-upon-insertion.native.js +52 -0
- package/src/components/block-lock/toolbar.js +15 -34
- package/src/components/block-mover/README.md +0 -5
- package/src/components/block-mover/index.js +1 -1
- package/src/components/block-parent-selector/README.md +0 -5
- package/src/components/block-patterns-list/README.md +0 -5
- package/src/components/block-patterns-list/index.js +8 -5
- package/src/components/block-switcher/index.js +49 -59
- package/src/components/block-toolbar/README.md +0 -5
- package/src/components/block-toolbar/index.js +1 -2
- package/src/components/block-tools/block-toolbar-popover.js +4 -10
- package/src/components/block-types-list/README.md +0 -5
- package/src/components/block-variation-picker/README.md +0 -5
- package/src/components/block-variation-transforms/README.md +0 -5
- package/src/components/block-variation-transforms/index.js +49 -3
- package/src/components/border-radius-control/linked-button.js +1 -1
- package/src/components/caption/README.md +0 -5
- package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -1
- package/src/components/colors/utils.js +8 -1
- package/src/components/colors/with-colors.js +3 -1
- package/src/components/contrast-checker/README.md +0 -4
- package/src/components/copy-handler/README.md +0 -10
- package/src/components/font-sizes/utils.js +7 -1
- package/src/components/global-styles/border-panel.js +2 -1
- package/src/components/global-styles/color-panel.js +2 -1
- package/src/components/global-styles/dimensions-panel.js +4 -3
- package/src/components/global-styles/effects-panel.js +2 -1
- package/src/components/global-styles/filters-panel.js +2 -5
- package/src/components/global-styles/get-global-styles-changes.js +210 -0
- package/src/components/global-styles/hooks.js +3 -0
- package/src/components/global-styles/image-settings-panel.js +6 -0
- package/src/components/global-styles/index.js +1 -0
- package/src/components/global-styles/test/get-global-styles-changes.js +234 -0
- package/src/components/global-styles/typography-panel.js +2 -1
- package/src/components/global-styles/use-global-styles-output.js +9 -5
- package/src/components/global-styles/utils.js +7 -0
- package/src/components/height-control/README.md +2 -7
- package/src/components/height-control/index.js +4 -0
- package/src/components/image-size-control/index.js +5 -2
- package/src/components/index.native.js +2 -2
- package/src/components/inner-blocks/index.js +68 -29
- package/src/components/inner-blocks/index.native.js +19 -7
- package/src/components/inner-blocks/use-inner-block-template-sync.js +5 -7
- package/src/components/inner-blocks/use-nested-settings-update.js +6 -13
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +15 -15
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +15 -13
- package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +15 -18
- package/src/components/inserter/block-patterns-tab/utils.js +11 -12
- package/src/components/inserter/hooks/use-block-types-state.js +9 -11
- package/src/components/inserter/hooks/use-patterns-state.js +2 -2
- package/src/components/inserter/index.js +0 -1
- package/src/components/inserter/library.js +2 -8
- package/src/components/inserter/menu.js +13 -31
- package/src/components/inserter/style.scss +6 -4
- package/src/components/inserter/tabs.js +34 -25
- package/src/components/inserter-draggable-blocks/index.js +2 -2
- package/src/components/inserter-list-item/index.js +6 -6
- package/src/components/inspector-controls/block-support-tools-panel.js +2 -0
- package/src/components/inspector-controls-tabs/index.js +39 -28
- package/src/components/inspector-controls-tabs/style.scss +3 -2
- package/src/components/letter-spacing-control/README.md +0 -5
- package/src/components/line-height-control/README.md +0 -5
- package/src/components/list-view/README.md +0 -5
- package/src/components/list-view/block-select-button.js +4 -0
- package/src/components/list-view/block.js +73 -2
- package/src/components/list-view/style.scss +6 -0
- package/src/components/media-upload-progress/constants.js +6 -0
- package/src/components/media-upload-progress/index.native.js +66 -14
- package/src/components/media-upload-progress/test/index.native.js +2 -2
- package/src/components/multi-selection-inspector/README.md +0 -5
- package/src/components/navigable-toolbar/index.js +13 -11
- package/src/components/plain-text/index.native.js +6 -1
- package/src/components/provider/index.js +1 -1
- package/src/components/provider/test/use-block-sync.js +20 -17
- package/src/components/provider/use-block-sync.js +6 -0
- package/src/components/rich-text/index.js +18 -6
- package/src/components/rich-text/native/index.native.js +16 -24
- package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +3 -3
- package/src/components/rich-text/native/test/index.native.js +72 -5
- package/src/components/rich-text/use-input-rules.js +2 -2
- package/src/components/rich-text/use-mark-persistent.js +1 -2
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/src/components/text-decoration-control/README.md +40 -0
- package/src/components/text-transform-control/README.md +0 -4
- package/src/components/ungroup-button/README.md +0 -5
- package/src/components/unit-control/README.md +0 -4
- package/src/components/url-input/index.js +11 -11
- package/src/components/use-block-commands/index.js +18 -21
- package/src/components/use-block-drop-zone/index.js +85 -34
- package/src/components/use-moving-animation/index.js +107 -103
- package/src/components/use-on-block-drop/index.js +7 -23
- package/src/components/use-on-block-drop/test/index.js +12 -26
- package/src/components/use-resize-canvas/README.md +0 -4
- package/src/components/use-settings/README.md +0 -4
- package/src/components/writing-flow/index.js +0 -1
- package/src/components/writing-flow/use-drag-selection.js +18 -4
- package/src/components/writing-flow/use-selection-observer.js +99 -37
- package/src/components/writing-flow/use-tab-nav.js +7 -7
- package/src/hooks/align.js +1 -5
- package/src/hooks/anchor.js +1 -5
- package/src/hooks/aria-label.js +8 -5
- package/src/hooks/background.js +253 -21
- package/src/hooks/border.js +2 -13
- package/src/hooks/color.js +19 -14
- package/src/hooks/custom-class-name.js +1 -5
- package/src/hooks/custom-class-name.native.js +8 -5
- package/src/hooks/dimensions.js +1 -7
- package/src/hooks/font-family.js +4 -7
- package/src/hooks/font-size.js +1 -6
- package/src/hooks/index.js +19 -3
- package/src/hooks/index.native.js +17 -4
- package/src/hooks/layout.js +5 -2
- package/src/hooks/style.js +1 -6
- package/src/hooks/test/anchor.js +4 -9
- package/src/hooks/test/custom-class-name.js +3 -8
- package/src/hooks/test/style.js +4 -14
- package/src/hooks/typography.js +1 -7
- package/src/hooks/typography.native.js +31 -33
- package/src/hooks/use-typography-props.js +7 -1
- package/src/hooks/utils.js +60 -2
- package/src/private-apis.js +2 -4
- package/src/private-apis.native.js +0 -2
- package/src/store/actions.js +0 -15
- package/src/store/private-actions.js +44 -4
- package/src/store/private-selectors.js +11 -0
- package/src/store/reducer.js +16 -5
- package/src/store/selectors.js +5 -13
- package/src/store/undo-ignore.js +4 -0
- package/src/store/utils.js +2 -2
- package/src/style.scss +1 -0
- package/src/utils/get-px-from-css-unit.js +8 -0
- package/src/utils/index.js +1 -1
- package/src/utils/object.js +0 -35
- package/src/utils/test/object.js +1 -96
- package/src/utils/use-can-block-toolbar-be-focused.js +48 -0
- package/build/components/block-list/block-list-block-context.js +0 -14
- package/build/components/block-list/block-list-block-context.js.map +0 -1
- package/build/utils/parse-css-unit-to-px.js +0 -302
- package/build/utils/parse-css-unit-to-px.js.map +0 -1
- package/build/utils/use-should-contextual-toolbar-show.js +0 -63
- package/build/utils/use-should-contextual-toolbar-show.js.map +0 -1
- package/build-module/components/block-list/block-list-block-context.js +0 -6
- package/build-module/components/block-list/block-list-block-context.js.map +0 -1
- package/build-module/utils/parse-css-unit-to-px.js +0 -294
- package/build-module/utils/parse-css-unit-to-px.js.map +0 -1
- package/build-module/utils/use-should-contextual-toolbar-show.js +0 -57
- package/build-module/utils/use-should-contextual-toolbar-show.js.map +0 -1
- package/src/utils/parse-css-unit-to-px.js +0 -329
- package/src/utils/test/parse-css-unit-to-px.js +0 -172
- package/src/utils/use-should-contextual-toolbar-show.js +0 -85
package/CHANGELOG.md
CHANGED
package/LICENSE.md
CHANGED
package/README.md
CHANGED
|
@@ -539,16 +539,13 @@ _Returns_
|
|
|
539
539
|
|
|
540
540
|
### getPxFromCssUnit
|
|
541
541
|
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
_Parameters_
|
|
542
|
+
> **Deprecated**
|
|
545
543
|
|
|
546
|
-
|
|
547
|
-
- _options_ `Object`:
|
|
544
|
+
This function was accidentially exposed for mobile/native usage.
|
|
548
545
|
|
|
549
546
|
_Returns_
|
|
550
547
|
|
|
551
|
-
- `string`:
|
|
548
|
+
- `string`: Empty string.
|
|
552
549
|
|
|
553
550
|
### getSpacingPresetCssVar
|
|
554
551
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_compose","require","_element","_blockList","_interopRequireDefault","_blockTools","_editorStyles","_iframe","_writingFlow","_observeTyping","_blockSelectionClearer","ExperimentalBlockCanvas","shouldIframe","height","children","_react","createElement","default","styles","contentRef","contentRefProp","iframeProps","resetTypingRef","useMouseMoveTypingReset","clearerRef","useBlockSelectionClearer","localRef","useRef","useMergeRefs","__unstableContentRef","style","display","scope","ref","className","tabIndex","width","name","BlockCanvas","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-canvas/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport BlockTools from '../block-tools';\nimport EditorStyles from '../editor-styles';\nimport Iframe from '../iframe';\nimport WritingFlow from '../writing-flow';\nimport { useMouseMoveTypingReset } from '../observe-typing';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\n\nexport function ExperimentalBlockCanvas( {\n\tshouldIframe = true,\n\theight = '300px',\n\tchildren = <BlockList />,\n\tstyles,\n\tcontentRef: contentRefProp,\n\tiframeProps,\n} ) {\n\tconst resetTypingRef = useMouseMoveTypingReset();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst localRef = useRef();\n\tconst contentRef = useMergeRefs( [ contentRefProp, clearerRef, localRef ] );\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<BlockTools\n\t\t\t\t__unstableContentRef={ localRef }\n\t\t\t\tstyle={ { height, display: 'flex' } }\n\t\t\t>\n\t\t\t\t<EditorStyles\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tscope=\".editor-styles-wrapper\"\n\t\t\t\t/>\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</BlockTools>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ localRef }\n\t\t\tstyle={ { height, display: 'flex' } }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\t{ ...iframeProps }\n\t\t\t\tref={ resetTypingRef }\n\t\t\t\tcontentRef={ contentRef }\n\t\t\t\tstyle={ {\n\t\t\t\t\
|
|
1
|
+
{"version":3,"names":["_compose","require","_element","_blockList","_interopRequireDefault","_blockTools","_editorStyles","_iframe","_writingFlow","_observeTyping","_blockSelectionClearer","ExperimentalBlockCanvas","shouldIframe","height","children","_react","createElement","default","styles","contentRef","contentRefProp","iframeProps","resetTypingRef","useMouseMoveTypingReset","clearerRef","useBlockSelectionClearer","localRef","useRef","useMergeRefs","__unstableContentRef","style","display","scope","ref","className","tabIndex","width","name","BlockCanvas","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-canvas/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport BlockTools from '../block-tools';\nimport EditorStyles from '../editor-styles';\nimport Iframe from '../iframe';\nimport WritingFlow from '../writing-flow';\nimport { useMouseMoveTypingReset } from '../observe-typing';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\n\nexport function ExperimentalBlockCanvas( {\n\tshouldIframe = true,\n\theight = '300px',\n\tchildren = <BlockList />,\n\tstyles,\n\tcontentRef: contentRefProp,\n\tiframeProps,\n} ) {\n\tconst resetTypingRef = useMouseMoveTypingReset();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst localRef = useRef();\n\tconst contentRef = useMergeRefs( [ contentRefProp, clearerRef, localRef ] );\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<BlockTools\n\t\t\t\t__unstableContentRef={ localRef }\n\t\t\t\tstyle={ { height, display: 'flex' } }\n\t\t\t>\n\t\t\t\t<EditorStyles\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tscope=\".editor-styles-wrapper\"\n\t\t\t\t/>\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</BlockTools>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ localRef }\n\t\t\tstyle={ { height, display: 'flex' } }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\t{ ...iframeProps }\n\t\t\t\tref={ resetTypingRef }\n\t\t\t\tcontentRef={ contentRef }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t} }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</BlockTools>\n\t);\n}\n\n/**\n * BlockCanvas component is a component used to display the canvas of the block editor.\n * What we call the canvas is an iframe containing the block list that you can manipulate.\n * The component is also responsible of wiring up all the necessary hooks to enable\n * the keyboard navigation across blocks in the editor and inject content styles into the iframe.\n *\n * @example\n *\n * ```jsx\n * function MyBlockEditor() {\n * const [ blocks, updateBlocks ] = useState([]);\n * return (\n * <BlockEditorProvider\n * value={ blocks }\n * onInput={ updateBlocks }\n * onChange={ persistBlocks }\n * >\n * <BlockCanvas height=\"400px\" />\n * </BlockEditorProvider>\n * );\n * }\n * ```\n *\n * @param {Object} props Component props.\n * @param {string} props.height Canvas height, defaults to 300px.\n * @param {Array} props.styles Content styles to inject into the iframe.\n * @param {Element} props.children Content of the canvas, defaults to the BlockList component.\n * @return {Element} Block Breadcrumb.\n */\nfunction BlockCanvas( { children, height, styles } ) {\n\treturn (\n\t\t<ExperimentalBlockCanvas height={ height } styles={ styles }>\n\t\t\t{ children }\n\t\t</ExperimentalBlockCanvas>\n\t);\n}\n\nexport default BlockCanvas;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_deprecated","_components","_icons","_i18n","_data","_blockIcon","_store","BlockCard","title","icon","description","blockType","className","deprecated","since","alternative","parentNavBlockClientId","useSelect","select","getSelectedBlockClientId","getBlockParentsByBlockName","blockEditorStore","_selectedBlockClientId","selectBlock","useDispatch","_react","createElement","classnames","Button","onClick","label","__","style","minWidth","padding","isRTL","chevronRight","chevronLeft","
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_deprecated","_components","_icons","_i18n","_data","_blockIcon","_store","BlockCard","title","icon","description","blockType","className","deprecated","since","alternative","parentNavBlockClientId","useSelect","select","getSelectedBlockClientId","getBlockParentsByBlockName","blockEditorStore","_selectedBlockClientId","selectBlock","useDispatch","_react","createElement","classnames","Button","onClick","label","__","style","minWidth","padding","isRTL","chevronRight","chevronLeft","size","default","showColors","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-card/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { Button } from '@wordpress/components';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockCard( { title, icon, description, blockType, className } ) {\n\tif ( blockType ) {\n\t\tdeprecated( '`blockType` property in `BlockCard component`', {\n\t\t\tsince: '5.7',\n\t\t\talternative: '`title, icon and description` properties',\n\t\t} );\n\t\t( { title, icon, description } = blockType );\n\t}\n\n\tconst { parentNavBlockClientId } = useSelect( ( select ) => {\n\t\tconst { getSelectedBlockClientId, getBlockParentsByBlockName } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\n\t\treturn {\n\t\t\tparentNavBlockClientId: getBlockParentsByBlockName(\n\t\t\t\t_selectedBlockClientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t)[ 0 ],\n\t\t};\n\t}, [] );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\treturn (\n\t\t<div className={ classnames( 'block-editor-block-card', className ) }>\n\t\t\t{ parentNavBlockClientId && ( // This is only used by the Navigation block for now. It's not ideal having Navigation block specific code here.\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ () => selectBlock( parentNavBlockClientId ) }\n\t\t\t\t\tlabel={ __( 'Go to parent Navigation block' ) }\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t// TODO: This style override is also used in ToolsPanelHeader.\n\t\t\t\t\t\t// It should be supported out-of-the-box by Button.\n\t\t\t\t\t\t{ minWidth: 24, padding: 0 }\n\t\t\t\t\t}\n\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t<div className=\"block-editor-block-card__content\">\n\t\t\t\t<h2 className=\"block-editor-block-card__title\">{ title }</h2>\n\t\t\t\t{ description && (\n\t\t\t\t\t<span className=\"block-editor-block-card__description\">\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default BlockCard;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAKA,IAAAM,UAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;;AAIA,SAASQ,SAASA,CAAE;EAAEC,KAAK;EAAEC,IAAI;EAAEC,WAAW;EAAEC,SAAS;EAAEC;AAAU,CAAC,EAAG;EACxE,IAAKD,SAAS,EAAG;IAChB,IAAAE,mBAAU,EAAE,+CAA+C,EAAE;MAC5DC,KAAK,EAAE,KAAK;MACZC,WAAW,EAAE;IACd,CAAE,CAAC;IACH,CAAE;MAAEP,KAAK;MAAEC,IAAI;MAAEC;IAAY,CAAC,GAAGC,SAAS;EAC3C;EAEA,MAAM;IAAEK;EAAuB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC3D,MAAM;MAAEC,wBAAwB;MAAEC;IAA2B,CAAC,GAC7DF,MAAM,CAAEG,YAAiB,CAAC;IAE3B,MAAMC,sBAAsB,GAAGH,wBAAwB,CAAC,CAAC;IAEzD,OAAO;MACNH,sBAAsB,EAAEI,0BAA0B,CACjDE,sBAAsB,EACtB,iBAAiB,EACjB,IACD,CAAC,CAAE,CAAC;IACL,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEH,YAAiB,CAAC;EAEvD,OACC,IAAAI,MAAA,CAAAC,aAAA;IAAKd,SAAS,EAAG,IAAAe,mBAAU,EAAE,yBAAyB,EAAEf,SAAU;EAAG,GAClEI,sBAAsB;EAAM;EAC7B,IAAAS,MAAA,CAAAC,aAAA,EAACzB,WAAA,CAAA2B,MAAM;IACNC,OAAO,EAAGA,CAAA,KAAMN,WAAW,CAAEP,sBAAuB,CAAG;IACvDc,KAAK,EAAG,IAAAC,QAAE,EAAE,+BAAgC,CAAG;IAC/CC,KAAK;IACJ;IACA;IACA;MAAEC,QAAQ,EAAE,EAAE;MAAEC,OAAO,EAAE;IAAE,CAC3B;IACDzB,IAAI,EAAG,IAAA0B,WAAK,EAAC,CAAC,GAAGC,mBAAY,GAAGC,kBAAa;IAC7CC,IAAI,EAAC;EAAO,CACZ,CACD,EACD,IAAAb,MAAA,CAAAC,aAAA,EAACrB,UAAA,CAAAkC,OAAS;IAAC9B,IAAI,EAAGA,IAAM;IAAC+B,UAAU;EAAA,CAAE,CAAC,EACtC,IAAAf,MAAA,CAAAC,aAAA;IAAKd,SAAS,EAAC;EAAkC,GAChD,IAAAa,MAAA,CAAAC,aAAA;IAAId,SAAS,EAAC;EAAgC,GAAGJ,KAAW,CAAC,EAC3DE,WAAW,IACZ,IAAAe,MAAA,CAAAC,aAAA;IAAMd,SAAS,EAAC;EAAsC,GACnDF,WACG,CAEH,CACD,CAAC;AAER;AAAC,IAAA+B,QAAA,GAEclC,SAAS;AAAAmC,OAAA,CAAAH,OAAA,GAAAE,QAAA"}
|
|
@@ -21,7 +21,8 @@ var _blockIcon = _interopRequireDefault(require("../block-icon"));
|
|
|
21
21
|
function BlockDraggableChip({
|
|
22
22
|
count,
|
|
23
23
|
icon,
|
|
24
|
-
isPattern
|
|
24
|
+
isPattern,
|
|
25
|
+
fadeWhenDisabled
|
|
25
26
|
}) {
|
|
26
27
|
const patternLabel = isPattern && (0, _i18n.__)('Pattern');
|
|
27
28
|
return (0, _react.createElement)("div", {
|
|
@@ -37,6 +38,10 @@ function BlockDraggableChip({
|
|
|
37
38
|
}) : patternLabel || (0, _i18n.sprintf)( /* translators: %d: Number of blocks. */
|
|
38
39
|
(0, _i18n._n)('%d block', '%d blocks', count), count)), (0, _react.createElement)(_components.FlexItem, null, (0, _react.createElement)(_blockIcon.default, {
|
|
39
40
|
icon: _icons.dragHandle
|
|
41
|
+
})), fadeWhenDisabled && (0, _react.createElement)(_components.FlexItem, {
|
|
42
|
+
className: "block-editor-block-draggable-chip__disabled"
|
|
43
|
+
}, (0, _react.createElement)("span", {
|
|
44
|
+
className: "block-editor-block-draggable-chip__disabled-icon"
|
|
40
45
|
})))));
|
|
41
46
|
}
|
|
42
47
|
//# sourceMappingURL=draggable-chip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_icons","_blockIcon","_interopRequireDefault","BlockDraggableChip","count","icon","isPattern","patternLabel","__","_react","createElement","className","Flex","justify","FlexItem","default","sprintf","_n","dragHandle"],"sources":["@wordpress/block-editor/src/components/block-draggable/draggable-chip.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Flex, FlexItem } from '@wordpress/components';\nimport { dragHandle } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\n\nexport default function BlockDraggableChip( {
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_icons","_blockIcon","_interopRequireDefault","BlockDraggableChip","count","icon","isPattern","fadeWhenDisabled","patternLabel","__","_react","createElement","className","Flex","justify","FlexItem","default","sprintf","_n","dragHandle"],"sources":["@wordpress/block-editor/src/components/block-draggable/draggable-chip.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Flex, FlexItem } from '@wordpress/components';\nimport { dragHandle } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\n\nexport default function BlockDraggableChip( {\n\tcount,\n\ticon,\n\tisPattern,\n\tfadeWhenDisabled,\n} ) {\n\tconst patternLabel = isPattern && __( 'Pattern' );\n\treturn (\n\t\t<div className=\"block-editor-block-draggable-chip-wrapper\">\n\t\t\t<div\n\t\t\t\tclassName=\"block-editor-block-draggable-chip\"\n\t\t\t\tdata-testid=\"block-draggable-chip\"\n\t\t\t>\n\t\t\t\t<Flex\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"block-editor-block-draggable-chip__content\"\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ icon ? (\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tpatternLabel ||\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: %d: Number of blocks. */\n\t\t\t\t\t\t\t\t_n( '%d block', '%d blocks', count ),\n\t\t\t\t\t\t\t\tcount\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<BlockIcon icon={ dragHandle } />\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t{ fadeWhenDisabled && (\n\t\t\t\t\t\t<FlexItem className=\"block-editor-block-draggable-chip__disabled\">\n\t\t\t\t\t\t\t<span className=\"block-editor-block-draggable-chip__disabled-icon\"></span>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t</Flex>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAKA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGe,SAASK,kBAAkBA,CAAE;EAC3CC,KAAK;EACLC,IAAI;EACJC,SAAS;EACTC;AACD,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGF,SAAS,IAAI,IAAAG,QAAE,EAAE,SAAU,CAAC;EACjD,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA2C,GACzD,IAAAF,MAAA,CAAAC,aAAA;IACCC,SAAS,EAAC,mCAAmC;IAC7C,eAAY;EAAsB,GAElC,IAAAF,MAAA,CAAAC,aAAA,EAACZ,WAAA,CAAAc,IAAI;IACJC,OAAO,EAAC,QAAQ;IAChBF,SAAS,EAAC;EAA4C,GAEtD,IAAAF,MAAA,CAAAC,aAAA,EAACZ,WAAA,CAAAgB,QAAQ,QACNV,IAAI,GACL,IAAAK,MAAA,CAAAC,aAAA,EAACV,UAAA,CAAAe,OAAS;IAACX,IAAI,EAAGA;EAAM,CAAE,CAAC,GAE3BG,YAAY,IACZ,IAAAS,aAAO,GACN;EACA,IAAAC,QAAE,EAAE,UAAU,EAAE,WAAW,EAAEd,KAAM,CAAC,EACpCA,KACD,CAEQ,CAAC,EACX,IAAAM,MAAA,CAAAC,aAAA,EAACZ,WAAA,CAAAgB,QAAQ,QACR,IAAAL,MAAA,CAAAC,aAAA,EAACV,UAAA,CAAAe,OAAS;IAACX,IAAI,EAAGc;EAAY,CAAE,CACvB,CAAC,EACTZ,gBAAgB,IACjB,IAAAG,MAAA,CAAAC,aAAA,EAACZ,WAAA,CAAAgB,QAAQ;IAACH,SAAS,EAAC;EAA6C,GAChE,IAAAF,MAAA,CAAAC,aAAA;IAAMC,SAAS,EAAC;EAAkD,CAAO,CAChE,CAEN,CACF,CACD,CAAC;AAER"}
|
|
@@ -10,9 +10,12 @@ var _blocks = require("@wordpress/blocks");
|
|
|
10
10
|
var _components = require("@wordpress/components");
|
|
11
11
|
var _data = require("@wordpress/data");
|
|
12
12
|
var _element = require("@wordpress/element");
|
|
13
|
+
var _compose = require("@wordpress/compose");
|
|
13
14
|
var _draggableChip = _interopRequireDefault(require("./draggable-chip"));
|
|
14
15
|
var _useScrollWhenDragging = _interopRequireDefault(require("./use-scroll-when-dragging"));
|
|
15
16
|
var _store = require("../../store");
|
|
17
|
+
var _useBlockRefs = require("../block-list/use-block-props/use-block-refs");
|
|
18
|
+
var _useBlockDropZone = require("../use-block-drop-zone");
|
|
16
19
|
/**
|
|
17
20
|
* WordPress dependencies
|
|
18
21
|
*/
|
|
@@ -26,21 +29,25 @@ const BlockDraggable = ({
|
|
|
26
29
|
clientIds,
|
|
27
30
|
cloneClassname,
|
|
28
31
|
onDragStart,
|
|
29
|
-
onDragEnd
|
|
32
|
+
onDragEnd,
|
|
33
|
+
fadeWhenDisabled = false
|
|
30
34
|
}) => {
|
|
31
35
|
const {
|
|
32
36
|
srcRootClientId,
|
|
33
37
|
isDraggable,
|
|
34
|
-
icon
|
|
38
|
+
icon,
|
|
39
|
+
visibleInserter,
|
|
40
|
+
getBlockType
|
|
35
41
|
} = (0, _data.useSelect)(select => {
|
|
36
42
|
const {
|
|
37
43
|
canMoveBlocks,
|
|
38
44
|
getBlockRootClientId,
|
|
39
45
|
getBlockName,
|
|
40
|
-
getBlockAttributes
|
|
46
|
+
getBlockAttributes,
|
|
47
|
+
isBlockInsertionPointVisible
|
|
41
48
|
} = select(_store.store);
|
|
42
49
|
const {
|
|
43
|
-
getBlockType,
|
|
50
|
+
getBlockType: _getBlockType,
|
|
44
51
|
getActiveBlockVariation
|
|
45
52
|
} = select(_blocks.store);
|
|
46
53
|
const rootClientId = getBlockRootClientId(clientIds[0]);
|
|
@@ -49,11 +56,18 @@ const BlockDraggable = ({
|
|
|
49
56
|
return {
|
|
50
57
|
srcRootClientId: rootClientId,
|
|
51
58
|
isDraggable: canMoveBlocks(clientIds, rootClientId),
|
|
52
|
-
icon: variation?.icon ||
|
|
59
|
+
icon: variation?.icon || _getBlockType(blockName)?.icon,
|
|
60
|
+
visibleInserter: isBlockInsertionPointVisible(),
|
|
61
|
+
getBlockType: _getBlockType
|
|
53
62
|
};
|
|
54
63
|
}, [clientIds]);
|
|
55
64
|
const isDragging = (0, _element.useRef)(false);
|
|
56
65
|
const [startScrolling, scrollOnDragOver, stopScrolling] = (0, _useScrollWhenDragging.default)();
|
|
66
|
+
const {
|
|
67
|
+
getAllowedBlocks,
|
|
68
|
+
getBlockNamesByClientId,
|
|
69
|
+
getBlockRootClientId
|
|
70
|
+
} = (0, _data.useSelect)(_store.store);
|
|
57
71
|
const {
|
|
58
72
|
startDraggingBlocks,
|
|
59
73
|
stopDraggingBlocks
|
|
@@ -67,6 +81,61 @@ const BlockDraggable = ({
|
|
|
67
81
|
}
|
|
68
82
|
};
|
|
69
83
|
}, []);
|
|
84
|
+
|
|
85
|
+
// Find the root of the editor iframe.
|
|
86
|
+
const blockRef = (0, _useBlockRefs.__unstableUseBlockRef)(clientIds[0]);
|
|
87
|
+
const editorRoot = blockRef.current?.closest('body');
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
* Add a dragover event listener to the editor root to track the blocks being dragged over.
|
|
91
|
+
* The listener has to be inside the editor iframe otherwise the target isn't accessible.
|
|
92
|
+
*/
|
|
93
|
+
(0, _element.useEffect)(() => {
|
|
94
|
+
if (!editorRoot || !fadeWhenDisabled) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const onDragOver = event => {
|
|
98
|
+
if (!event.target.closest('[data-block]')) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const draggedBlockNames = getBlockNamesByClientId(clientIds);
|
|
102
|
+
const targetClientId = event.target.closest('[data-block]').getAttribute('data-block');
|
|
103
|
+
const allowedBlocks = getAllowedBlocks(targetClientId);
|
|
104
|
+
const targetBlockName = getBlockNamesByClientId([targetClientId])[0];
|
|
105
|
+
|
|
106
|
+
/*
|
|
107
|
+
* Check if the target is valid to drop in.
|
|
108
|
+
* If the target's allowedBlocks is an empty array,
|
|
109
|
+
* it isn't a container block, in which case we check
|
|
110
|
+
* its parent's validity instead.
|
|
111
|
+
*/
|
|
112
|
+
let dropTargetValid;
|
|
113
|
+
if (allowedBlocks?.length === 0) {
|
|
114
|
+
const targetRootClientId = getBlockRootClientId(targetClientId);
|
|
115
|
+
const targetRootBlockName = getBlockNamesByClientId([targetRootClientId])[0];
|
|
116
|
+
const rootAllowedBlocks = getAllowedBlocks(targetRootClientId);
|
|
117
|
+
dropTargetValid = (0, _useBlockDropZone.isDropTargetValid)(getBlockType, rootAllowedBlocks, draggedBlockNames, targetRootBlockName);
|
|
118
|
+
} else {
|
|
119
|
+
dropTargetValid = (0, _useBlockDropZone.isDropTargetValid)(getBlockType, allowedBlocks, draggedBlockNames, targetBlockName);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/*
|
|
123
|
+
* Update the body class to reflect if drop target is valid.
|
|
124
|
+
* This has to be done on the document body because the draggable
|
|
125
|
+
* chip is rendered outside of the editor iframe.
|
|
126
|
+
*/
|
|
127
|
+
if (!dropTargetValid && !visibleInserter) {
|
|
128
|
+
window?.document?.body?.classList?.add('block-draggable-invalid-drag-token');
|
|
129
|
+
} else {
|
|
130
|
+
window?.document?.body?.classList?.remove('block-draggable-invalid-drag-token');
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
const throttledOnDragOver = (0, _compose.throttle)(onDragOver, 200);
|
|
134
|
+
editorRoot.addEventListener('dragover', throttledOnDragOver);
|
|
135
|
+
return () => {
|
|
136
|
+
editorRoot.removeEventListener('dragover', throttledOnDragOver);
|
|
137
|
+
};
|
|
138
|
+
}, [clientIds, editorRoot, fadeWhenDisabled, getAllowedBlocks, getBlockNamesByClientId, getBlockRootClientId, getBlockType, visibleInserter]);
|
|
70
139
|
if (!isDraggable) {
|
|
71
140
|
return children({
|
|
72
141
|
draggable: false
|
|
@@ -104,7 +173,8 @@ const BlockDraggable = ({
|
|
|
104
173
|
},
|
|
105
174
|
__experimentalDragComponent: (0, _react.createElement)(_draggableChip.default, {
|
|
106
175
|
count: clientIds.length,
|
|
107
|
-
icon: icon
|
|
176
|
+
icon: icon,
|
|
177
|
+
fadeWhenDisabled: true
|
|
108
178
|
})
|
|
109
179
|
}, ({
|
|
110
180
|
onDraggableStart,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","_components","_data","_element","_draggableChip","_interopRequireDefault","_useScrollWhenDragging","_store","BlockDraggable","children","clientIds","cloneClassname","onDragStart","onDragEnd","srcRootClientId","isDraggable","icon","useSelect","select","canMoveBlocks","getBlockRootClientId","getBlockName","getBlockAttributes","blockEditorStore","getBlockType","getActiveBlockVariation","blocksStore","rootClientId","blockName","variation","isDragging","useRef","startScrolling","scrollOnDragOver","stopScrolling","useScrollWhenDragging","startDraggingBlocks","stopDraggingBlocks","useDispatch","useEffect","current","draggable","transferData","type","srcClientIds","_react","createElement","Draggable","__experimentalTransferDataType","event","window","requestAnimationFrame","onDragOver","__experimentalDragComponent","default","count","length","onDraggableStart","onDraggableEnd","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-draggable/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Draggable } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from './draggable-chip';\nimport useScrollWhenDragging from './use-scroll-when-dragging';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockDraggable = ( {\n\tchildren,\n\tclientIds,\n\tcloneClassname,\n\tonDragStart,\n\tonDragEnd,\n} ) => {\n\tconst { srcRootClientId, isDraggable, icon } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanMoveBlocks,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\tconst blockName = getBlockName( clientIds[ 0 ] );\n\t\t\tconst variation = getActiveBlockVariation(\n\t\t\t\tblockName,\n\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tsrcRootClientId: rootClientId,\n\t\t\t\tisDraggable: canMoveBlocks( clientIds, rootClientId ),\n\t\t\t\ticon: variation?.icon || getBlockType( blockName )?.icon,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst isDragging = useRef( false );\n\tconst [ startScrolling, scrollOnDragOver, stopScrolling ] =\n\t\tuseScrollWhenDragging();\n\n\tconst { startDraggingBlocks, stopDraggingBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Stop dragging blocks if the block draggable is unmounted.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( isDragging.current ) {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tif ( ! isDraggable ) {\n\t\treturn children( { draggable: false } );\n\t}\n\n\tconst transferData = {\n\t\ttype: 'block',\n\t\tsrcClientIds: clientIds,\n\t\tsrcRootClientId,\n\t};\n\n\treturn (\n\t\t<Draggable\n\t\t\tcloneClassname={ cloneClassname }\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ transferData }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t// Defer hiding the dragged source element to the next\n\t\t\t\t// frame to enable dragging.\n\t\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\t\tstartDraggingBlocks( clientIds );\n\t\t\t\t\tisDragging.current = true;\n\n\t\t\t\t\tstartScrolling( event );\n\n\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\tonDragStart();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonDragOver={ scrollOnDragOver }\n\t\t\tonDragEnd={ () => {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t\tisDragging.current = false;\n\n\t\t\t\tstopScrolling();\n\n\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\tonDragEnd();\n\t\t\t\t}\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip count={ clientIds.length } icon={ icon } />\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\tonDragStart: onDraggableStart,\n\t\t\t\t\tonDragEnd: onDraggableEnd,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default BlockDraggable;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_blocks","require","_components","_data","_element","_compose","_draggableChip","_interopRequireDefault","_useScrollWhenDragging","_store","_useBlockRefs","_useBlockDropZone","BlockDraggable","children","clientIds","cloneClassname","onDragStart","onDragEnd","fadeWhenDisabled","srcRootClientId","isDraggable","icon","visibleInserter","getBlockType","useSelect","select","canMoveBlocks","getBlockRootClientId","getBlockName","getBlockAttributes","isBlockInsertionPointVisible","blockEditorStore","_getBlockType","getActiveBlockVariation","blocksStore","rootClientId","blockName","variation","isDragging","useRef","startScrolling","scrollOnDragOver","stopScrolling","useScrollWhenDragging","getAllowedBlocks","getBlockNamesByClientId","startDraggingBlocks","stopDraggingBlocks","useDispatch","useEffect","current","blockRef","useBlockRef","editorRoot","closest","onDragOver","event","target","draggedBlockNames","targetClientId","getAttribute","allowedBlocks","targetBlockName","dropTargetValid","length","targetRootClientId","targetRootBlockName","rootAllowedBlocks","isDropTargetValid","window","document","body","classList","add","remove","throttledOnDragOver","throttle","addEventListener","removeEventListener","draggable","transferData","type","srcClientIds","_react","createElement","Draggable","__experimentalTransferDataType","requestAnimationFrame","__experimentalDragComponent","default","count","onDraggableStart","onDraggableEnd","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-draggable/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Draggable } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { throttle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from './draggable-chip';\nimport useScrollWhenDragging from './use-scroll-when-dragging';\nimport { store as blockEditorStore } from '../../store';\nimport { __unstableUseBlockRef as useBlockRef } from '../block-list/use-block-props/use-block-refs';\nimport { isDropTargetValid } from '../use-block-drop-zone';\n\nconst BlockDraggable = ( {\n\tchildren,\n\tclientIds,\n\tcloneClassname,\n\tonDragStart,\n\tonDragEnd,\n\tfadeWhenDisabled = false,\n} ) => {\n\tconst {\n\t\tsrcRootClientId,\n\t\tisDraggable,\n\t\ticon,\n\t\tvisibleInserter,\n\t\tgetBlockType,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanMoveBlocks,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockType: _getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\tconst blockName = getBlockName( clientIds[ 0 ] );\n\t\t\tconst variation = getActiveBlockVariation(\n\t\t\t\tblockName,\n\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tsrcRootClientId: rootClientId,\n\t\t\t\tisDraggable: canMoveBlocks( clientIds, rootClientId ),\n\t\t\t\ticon: variation?.icon || _getBlockType( blockName )?.icon,\n\t\t\t\tvisibleInserter: isBlockInsertionPointVisible(),\n\t\t\t\tgetBlockType: _getBlockType,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst isDragging = useRef( false );\n\tconst [ startScrolling, scrollOnDragOver, stopScrolling ] =\n\t\tuseScrollWhenDragging();\n\n\tconst { getAllowedBlocks, getBlockNamesByClientId, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { startDraggingBlocks, stopDraggingBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Stop dragging blocks if the block draggable is unmounted.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( isDragging.current ) {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\t// Find the root of the editor iframe.\n\tconst blockRef = useBlockRef( clientIds[ 0 ] );\n\tconst editorRoot = blockRef.current?.closest( 'body' );\n\n\t/*\n\t * Add a dragover event listener to the editor root to track the blocks being dragged over.\n\t * The listener has to be inside the editor iframe otherwise the target isn't accessible.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! editorRoot || ! fadeWhenDisabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst onDragOver = ( event ) => {\n\t\t\tif ( ! event.target.closest( '[data-block]' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst draggedBlockNames = getBlockNamesByClientId( clientIds );\n\t\t\tconst targetClientId = event.target\n\t\t\t\t.closest( '[data-block]' )\n\t\t\t\t.getAttribute( 'data-block' );\n\n\t\t\tconst allowedBlocks = getAllowedBlocks( targetClientId );\n\t\t\tconst targetBlockName = getBlockNamesByClientId( [\n\t\t\t\ttargetClientId,\n\t\t\t] )[ 0 ];\n\n\t\t\t/*\n\t\t\t * Check if the target is valid to drop in.\n\t\t\t * If the target's allowedBlocks is an empty array,\n\t\t\t * it isn't a container block, in which case we check\n\t\t\t * its parent's validity instead.\n\t\t\t */\n\t\t\tlet dropTargetValid;\n\t\t\tif ( allowedBlocks?.length === 0 ) {\n\t\t\t\tconst targetRootClientId =\n\t\t\t\t\tgetBlockRootClientId( targetClientId );\n\t\t\t\tconst targetRootBlockName = getBlockNamesByClientId( [\n\t\t\t\t\ttargetRootClientId,\n\t\t\t\t] )[ 0 ];\n\t\t\t\tconst rootAllowedBlocks =\n\t\t\t\t\tgetAllowedBlocks( targetRootClientId );\n\t\t\t\tdropTargetValid = isDropTargetValid(\n\t\t\t\t\tgetBlockType,\n\t\t\t\t\trootAllowedBlocks,\n\t\t\t\t\tdraggedBlockNames,\n\t\t\t\t\ttargetRootBlockName\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tdropTargetValid = isDropTargetValid(\n\t\t\t\t\tgetBlockType,\n\t\t\t\t\tallowedBlocks,\n\t\t\t\t\tdraggedBlockNames,\n\t\t\t\t\ttargetBlockName\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * Update the body class to reflect if drop target is valid.\n\t\t\t * This has to be done on the document body because the draggable\n\t\t\t * chip is rendered outside of the editor iframe.\n\t\t\t */\n\t\t\tif ( ! dropTargetValid && ! visibleInserter ) {\n\t\t\t\twindow?.document?.body?.classList?.add(\n\t\t\t\t\t'block-draggable-invalid-drag-token'\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\twindow?.document?.body?.classList?.remove(\n\t\t\t\t\t'block-draggable-invalid-drag-token'\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\tconst throttledOnDragOver = throttle( onDragOver, 200 );\n\n\t\teditorRoot.addEventListener( 'dragover', throttledOnDragOver );\n\n\t\treturn () => {\n\t\t\teditorRoot.removeEventListener( 'dragover', throttledOnDragOver );\n\t\t};\n\t}, [\n\t\tclientIds,\n\t\teditorRoot,\n\t\tfadeWhenDisabled,\n\t\tgetAllowedBlocks,\n\t\tgetBlockNamesByClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlockType,\n\t\tvisibleInserter,\n\t] );\n\n\tif ( ! isDraggable ) {\n\t\treturn children( { draggable: false } );\n\t}\n\n\tconst transferData = {\n\t\ttype: 'block',\n\t\tsrcClientIds: clientIds,\n\t\tsrcRootClientId,\n\t};\n\n\treturn (\n\t\t<Draggable\n\t\t\tcloneClassname={ cloneClassname }\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ transferData }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t// Defer hiding the dragged source element to the next\n\t\t\t\t// frame to enable dragging.\n\t\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\t\tstartDraggingBlocks( clientIds );\n\t\t\t\t\tisDragging.current = true;\n\n\t\t\t\t\tstartScrolling( event );\n\n\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\tonDragStart();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonDragOver={ scrollOnDragOver }\n\t\t\tonDragEnd={ () => {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t\tisDragging.current = false;\n\n\t\t\t\tstopScrolling();\n\n\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\tonDragEnd();\n\t\t\t\t}\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip\n\t\t\t\t\tcount={ clientIds.length }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tfadeWhenDisabled\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\tonDragStart: onDraggableStart,\n\t\t\t\t\tonDragEnd: onDraggableEnd,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default BlockDraggable;\n"],"mappings":"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"}
|
|
@@ -18,7 +18,6 @@ var _reactNativeAztec = _interopRequireDefault(require("@wordpress/react-native-
|
|
|
18
18
|
var _useScrollWhenDragging = _interopRequireDefault(require("./use-scroll-when-dragging"));
|
|
19
19
|
var _draggableChip = _interopRequireDefault(require("./draggable-chip"));
|
|
20
20
|
var _store = require("../../store");
|
|
21
|
-
var _blockListContext = require("../block-list/block-list-context");
|
|
22
21
|
var _droppingInsertionPoint = _interopRequireDefault(require("./dropping-insertion-point"));
|
|
23
22
|
var _useBlockDropZone = _interopRequireDefault(require("../use-block-drop-zone"));
|
|
24
23
|
var _style = _interopRequireDefault(require("./style.scss"));
|
|
@@ -71,10 +70,6 @@ const BlockDraggableWrapper = ({
|
|
|
71
70
|
startDraggingBlocks,
|
|
72
71
|
stopDraggingBlocks
|
|
73
72
|
} = (0, _data.useDispatch)(_store.store);
|
|
74
|
-
const {
|
|
75
|
-
scrollRef
|
|
76
|
-
} = (0, _blockListContext.useBlockListContext)();
|
|
77
|
-
const animatedScrollRef = (0, _reactNativeReanimated.useAnimatedRef)();
|
|
78
73
|
const {
|
|
79
74
|
left,
|
|
80
75
|
right
|
|
@@ -84,7 +79,6 @@ const BlockDraggableWrapper = ({
|
|
|
84
79
|
} = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
|
|
85
80
|
const safeAreaOffset = left + right;
|
|
86
81
|
const contentWidth = width - safeAreaOffset;
|
|
87
|
-
animatedScrollRef(scrollRef);
|
|
88
82
|
const scroll = {
|
|
89
83
|
offsetY: (0, _reactNativeReanimated.useSharedValue)(0)
|
|
90
84
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeSafeAreaContext","_reactNativeReanimated","_interopRequireWildcard","_components","_data","_element","_blocks","_reactNativeBridge","_reactNativeAztec","_interopRequireDefault","_useScrollWhenDragging","_draggableChip","_store","_blockListContext","_droppingInsertionPoint","_useBlockDropZone","_style","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","CHIP_OFFSET_TO_TOUCH_POSITION","BLOCK_OPACITY_ANIMATION_CONFIG","duration","BLOCK_OPACITY_ANIMATION_DELAY","DEFAULT_LONG_PRESS_MIN_DURATION","DEFAULT_IOS_LONG_PRESS_MIN_DURATION","BlockDraggableWrapper","children","isRTL","draggedBlockIcon","setDraggedBlockIcon","useState","selectBlock","startDraggingBlocks","stopDraggingBlocks","useDispatch","blockEditorStore","scrollRef","useBlockListContext","animatedScrollRef","useAnimatedRef","left","right","useSafeAreaInsets","width","useSafeAreaFrame","safeAreaOffset","contentWidth","scroll","offsetY","useSharedValue","chip","x","y","height","currentYPosition","isDragging","startScrolling","scrollOnDragOver","stopScrolling","draggingScrollHandler","useScrollWhenDragging","scrollHandler","event","contentOffset","value","onBlockDragOverWorklet","onBlockDragEnd","onBlockDrop","targetBlockIndex","useBlockDropZone","useEffect","setDraggedBlockIconByClientId","clientId","blockName","select","getBlockName","blockIcon","getBlockType","icon","onStartDragging","position","runOnUI","generateHapticFeedback","stopDragging","onStopDragging","srcRootClientId","srcClientIds","type","undefined","onChipLayout","nativeEvent","layout","startDragging","id","dragPosition","runOnJS","updateDragging","chipDynamicStyles","useAnimatedStyle","chipOffset","translateX","transform","translateY","chipStyles","styles","exitingAnimation","currentHeight","currentWidth","animations","withTiming","scale","initialValues","_react","createElement","Fragment","Draggable","onDragStart","onDragOver","onDragEnd","testID","onScroll","View","onLayout","style","pointerEvents","entering","ZoomInEasyDown","exiting","exports","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","mounted","changeListener","AccessibilityInfo","addEventListener","enabled","then","screenReaderEnabled","remove","useIsEditingText","isEditingText","setIsEditingText","RCTAztecView","InputState","isFocused","onFocusChangeAztec","addFocusChangeListener","removeFocusChangeListener","BlockDraggable","draggingClientId","wasBeingDragged","useRef","draggingAnimation","opacity","startDraggingBlock","stopDraggingBlock","withDelay","isDraggable","isBeingDragged","isBlockSelected","useSelect","_select","getBlockRootClientId","getTemplateLock","isBlockBeingDragged","getSelectedBlockClientId","rootClientId","templateLock","selectedBlockClientId","current","onLongPressDraggable","useCallback","blurCurrentFocusedElement","animatedWrapperStyles","wrapperStyles","canDragBlock","DraggableTrigger","minDuration","Platform","ios","android","onLongPress","_default"],"sources":["@wordpress/block-editor/src/components/block-draggable/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo } from 'react-native';\nimport {\n\tuseSafeAreaInsets,\n\tuseSafeAreaFrame,\n} from 'react-native-safe-area-context';\nimport Animated, {\n\trunOnJS,\n\trunOnUI,\n\tuseAnimatedRef,\n\tuseAnimatedStyle,\n\tuseSharedValue,\n\twithDelay,\n\twithTiming,\n\tZoomInEasyDown,\n} from 'react-native-reanimated';\n\n/**\n * WordPress dependencies\n */\nimport { Draggable, DraggableTrigger } from '@wordpress/components';\nimport { select, useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tPlatform,\n} from '@wordpress/element';\nimport { getBlockType } from '@wordpress/blocks';\nimport { generateHapticFeedback } from '@wordpress/react-native-bridge';\nimport RCTAztecView from '@wordpress/react-native-aztec';\n\n/**\n * Internal dependencies\n */\nimport useScrollWhenDragging from './use-scroll-when-dragging';\nimport DraggableChip from './draggable-chip';\nimport { store as blockEditorStore } from '../../store';\nimport { useBlockListContext } from '../block-list/block-list-context';\nimport DroppingInsertionPoint from './dropping-insertion-point';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport styles from './style.scss';\n\nconst CHIP_OFFSET_TO_TOUCH_POSITION = 32;\nconst BLOCK_OPACITY_ANIMATION_CONFIG = { duration: 350 };\nconst BLOCK_OPACITY_ANIMATION_DELAY = 250;\nconst DEFAULT_LONG_PRESS_MIN_DURATION = 500;\nconst DEFAULT_IOS_LONG_PRESS_MIN_DURATION =\n\tDEFAULT_LONG_PRESS_MIN_DURATION - 50;\n\n/**\n * Block draggable wrapper component\n *\n * This component handles all the interactions for dragging blocks.\n * It relies on the block list and its context for dragging, hence it\n * should be rendered between the `BlockListProvider` component and the\n * block list rendering. It also requires listening to scroll events,\n * therefore for this purpose, it returns the `onScroll` event handler\n * that should be attached to the list that renders the blocks.\n *\n *\n * @param {Object} props Component props.\n * @param {JSX.Element} props.children Children to be rendered.\n * @param {boolean} props.isRTL Check if current locale is RTL.\n *\n * @return {Function} Render function that passes `onScroll` event handler.\n */\nconst BlockDraggableWrapper = ( { children, isRTL } ) => {\n\tconst [ draggedBlockIcon, setDraggedBlockIcon ] = useState();\n\n\tconst { selectBlock, startDraggingBlocks, stopDraggingBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { scrollRef } = useBlockListContext();\n\tconst animatedScrollRef = useAnimatedRef();\n\tconst { left, right } = useSafeAreaInsets();\n\tconst { width } = useSafeAreaFrame();\n\tconst safeAreaOffset = left + right;\n\tconst contentWidth = width - safeAreaOffset;\n\tanimatedScrollRef( scrollRef );\n\n\tconst scroll = {\n\t\toffsetY: useSharedValue( 0 ),\n\t};\n\tconst chip = {\n\t\tx: useSharedValue( 0 ),\n\t\ty: useSharedValue( 0 ),\n\t\twidth: useSharedValue( 0 ),\n\t\theight: useSharedValue( 0 ),\n\t};\n\tconst currentYPosition = useSharedValue( 0 );\n\tconst isDragging = useSharedValue( false );\n\n\tconst [\n\t\tstartScrolling,\n\t\tscrollOnDragOver,\n\t\tstopScrolling,\n\t\tdraggingScrollHandler,\n\t] = useScrollWhenDragging();\n\n\tconst scrollHandler = ( event ) => {\n\t\t'worklet';\n\t\tconst { contentOffset } = event;\n\t\tscroll.offsetY.value = contentOffset.y;\n\n\t\tdraggingScrollHandler( event );\n\t};\n\n\tconst {\n\t\tonBlockDragOverWorklet,\n\t\tonBlockDragEnd,\n\t\tonBlockDrop,\n\t\ttargetBlockIndex,\n\t} = useBlockDropZone();\n\n\t// Stop dragging blocks if the block draggable is unmounted.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( isDragging.value ) {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tconst setDraggedBlockIconByClientId = ( clientId ) => {\n\t\tconst blockName = select( blockEditorStore ).getBlockName( clientId );\n\t\tconst blockIcon = getBlockType( blockName )?.icon;\n\t\tif ( blockIcon ) {\n\t\t\tsetDraggedBlockIcon( blockIcon );\n\t\t}\n\t};\n\n\tconst onStartDragging = ( { clientId, position } ) => {\n\t\tif ( clientId ) {\n\t\t\tstartDraggingBlocks( [ clientId ] );\n\t\t\tsetDraggedBlockIconByClientId( clientId );\n\t\t\trunOnUI( startScrolling )( position.y );\n\t\t\tgenerateHapticFeedback();\n\t\t} else {\n\t\t\t// We stop dragging if no block is found.\n\t\t\trunOnUI( stopDragging )();\n\t\t}\n\t};\n\n\tconst onStopDragging = ( { clientId } ) => {\n\t\tif ( clientId ) {\n\t\t\tonBlockDrop( {\n\t\t\t\t// Dropping is only allowed at root level\n\t\t\t\tsrcRootClientId: '',\n\t\t\t\tsrcClientIds: [ clientId ],\n\t\t\t\ttype: 'block',\n\t\t\t} );\n\t\t\tselectBlock( clientId );\n\t\t\tsetDraggedBlockIcon( undefined );\n\t\t}\n\t\tonBlockDragEnd();\n\t\tstopDraggingBlocks();\n\t};\n\n\tconst onChipLayout = ( { nativeEvent: { layout } } ) => {\n\t\tif ( layout.width > 0 ) {\n\t\t\tchip.width.value = layout.width;\n\t\t}\n\t\tif ( layout.height > 0 ) {\n\t\t\tchip.height.value = layout.height;\n\t\t}\n\t};\n\n\tconst startDragging = ( { x, y, id } ) => {\n\t\t'worklet';\n\t\tconst dragPosition = { x, y };\n\t\tchip.x.value = dragPosition.x;\n\t\tchip.y.value = dragPosition.y;\n\t\tcurrentYPosition.value = dragPosition.y;\n\n\t\tisDragging.value = true;\n\n\t\trunOnJS( onStartDragging )( { clientId: id, position: dragPosition } );\n\t};\n\n\tconst updateDragging = ( { x, y } ) => {\n\t\t'worklet';\n\t\tconst dragPosition = { x, y };\n\t\tchip.x.value = dragPosition.x;\n\t\tchip.y.value = dragPosition.y;\n\t\tcurrentYPosition.value = dragPosition.y;\n\n\t\tonBlockDragOverWorklet( { x, y: y + scroll.offsetY.value } );\n\n\t\t// Update scrolling velocity\n\t\tscrollOnDragOver( dragPosition.y );\n\t};\n\n\tconst stopDragging = ( { id } ) => {\n\t\t'worklet';\n\t\tisDragging.value = false;\n\n\t\tstopScrolling();\n\t\trunOnJS( onStopDragging )( { clientId: id } );\n\t};\n\n\tconst chipDynamicStyles = useAnimatedStyle( () => {\n\t\tconst chipOffset = chip.width.value / 2;\n\t\tconst translateX = ! isRTL\n\t\t\t? chip.x.value - chipOffset\n\t\t\t: -( contentWidth - ( chip.x.value + chipOffset ) );\n\n\t\treturn {\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateX,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttranslateY:\n\t\t\t\t\t\tchip.y.value -\n\t\t\t\t\t\tchip.height.value -\n\t\t\t\t\t\tCHIP_OFFSET_TO_TOUCH_POSITION,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t} );\n\tconst chipStyles = [\n\t\tchipDynamicStyles,\n\t\tstyles[ 'draggable-chip__wrapper' ],\n\t];\n\n\tconst exitingAnimation = ( { currentHeight, currentWidth } ) => {\n\t\t'worklet';\n\t\tconst translateX = ! isRTL ? 0 : currentWidth * -1;\n\t\tconst duration = 150;\n\t\tconst animations = {\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: withTiming( currentHeight, {\n\t\t\t\t\t\tduration,\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttranslateX: withTiming( translateX, {\n\t\t\t\t\t\tduration,\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\t{ scale: withTiming( 0, { duration } ) },\n\t\t\t],\n\t\t};\n\t\tconst initialValues = {\n\t\t\ttransform: [ { translateY: 0 }, { translateX }, { scale: 1 } ],\n\t\t};\n\t\treturn {\n\t\t\tinitialValues,\n\t\t\tanimations,\n\t\t};\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<DroppingInsertionPoint\n\t\t\t\tscroll={ scroll }\n\t\t\t\tcurrentYPosition={ currentYPosition }\n\t\t\t\tisDragging={ isDragging }\n\t\t\t\ttargetBlockIndex={ targetBlockIndex }\n\t\t\t/>\n\t\t\t<Draggable\n\t\t\t\tonDragStart={ startDragging }\n\t\t\t\tonDragOver={ updateDragging }\n\t\t\t\tonDragEnd={ stopDragging }\n\t\t\t\ttestID=\"block-draggable-wrapper\"\n\t\t\t>\n\t\t\t\t{ children( { onScroll: scrollHandler } ) }\n\t\t\t</Draggable>\n\t\t\t<Animated.View\n\t\t\t\tonLayout={ onChipLayout }\n\t\t\t\tstyle={ chipStyles }\n\t\t\t\tpointerEvents=\"none\"\n\t\t\t>\n\t\t\t\t{ draggedBlockIcon && (\n\t\t\t\t\t<Animated.View\n\t\t\t\t\t\tentering={ ZoomInEasyDown.duration( 200 ) }\n\t\t\t\t\t\texiting={ exitingAnimation }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DraggableChip icon={ draggedBlockIcon } />\n\t\t\t\t\t</Animated.View>\n\t\t\t\t) }\n\t\t\t</Animated.View>\n\t\t</>\n\t);\n};\n\nfunction useIsScreenReaderEnabled() {\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tlet mounted = true;\n\n\t\tconst changeListener = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\t( enabled ) => setIsScreenReaderEnabled( enabled )\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( screenReaderEnabled ) => {\n\t\t\t\tif ( mounted && screenReaderEnabled ) {\n\t\t\t\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\n\t\t\tchangeListener.remove();\n\t\t};\n\t}, [] );\n\n\treturn isScreenReaderEnabled;\n}\n\nfunction useIsEditingText() {\n\tconst [ isEditingText, setIsEditingText ] = useState( () =>\n\t\tRCTAztecView.InputState.isFocused()\n\t);\n\n\tuseEffect( () => {\n\t\tconst onFocusChangeAztec = ( { isFocused } ) => {\n\t\t\tsetIsEditingText( isFocused );\n\t\t};\n\n\t\tRCTAztecView.InputState.addFocusChangeListener( onFocusChangeAztec );\n\n\t\treturn () => {\n\t\t\tRCTAztecView.InputState.removeFocusChangeListener(\n\t\t\t\tonFocusChangeAztec\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\treturn isEditingText;\n}\n\n/**\n * Block draggable component\n *\n * This component serves for animating the block when it is being dragged.\n * Hence, it should be wrapped around the rendering of a block.\n *\n * @param {Object} props Component props.\n * @param {JSX.Element} props.children Children to be rendered.\n * @param {string} props.clientId Client id of the block.\n * @param {string} [props.draggingClientId] Client id to use for dragging. If not defined, the value from `clientId` will be used.\n * @param {boolean} [props.enabled] Enables the draggable trigger.\n * @param {string} [props.testID] Id used for querying the long-press gesture handler in tests.\n *\n * @return {Function} Render function which includes the parameter `isDraggable` to determine if the block can be dragged.\n */\nconst BlockDraggable = ( {\n\tclientId,\n\tchildren,\n\tdraggingClientId,\n\tenabled = true,\n\ttestID,\n} ) => {\n\tconst wasBeingDragged = useRef( false );\n\tconst isEditingText = useIsEditingText();\n\tconst isScreenReaderEnabled = useIsScreenReaderEnabled();\n\n\tconst draggingAnimation = {\n\t\topacity: useSharedValue( 1 ),\n\t};\n\n\tconst startDraggingBlock = () => {\n\t\tdraggingAnimation.opacity.value = withTiming(\n\t\t\t0.4,\n\t\t\tBLOCK_OPACITY_ANIMATION_CONFIG\n\t\t);\n\t};\n\n\tconst stopDraggingBlock = () => {\n\t\tdraggingAnimation.opacity.value = withDelay(\n\t\t\tBLOCK_OPACITY_ANIMATION_DELAY,\n\t\t\twithTiming( 1, BLOCK_OPACITY_ANIMATION_CONFIG )\n\t\t);\n\t};\n\n\tconst { isDraggable, isBeingDragged, isBlockSelected } = useSelect(\n\t\t( _select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = _select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst templateLock = rootClientId\n\t\t\t\t? getTemplateLock( rootClientId )\n\t\t\t\t: null;\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tisBeingDragged: isBlockBeingDragged( clientId ),\n\t\t\t\tisDraggable: 'all' !== templateLock,\n\t\t\t\tisBlockSelected:\n\t\t\t\t\tselectedBlockClientId && selectedBlockClientId === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isBeingDragged !== wasBeingDragged.current ) {\n\t\t\tif ( isBeingDragged ) {\n\t\t\t\tstartDraggingBlock();\n\t\t\t} else {\n\t\t\t\tstopDraggingBlock();\n\t\t\t}\n\t\t}\n\t\twasBeingDragged.current = isBeingDragged;\n\t}, [ isBeingDragged ] );\n\n\tconst onLongPressDraggable = useCallback( () => {\n\t\t// Ensure that no text input is focused when starting the dragging gesture in order to prevent conflicts with text editing.\n\t\tRCTAztecView.InputState.blurCurrentFocusedElement();\n\t}, [] );\n\n\tconst animatedWrapperStyles = useAnimatedStyle( () => {\n\t\treturn {\n\t\t\topacity: draggingAnimation.opacity.value,\n\t\t};\n\t} );\n\tconst wrapperStyles = [\n\t\tanimatedWrapperStyles,\n\t\tstyles[ 'draggable-wrapper__container' ],\n\t];\n\n\tconst canDragBlock =\n\t\tenabled &&\n\t\t! isScreenReaderEnabled &&\n\t\t( ! isBlockSelected || ! isEditingText );\n\n\tif ( ! isDraggable ) {\n\t\treturn children( { isDraggable: false } );\n\t}\n\n\treturn (\n\t\t<DraggableTrigger\n\t\t\tid={ draggingClientId || clientId }\n\t\t\tenabled={ enabled && canDragBlock }\n\t\t\tminDuration={ Platform.select( {\n\t\t\t\t// On iOS, using a lower min duration than the default\n\t\t\t\t// value prevents the long-press gesture from being\n\t\t\t\t// triggered in underneath elements. This is required to\n\t\t\t\t// prevent enabling text editing when dragging is available.\n\t\t\t\tios: canDragBlock\n\t\t\t\t\t? DEFAULT_IOS_LONG_PRESS_MIN_DURATION\n\t\t\t\t\t: DEFAULT_LONG_PRESS_MIN_DURATION,\n\t\t\t\tandroid: DEFAULT_LONG_PRESS_MIN_DURATION,\n\t\t\t} ) }\n\t\t\tonLongPress={ onLongPressDraggable }\n\t\t\ttestID={ testID }\n\t\t>\n\t\t\t<Animated.View style={ wrapperStyles }>\n\t\t\t\t{ children( { isDraggable: true } ) }\n\t\t\t</Animated.View>\n\t\t</DraggableTrigger>\n\t);\n};\n\nexport { BlockDraggableWrapper };\nexport default BlockDraggable;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeSafeAreaContext","_reactNativeReanimated","_interopRequireWildcard","_components","_data","_element","_blocks","_reactNativeBridge","_reactNativeAztec","_interopRequireDefault","_useScrollWhenDragging","_draggableChip","_store","_droppingInsertionPoint","_useBlockDropZone","_style","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","CHIP_OFFSET_TO_TOUCH_POSITION","BLOCK_OPACITY_ANIMATION_CONFIG","duration","BLOCK_OPACITY_ANIMATION_DELAY","DEFAULT_LONG_PRESS_MIN_DURATION","DEFAULT_IOS_LONG_PRESS_MIN_DURATION","BlockDraggableWrapper","children","isRTL","draggedBlockIcon","setDraggedBlockIcon","useState","selectBlock","startDraggingBlocks","stopDraggingBlocks","useDispatch","blockEditorStore","left","right","useSafeAreaInsets","width","useSafeAreaFrame","safeAreaOffset","contentWidth","scroll","offsetY","useSharedValue","chip","x","y","height","currentYPosition","isDragging","startScrolling","scrollOnDragOver","stopScrolling","draggingScrollHandler","useScrollWhenDragging","scrollHandler","event","contentOffset","value","onBlockDragOverWorklet","onBlockDragEnd","onBlockDrop","targetBlockIndex","useBlockDropZone","useEffect","setDraggedBlockIconByClientId","clientId","blockName","select","getBlockName","blockIcon","getBlockType","icon","onStartDragging","position","runOnUI","generateHapticFeedback","stopDragging","onStopDragging","srcRootClientId","srcClientIds","type","undefined","onChipLayout","nativeEvent","layout","startDragging","id","dragPosition","runOnJS","updateDragging","chipDynamicStyles","useAnimatedStyle","chipOffset","translateX","transform","translateY","chipStyles","styles","exitingAnimation","currentHeight","currentWidth","animations","withTiming","scale","initialValues","_react","createElement","Fragment","Draggable","onDragStart","onDragOver","onDragEnd","testID","onScroll","View","onLayout","style","pointerEvents","entering","ZoomInEasyDown","exiting","exports","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","mounted","changeListener","AccessibilityInfo","addEventListener","enabled","then","screenReaderEnabled","remove","useIsEditingText","isEditingText","setIsEditingText","RCTAztecView","InputState","isFocused","onFocusChangeAztec","addFocusChangeListener","removeFocusChangeListener","BlockDraggable","draggingClientId","wasBeingDragged","useRef","draggingAnimation","opacity","startDraggingBlock","stopDraggingBlock","withDelay","isDraggable","isBeingDragged","isBlockSelected","useSelect","_select","getBlockRootClientId","getTemplateLock","isBlockBeingDragged","getSelectedBlockClientId","rootClientId","templateLock","selectedBlockClientId","current","onLongPressDraggable","useCallback","blurCurrentFocusedElement","animatedWrapperStyles","wrapperStyles","canDragBlock","DraggableTrigger","minDuration","Platform","ios","android","onLongPress","_default"],"sources":["@wordpress/block-editor/src/components/block-draggable/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo } from 'react-native';\nimport {\n\tuseSafeAreaInsets,\n\tuseSafeAreaFrame,\n} from 'react-native-safe-area-context';\nimport Animated, {\n\trunOnJS,\n\trunOnUI,\n\tuseAnimatedStyle,\n\tuseSharedValue,\n\twithDelay,\n\twithTiming,\n\tZoomInEasyDown,\n} from 'react-native-reanimated';\n\n/**\n * WordPress dependencies\n */\nimport { Draggable, DraggableTrigger } from '@wordpress/components';\nimport { select, useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tPlatform,\n} from '@wordpress/element';\nimport { getBlockType } from '@wordpress/blocks';\nimport { generateHapticFeedback } from '@wordpress/react-native-bridge';\nimport RCTAztecView from '@wordpress/react-native-aztec';\n\n/**\n * Internal dependencies\n */\nimport useScrollWhenDragging from './use-scroll-when-dragging';\nimport DraggableChip from './draggable-chip';\nimport { store as blockEditorStore } from '../../store';\nimport DroppingInsertionPoint from './dropping-insertion-point';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport styles from './style.scss';\n\nconst CHIP_OFFSET_TO_TOUCH_POSITION = 32;\nconst BLOCK_OPACITY_ANIMATION_CONFIG = { duration: 350 };\nconst BLOCK_OPACITY_ANIMATION_DELAY = 250;\nconst DEFAULT_LONG_PRESS_MIN_DURATION = 500;\nconst DEFAULT_IOS_LONG_PRESS_MIN_DURATION =\n\tDEFAULT_LONG_PRESS_MIN_DURATION - 50;\n\n/**\n * Block draggable wrapper component\n *\n * This component handles all the interactions for dragging blocks.\n * It relies on the block list and its context for dragging, hence it\n * should be rendered between the `BlockListProvider` component and the\n * block list rendering. It also requires listening to scroll events,\n * therefore for this purpose, it returns the `onScroll` event handler\n * that should be attached to the list that renders the blocks.\n *\n *\n * @param {Object} props Component props.\n * @param {JSX.Element} props.children Children to be rendered.\n * @param {boolean} props.isRTL Check if current locale is RTL.\n *\n * @return {Function} Render function that passes `onScroll` event handler.\n */\nconst BlockDraggableWrapper = ( { children, isRTL } ) => {\n\tconst [ draggedBlockIcon, setDraggedBlockIcon ] = useState();\n\n\tconst { selectBlock, startDraggingBlocks, stopDraggingBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { left, right } = useSafeAreaInsets();\n\tconst { width } = useSafeAreaFrame();\n\tconst safeAreaOffset = left + right;\n\tconst contentWidth = width - safeAreaOffset;\n\n\tconst scroll = {\n\t\toffsetY: useSharedValue( 0 ),\n\t};\n\tconst chip = {\n\t\tx: useSharedValue( 0 ),\n\t\ty: useSharedValue( 0 ),\n\t\twidth: useSharedValue( 0 ),\n\t\theight: useSharedValue( 0 ),\n\t};\n\tconst currentYPosition = useSharedValue( 0 );\n\tconst isDragging = useSharedValue( false );\n\n\tconst [\n\t\tstartScrolling,\n\t\tscrollOnDragOver,\n\t\tstopScrolling,\n\t\tdraggingScrollHandler,\n\t] = useScrollWhenDragging();\n\n\tconst scrollHandler = ( event ) => {\n\t\t'worklet';\n\t\tconst { contentOffset } = event;\n\t\tscroll.offsetY.value = contentOffset.y;\n\n\t\tdraggingScrollHandler( event );\n\t};\n\n\tconst {\n\t\tonBlockDragOverWorklet,\n\t\tonBlockDragEnd,\n\t\tonBlockDrop,\n\t\ttargetBlockIndex,\n\t} = useBlockDropZone();\n\n\t// Stop dragging blocks if the block draggable is unmounted.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( isDragging.value ) {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tconst setDraggedBlockIconByClientId = ( clientId ) => {\n\t\tconst blockName = select( blockEditorStore ).getBlockName( clientId );\n\t\tconst blockIcon = getBlockType( blockName )?.icon;\n\t\tif ( blockIcon ) {\n\t\t\tsetDraggedBlockIcon( blockIcon );\n\t\t}\n\t};\n\n\tconst onStartDragging = ( { clientId, position } ) => {\n\t\tif ( clientId ) {\n\t\t\tstartDraggingBlocks( [ clientId ] );\n\t\t\tsetDraggedBlockIconByClientId( clientId );\n\t\t\trunOnUI( startScrolling )( position.y );\n\t\t\tgenerateHapticFeedback();\n\t\t} else {\n\t\t\t// We stop dragging if no block is found.\n\t\t\trunOnUI( stopDragging )();\n\t\t}\n\t};\n\n\tconst onStopDragging = ( { clientId } ) => {\n\t\tif ( clientId ) {\n\t\t\tonBlockDrop( {\n\t\t\t\t// Dropping is only allowed at root level\n\t\t\t\tsrcRootClientId: '',\n\t\t\t\tsrcClientIds: [ clientId ],\n\t\t\t\ttype: 'block',\n\t\t\t} );\n\t\t\tselectBlock( clientId );\n\t\t\tsetDraggedBlockIcon( undefined );\n\t\t}\n\t\tonBlockDragEnd();\n\t\tstopDraggingBlocks();\n\t};\n\n\tconst onChipLayout = ( { nativeEvent: { layout } } ) => {\n\t\tif ( layout.width > 0 ) {\n\t\t\tchip.width.value = layout.width;\n\t\t}\n\t\tif ( layout.height > 0 ) {\n\t\t\tchip.height.value = layout.height;\n\t\t}\n\t};\n\n\tconst startDragging = ( { x, y, id } ) => {\n\t\t'worklet';\n\t\tconst dragPosition = { x, y };\n\t\tchip.x.value = dragPosition.x;\n\t\tchip.y.value = dragPosition.y;\n\t\tcurrentYPosition.value = dragPosition.y;\n\n\t\tisDragging.value = true;\n\n\t\trunOnJS( onStartDragging )( { clientId: id, position: dragPosition } );\n\t};\n\n\tconst updateDragging = ( { x, y } ) => {\n\t\t'worklet';\n\t\tconst dragPosition = { x, y };\n\t\tchip.x.value = dragPosition.x;\n\t\tchip.y.value = dragPosition.y;\n\t\tcurrentYPosition.value = dragPosition.y;\n\n\t\tonBlockDragOverWorklet( { x, y: y + scroll.offsetY.value } );\n\n\t\t// Update scrolling velocity\n\t\tscrollOnDragOver( dragPosition.y );\n\t};\n\n\tconst stopDragging = ( { id } ) => {\n\t\t'worklet';\n\t\tisDragging.value = false;\n\n\t\tstopScrolling();\n\t\trunOnJS( onStopDragging )( { clientId: id } );\n\t};\n\n\tconst chipDynamicStyles = useAnimatedStyle( () => {\n\t\tconst chipOffset = chip.width.value / 2;\n\t\tconst translateX = ! isRTL\n\t\t\t? chip.x.value - chipOffset\n\t\t\t: -( contentWidth - ( chip.x.value + chipOffset ) );\n\n\t\treturn {\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateX,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttranslateY:\n\t\t\t\t\t\tchip.y.value -\n\t\t\t\t\t\tchip.height.value -\n\t\t\t\t\t\tCHIP_OFFSET_TO_TOUCH_POSITION,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t} );\n\tconst chipStyles = [\n\t\tchipDynamicStyles,\n\t\tstyles[ 'draggable-chip__wrapper' ],\n\t];\n\n\tconst exitingAnimation = ( { currentHeight, currentWidth } ) => {\n\t\t'worklet';\n\t\tconst translateX = ! isRTL ? 0 : currentWidth * -1;\n\t\tconst duration = 150;\n\t\tconst animations = {\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: withTiming( currentHeight, {\n\t\t\t\t\t\tduration,\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttranslateX: withTiming( translateX, {\n\t\t\t\t\t\tduration,\n\t\t\t\t\t} ),\n\t\t\t\t},\n\t\t\t\t{ scale: withTiming( 0, { duration } ) },\n\t\t\t],\n\t\t};\n\t\tconst initialValues = {\n\t\t\ttransform: [ { translateY: 0 }, { translateX }, { scale: 1 } ],\n\t\t};\n\t\treturn {\n\t\t\tinitialValues,\n\t\t\tanimations,\n\t\t};\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<DroppingInsertionPoint\n\t\t\t\tscroll={ scroll }\n\t\t\t\tcurrentYPosition={ currentYPosition }\n\t\t\t\tisDragging={ isDragging }\n\t\t\t\ttargetBlockIndex={ targetBlockIndex }\n\t\t\t/>\n\t\t\t<Draggable\n\t\t\t\tonDragStart={ startDragging }\n\t\t\t\tonDragOver={ updateDragging }\n\t\t\t\tonDragEnd={ stopDragging }\n\t\t\t\ttestID=\"block-draggable-wrapper\"\n\t\t\t>\n\t\t\t\t{ children( { onScroll: scrollHandler } ) }\n\t\t\t</Draggable>\n\t\t\t<Animated.View\n\t\t\t\tonLayout={ onChipLayout }\n\t\t\t\tstyle={ chipStyles }\n\t\t\t\tpointerEvents=\"none\"\n\t\t\t>\n\t\t\t\t{ draggedBlockIcon && (\n\t\t\t\t\t<Animated.View\n\t\t\t\t\t\tentering={ ZoomInEasyDown.duration( 200 ) }\n\t\t\t\t\t\texiting={ exitingAnimation }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DraggableChip icon={ draggedBlockIcon } />\n\t\t\t\t\t</Animated.View>\n\t\t\t\t) }\n\t\t\t</Animated.View>\n\t\t</>\n\t);\n};\n\nfunction useIsScreenReaderEnabled() {\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tlet mounted = true;\n\n\t\tconst changeListener = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\t( enabled ) => setIsScreenReaderEnabled( enabled )\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( screenReaderEnabled ) => {\n\t\t\t\tif ( mounted && screenReaderEnabled ) {\n\t\t\t\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\n\t\t\tchangeListener.remove();\n\t\t};\n\t}, [] );\n\n\treturn isScreenReaderEnabled;\n}\n\nfunction useIsEditingText() {\n\tconst [ isEditingText, setIsEditingText ] = useState( () =>\n\t\tRCTAztecView.InputState.isFocused()\n\t);\n\n\tuseEffect( () => {\n\t\tconst onFocusChangeAztec = ( { isFocused } ) => {\n\t\t\tsetIsEditingText( isFocused );\n\t\t};\n\n\t\tRCTAztecView.InputState.addFocusChangeListener( onFocusChangeAztec );\n\n\t\treturn () => {\n\t\t\tRCTAztecView.InputState.removeFocusChangeListener(\n\t\t\t\tonFocusChangeAztec\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\treturn isEditingText;\n}\n\n/**\n * Block draggable component\n *\n * This component serves for animating the block when it is being dragged.\n * Hence, it should be wrapped around the rendering of a block.\n *\n * @param {Object} props Component props.\n * @param {JSX.Element} props.children Children to be rendered.\n * @param {string} props.clientId Client id of the block.\n * @param {string} [props.draggingClientId] Client id to use for dragging. If not defined, the value from `clientId` will be used.\n * @param {boolean} [props.enabled] Enables the draggable trigger.\n * @param {string} [props.testID] Id used for querying the long-press gesture handler in tests.\n *\n * @return {Function} Render function which includes the parameter `isDraggable` to determine if the block can be dragged.\n */\nconst BlockDraggable = ( {\n\tclientId,\n\tchildren,\n\tdraggingClientId,\n\tenabled = true,\n\ttestID,\n} ) => {\n\tconst wasBeingDragged = useRef( false );\n\tconst isEditingText = useIsEditingText();\n\tconst isScreenReaderEnabled = useIsScreenReaderEnabled();\n\n\tconst draggingAnimation = {\n\t\topacity: useSharedValue( 1 ),\n\t};\n\n\tconst startDraggingBlock = () => {\n\t\tdraggingAnimation.opacity.value = withTiming(\n\t\t\t0.4,\n\t\t\tBLOCK_OPACITY_ANIMATION_CONFIG\n\t\t);\n\t};\n\n\tconst stopDraggingBlock = () => {\n\t\tdraggingAnimation.opacity.value = withDelay(\n\t\t\tBLOCK_OPACITY_ANIMATION_DELAY,\n\t\t\twithTiming( 1, BLOCK_OPACITY_ANIMATION_CONFIG )\n\t\t);\n\t};\n\n\tconst { isDraggable, isBeingDragged, isBlockSelected } = useSelect(\n\t\t( _select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = _select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst templateLock = rootClientId\n\t\t\t\t? getTemplateLock( rootClientId )\n\t\t\t\t: null;\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tisBeingDragged: isBlockBeingDragged( clientId ),\n\t\t\t\tisDraggable: 'all' !== templateLock,\n\t\t\t\tisBlockSelected:\n\t\t\t\t\tselectedBlockClientId && selectedBlockClientId === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isBeingDragged !== wasBeingDragged.current ) {\n\t\t\tif ( isBeingDragged ) {\n\t\t\t\tstartDraggingBlock();\n\t\t\t} else {\n\t\t\t\tstopDraggingBlock();\n\t\t\t}\n\t\t}\n\t\twasBeingDragged.current = isBeingDragged;\n\t}, [ isBeingDragged ] );\n\n\tconst onLongPressDraggable = useCallback( () => {\n\t\t// Ensure that no text input is focused when starting the dragging gesture in order to prevent conflicts with text editing.\n\t\tRCTAztecView.InputState.blurCurrentFocusedElement();\n\t}, [] );\n\n\tconst animatedWrapperStyles = useAnimatedStyle( () => {\n\t\treturn {\n\t\t\topacity: draggingAnimation.opacity.value,\n\t\t};\n\t} );\n\tconst wrapperStyles = [\n\t\tanimatedWrapperStyles,\n\t\tstyles[ 'draggable-wrapper__container' ],\n\t];\n\n\tconst canDragBlock =\n\t\tenabled &&\n\t\t! isScreenReaderEnabled &&\n\t\t( ! isBlockSelected || ! isEditingText );\n\n\tif ( ! isDraggable ) {\n\t\treturn children( { isDraggable: false } );\n\t}\n\n\treturn (\n\t\t<DraggableTrigger\n\t\t\tid={ draggingClientId || clientId }\n\t\t\tenabled={ enabled && canDragBlock }\n\t\t\tminDuration={ Platform.select( {\n\t\t\t\t// On iOS, using a lower min duration than the default\n\t\t\t\t// value prevents the long-press gesture from being\n\t\t\t\t// triggered in underneath elements. This is required to\n\t\t\t\t// prevent enabling text editing when dragging is available.\n\t\t\t\tios: canDragBlock\n\t\t\t\t\t? DEFAULT_IOS_LONG_PRESS_MIN_DURATION\n\t\t\t\t\t: DEFAULT_LONG_PRESS_MIN_DURATION,\n\t\t\t\tandroid: DEFAULT_LONG_PRESS_MIN_DURATION,\n\t\t\t} ) }\n\t\t\tonLongPress={ onLongPressDraggable }\n\t\t\ttestID={ testID }\n\t\t>\n\t\t\t<Animated.View style={ wrapperStyles }>\n\t\t\t\t{ children( { isDraggable: true } ) }\n\t\t\t</Animated.View>\n\t\t</DraggableTrigger>\n\t);\n};\n\nexport { BlockDraggableWrapper };\nexport default BlockDraggable;\n"],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ function useScrollWhenDragging() {
|
|
|
33
33
|
scrollRef
|
|
34
34
|
} = (0, _blockListContext.useBlockListContext)();
|
|
35
35
|
const animatedScrollRef = (0, _reactNativeReanimated.useAnimatedRef)();
|
|
36
|
-
animatedScrollRef(scrollRef);
|
|
36
|
+
animatedScrollRef(scrollRef?.scrollViewRef);
|
|
37
37
|
const {
|
|
38
38
|
height: windowHeight
|
|
39
39
|
} = (0, _reactNative.useWindowDimensions)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_blockListContext","SCROLL_INACTIVE_DISTANCE_PX","SCROLL_INTERVAL_MS","VELOCITY_MULTIPLIER","useScrollWhenDragging","scrollRef","useBlockListContext","animatedScrollRef","useAnimatedRef","height","windowHeight","useWindowDimensions","velocityY","useSharedValue","offsetY","dragStartY","animationTimer","isAnimationTimerActive","isScrollActive","scroll","maxOffsetY","scrollHandler","event","contentSize","contentOffset","layoutMeasurement","value","y","stopScrolling","cancelAnimation","startScrolling","withRepeat","withTiming","duration","easing","Easing","linear","scrollOnDragOver","dragDistance","Math","max","abs","distancePercentage","useAnimatedReaction","previous","delta","newOffset","min","scrollTo"],"sources":["@wordpress/block-editor/src/components/block-draggable/use-scroll-when-dragging.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { useWindowDimensions } from 'react-native';\nimport {\n\tuseSharedValue,\n\tuseAnimatedRef,\n\tscrollTo,\n\tuseAnimatedReaction,\n\twithTiming,\n\twithRepeat,\n\tcancelAnimation,\n\tEasing,\n} from 'react-native-reanimated';\n\n/**\n * Internal dependencies\n */\nimport { useBlockListContext } from '../block-list/block-list-context';\n\nconst SCROLL_INACTIVE_DISTANCE_PX = 50;\nconst SCROLL_INTERVAL_MS = 1000;\nconst VELOCITY_MULTIPLIER = 5000;\n\n/**\n * React hook that scrolls the scroll container when a block is being dragged.\n *\n * @return {Function[]} `startScrolling`, `scrollOnDragOver`, `stopScrolling`\n * functions to be called in `onDragStart`, `onDragOver`\n * and `onDragEnd` events respectively. Additionally,\n * \t\t\t\t\t\t`scrollHandler` function is returned which should be\n * \t\t\t\t\t\tcalled in the `onScroll` event of the block list.\n */\nexport default function useScrollWhenDragging() {\n\tconst { scrollRef } = useBlockListContext();\n\tconst animatedScrollRef = useAnimatedRef();\n\tanimatedScrollRef( scrollRef );\n\n\tconst { height: windowHeight } = useWindowDimensions();\n\n\tconst velocityY = useSharedValue( 0 );\n\tconst offsetY = useSharedValue( 0 );\n\tconst dragStartY = useSharedValue( 0 );\n\tconst animationTimer = useSharedValue( 0 );\n\tconst isAnimationTimerActive = useSharedValue( false );\n\tconst isScrollActive = useSharedValue( false );\n\n\tconst scroll = {\n\t\toffsetY: useSharedValue( 0 ),\n\t\tmaxOffsetY: useSharedValue( 0 ),\n\t};\n\tconst scrollHandler = ( event ) => {\n\t\t'worklet';\n\t\tconst { contentSize, contentOffset, layoutMeasurement } = event;\n\t\tscroll.offsetY.value = contentOffset.y;\n\t\tscroll.maxOffsetY.value = contentSize.height - layoutMeasurement.height;\n\t};\n\n\tconst stopScrolling = () => {\n\t\t'worklet';\n\t\tcancelAnimation( animationTimer );\n\n\t\tisAnimationTimerActive.value = false;\n\t\tisScrollActive.value = false;\n\t\tvelocityY.value = 0;\n\t};\n\n\tconst startScrolling = ( y ) => {\n\t\t'worklet';\n\t\tstopScrolling();\n\t\toffsetY.value = scroll.offsetY.value;\n\t\tdragStartY.value = y;\n\n\t\tanimationTimer.value = 0;\n\t\tanimationTimer.value = withRepeat(\n\t\t\twithTiming( 1, {\n\t\t\t\tduration: SCROLL_INTERVAL_MS,\n\t\t\t\teasing: Easing.linear,\n\t\t\t} ),\n\t\t\t-1,\n\t\t\ttrue\n\t\t);\n\t\tisAnimationTimerActive.value = true;\n\t};\n\n\tconst scrollOnDragOver = ( y ) => {\n\t\t'worklet';\n\t\tconst dragDistance = Math.max(\n\t\t\tMath.abs( y - dragStartY.value ) - SCROLL_INACTIVE_DISTANCE_PX,\n\t\t\t0\n\t\t);\n\t\tconst distancePercentage = dragDistance / windowHeight;\n\n\t\tif ( ! isScrollActive.value ) {\n\t\t\tisScrollActive.value = dragDistance > 0;\n\t\t} else if ( y > dragStartY.value ) {\n\t\t\t// User is dragging downwards.\n\t\t\tvelocityY.value = VELOCITY_MULTIPLIER * distancePercentage;\n\t\t} else if ( y < dragStartY.value ) {\n\t\t\t// User is dragging upwards.\n\t\t\tvelocityY.value = -VELOCITY_MULTIPLIER * distancePercentage;\n\t\t} else {\n\t\t\tvelocityY.value = 0;\n\t\t}\n\t};\n\n\tuseAnimatedReaction(\n\t\t() => animationTimer.value,\n\t\t( value, previous ) => {\n\t\t\tif ( velocityY.value === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst delta = Math.abs( value - previous );\n\t\t\tlet newOffset = offsetY.value + delta * velocityY.value;\n\n\t\t\tif ( scroll.maxOffsetY.value !== 0 ) {\n\t\t\t\tnewOffset = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\tMath.min( scroll.maxOffsetY.value, newOffset )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Scroll values are empty until receiving the first scroll event.\n\t\t\t\t// In that case, the max offset is unknown and we can't clamp the\n\t\t\t\t// new offset value.\n\t\t\t\tnewOffset = Math.max( 0, newOffset );\n\t\t\t}\n\n\t\t\toffsetY.value = newOffset;\n\t\t\tscrollTo( animatedScrollRef, 0, offsetY.value, false );\n\t\t}\n\t);\n\n\treturn [ startScrolling, scrollOnDragOver, stopScrolling, scrollHandler ];\n}\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAcA,IAAAE,iBAAA,GAAAF,OAAA;AAlBA;AACA;AACA;;AAaA;AACA;AACA;;AAGA,MAAMG,2BAA2B,GAAG,EAAE;AACtC,MAAMC,kBAAkB,GAAG,IAAI;AAC/B,MAAMC,mBAAmB,GAAG,IAAI;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,qBAAqBA,CAAA,EAAG;EAC/C,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,qCAAmB,EAAC,CAAC;EAC3C,MAAMC,iBAAiB,GAAG,IAAAC,qCAAc,EAAC,CAAC;EAC1CD,iBAAiB,CAAEF,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_blockListContext","SCROLL_INACTIVE_DISTANCE_PX","SCROLL_INTERVAL_MS","VELOCITY_MULTIPLIER","useScrollWhenDragging","scrollRef","useBlockListContext","animatedScrollRef","useAnimatedRef","scrollViewRef","height","windowHeight","useWindowDimensions","velocityY","useSharedValue","offsetY","dragStartY","animationTimer","isAnimationTimerActive","isScrollActive","scroll","maxOffsetY","scrollHandler","event","contentSize","contentOffset","layoutMeasurement","value","y","stopScrolling","cancelAnimation","startScrolling","withRepeat","withTiming","duration","easing","Easing","linear","scrollOnDragOver","dragDistance","Math","max","abs","distancePercentage","useAnimatedReaction","previous","delta","newOffset","min","scrollTo"],"sources":["@wordpress/block-editor/src/components/block-draggable/use-scroll-when-dragging.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { useWindowDimensions } from 'react-native';\nimport {\n\tuseSharedValue,\n\tuseAnimatedRef,\n\tscrollTo,\n\tuseAnimatedReaction,\n\twithTiming,\n\twithRepeat,\n\tcancelAnimation,\n\tEasing,\n} from 'react-native-reanimated';\n\n/**\n * Internal dependencies\n */\nimport { useBlockListContext } from '../block-list/block-list-context';\n\nconst SCROLL_INACTIVE_DISTANCE_PX = 50;\nconst SCROLL_INTERVAL_MS = 1000;\nconst VELOCITY_MULTIPLIER = 5000;\n\n/**\n * React hook that scrolls the scroll container when a block is being dragged.\n *\n * @return {Function[]} `startScrolling`, `scrollOnDragOver`, `stopScrolling`\n * functions to be called in `onDragStart`, `onDragOver`\n * and `onDragEnd` events respectively. Additionally,\n * \t\t\t\t\t\t`scrollHandler` function is returned which should be\n * \t\t\t\t\t\tcalled in the `onScroll` event of the block list.\n */\nexport default function useScrollWhenDragging() {\n\tconst { scrollRef } = useBlockListContext();\n\tconst animatedScrollRef = useAnimatedRef();\n\tanimatedScrollRef( scrollRef?.scrollViewRef );\n\n\tconst { height: windowHeight } = useWindowDimensions();\n\n\tconst velocityY = useSharedValue( 0 );\n\tconst offsetY = useSharedValue( 0 );\n\tconst dragStartY = useSharedValue( 0 );\n\tconst animationTimer = useSharedValue( 0 );\n\tconst isAnimationTimerActive = useSharedValue( false );\n\tconst isScrollActive = useSharedValue( false );\n\n\tconst scroll = {\n\t\toffsetY: useSharedValue( 0 ),\n\t\tmaxOffsetY: useSharedValue( 0 ),\n\t};\n\tconst scrollHandler = ( event ) => {\n\t\t'worklet';\n\t\tconst { contentSize, contentOffset, layoutMeasurement } = event;\n\t\tscroll.offsetY.value = contentOffset.y;\n\t\tscroll.maxOffsetY.value = contentSize.height - layoutMeasurement.height;\n\t};\n\n\tconst stopScrolling = () => {\n\t\t'worklet';\n\t\tcancelAnimation( animationTimer );\n\n\t\tisAnimationTimerActive.value = false;\n\t\tisScrollActive.value = false;\n\t\tvelocityY.value = 0;\n\t};\n\n\tconst startScrolling = ( y ) => {\n\t\t'worklet';\n\t\tstopScrolling();\n\t\toffsetY.value = scroll.offsetY.value;\n\t\tdragStartY.value = y;\n\n\t\tanimationTimer.value = 0;\n\t\tanimationTimer.value = withRepeat(\n\t\t\twithTiming( 1, {\n\t\t\t\tduration: SCROLL_INTERVAL_MS,\n\t\t\t\teasing: Easing.linear,\n\t\t\t} ),\n\t\t\t-1,\n\t\t\ttrue\n\t\t);\n\t\tisAnimationTimerActive.value = true;\n\t};\n\n\tconst scrollOnDragOver = ( y ) => {\n\t\t'worklet';\n\t\tconst dragDistance = Math.max(\n\t\t\tMath.abs( y - dragStartY.value ) - SCROLL_INACTIVE_DISTANCE_PX,\n\t\t\t0\n\t\t);\n\t\tconst distancePercentage = dragDistance / windowHeight;\n\n\t\tif ( ! isScrollActive.value ) {\n\t\t\tisScrollActive.value = dragDistance > 0;\n\t\t} else if ( y > dragStartY.value ) {\n\t\t\t// User is dragging downwards.\n\t\t\tvelocityY.value = VELOCITY_MULTIPLIER * distancePercentage;\n\t\t} else if ( y < dragStartY.value ) {\n\t\t\t// User is dragging upwards.\n\t\t\tvelocityY.value = -VELOCITY_MULTIPLIER * distancePercentage;\n\t\t} else {\n\t\t\tvelocityY.value = 0;\n\t\t}\n\t};\n\n\tuseAnimatedReaction(\n\t\t() => animationTimer.value,\n\t\t( value, previous ) => {\n\t\t\tif ( velocityY.value === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst delta = Math.abs( value - previous );\n\t\t\tlet newOffset = offsetY.value + delta * velocityY.value;\n\n\t\t\tif ( scroll.maxOffsetY.value !== 0 ) {\n\t\t\t\tnewOffset = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\tMath.min( scroll.maxOffsetY.value, newOffset )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// Scroll values are empty until receiving the first scroll event.\n\t\t\t\t// In that case, the max offset is unknown and we can't clamp the\n\t\t\t\t// new offset value.\n\t\t\t\tnewOffset = Math.max( 0, newOffset );\n\t\t\t}\n\n\t\t\toffsetY.value = newOffset;\n\t\t\tscrollTo( animatedScrollRef, 0, offsetY.value, false );\n\t\t}\n\t);\n\n\treturn [ startScrolling, scrollOnDragOver, stopScrolling, scrollHandler ];\n}\n"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ exports.useBlockEditingMode = useBlockEditingMode;
|
|
|
7
7
|
var _data = require("@wordpress/data");
|
|
8
8
|
var _element = require("@wordpress/element");
|
|
9
9
|
var _store = require("../../store");
|
|
10
|
-
var
|
|
10
|
+
var _context = require("../block-edit/context");
|
|
11
11
|
/**
|
|
12
12
|
* WordPress dependencies
|
|
13
13
|
*/
|
|
@@ -51,10 +51,9 @@ var _blockListBlockContext = require("../block-list/block-list-block-context");
|
|
|
51
51
|
* @return {BlockEditingMode} The current editing mode.
|
|
52
52
|
*/
|
|
53
53
|
function useBlockEditingMode(mode) {
|
|
54
|
-
var _useContext;
|
|
55
54
|
const {
|
|
56
55
|
clientId = ''
|
|
57
|
-
} = (
|
|
56
|
+
} = (0, _context.useBlockEditContext)();
|
|
58
57
|
const blockEditingMode = (0, _data.useSelect)(select => select(_store.store).getBlockEditingMode(clientId), [clientId]);
|
|
59
58
|
const {
|
|
60
59
|
setBlockEditingMode,
|