@wordpress/block-editor 8.5.7 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +5 -2
- package/build/components/block-alignment-control/constants.js +48 -0
- package/build/components/block-alignment-control/constants.js.map +1 -0
- package/build/components/block-alignment-control/ui.js +9 -40
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.native.js +92 -0
- package/build/components/block-alignment-control/ui.native.js.map +1 -0
- package/build/components/block-alignment-matrix-control/index.js +1 -6
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-content-overlay/index.js +5 -74
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.native.js +64 -0
- package/build/components/block-draggable/draggable-chip.native.js.map +1 -0
- package/build/components/block-draggable/dropping-insertion-point.native.js +157 -0
- package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
- package/build/components/block-draggable/index.native.js +484 -0
- package/build/components/block-draggable/index.native.js.map +1 -0
- package/build/components/block-draggable/use-scroll-when-dragging.native.js +130 -0
- package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
- package/build/components/block-list/block-list-context.native.js +195 -0
- package/build/components/block-list/block-list-context.native.js.map +1 -0
- package/build/components/block-list/block-list-item-cell.native.js +67 -0
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -0
- package/build/components/block-list/block-list-item.native.js +12 -9
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block.native.js +29 -6
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.native.js +75 -23
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +8 -4
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-class-names.js +1 -7
- package/build/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +1 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-lock/modal.js +34 -4
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-lock/toolbar.js +2 -1
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-lock/use-block-lock.js +4 -1
- package/build/components/block-lock/use-block-lock.js.map +1 -1
- package/build/components/block-mobile-toolbar/index.native.js +9 -3
- package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build/components/block-mover/button.js +4 -4
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +39 -65
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +17 -4
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +11 -5
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-popover/inbetween.js +191 -0
- package/build/components/block-popover/inbetween.js.map +1 -0
- package/build/components/block-popover/index.js +85 -0
- package/build/components/block-popover/index.js.map +1 -0
- package/build/components/{block-tools → block-popover}/use-popover-scroll.js +4 -1
- package/build/components/block-popover/use-popover-scroll.js.map +1 -0
- package/build/components/block-preview/index.js +1 -1
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-styles/index.js +1 -10
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-tools/back-compat.js +2 -2
- package/build/components/block-tools/back-compat.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +4 -2
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +5 -5
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +14 -121
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +216 -0
- package/build/components/block-tools/selected-block-popover.js.map +1 -0
- package/build/components/border-radius-control/input-controls.js +10 -3
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/color-style-selector/index.js +9 -0
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +149 -44
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/duotone-control/index.js +5 -1
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +3 -1
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/index.js +5 -23
- package/build/components/index.js.map +1 -1
- package/build/components/inserter/index.native.js +31 -9
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/link-control/constants.js +11 -1
- package/build/components/link-control/constants.js.map +1 -1
- package/build/components/link-control/search-results.js +4 -3
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +4 -4
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/list-view/block.js +15 -15
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +9 -13
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/context.js +1 -4
- package/build/components/list-view/context.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +0 -1
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js +15 -32
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +12 -2
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +0 -1
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/index.js +1 -6
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +0 -4
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/url-input/index.js +11 -4
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-display-information/index.js +3 -1
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +167 -0
- package/build/components/use-block-drop-zone/index.native.js.map +1 -0
- package/build/components/use-on-block-drop/index.native.js +95 -0
- package/build/components/use-on-block-drop/index.native.js.map +1 -0
- package/build/components/use-setting/index.js +42 -18
- package/build/components/use-setting/index.js.map +1 -1
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/border.js +463 -44
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color-panel.js +14 -7
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/dimensions.js +2 -2
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/index.js +3 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/margin.js +64 -12
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +60 -12
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/settings.js +32 -0
- package/build/hooks/settings.js.map +1 -0
- package/build/hooks/style.js +14 -13
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/typography.js +6 -2
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/use-border-props.js +22 -32
- package/build/hooks/use-border-props.js.map +1 -1
- package/build/store/actions.js +14 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +0 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/reducer.js +0 -26
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +47 -15
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-alignment-control/constants.js +36 -0
- package/build-module/components/block-alignment-control/constants.js.map +1 -0
- package/build-module/components/block-alignment-control/ui.js +4 -35
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.native.js +78 -0
- package/build-module/components/block-alignment-control/ui.native.js.map +1 -0
- package/build-module/components/block-alignment-matrix-control/index.js +1 -6
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js +4 -70
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.native.js +50 -0
- package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -0
- package/build-module/components/block-draggable/dropping-insertion-point.native.js +137 -0
- package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
- package/build-module/components/block-draggable/index.native.js +449 -0
- package/build-module/components/block-draggable/index.native.js.map +1 -0
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +120 -0
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
- package/build-module/components/block-list/block-list-context.native.js +179 -0
- package/build-module/components/block-list/block-list-context.native.js.map +1 -0
- package/build-module/components/block-list/block-list-item-cell.native.js +59 -0
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -0
- package/build-module/components/block-list/block-list-item.native.js +12 -9
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block.native.js +28 -6
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.native.js +72 -23
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +9 -5
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-class-names.js +1 -7
- package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-lock/modal.js +34 -5
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-lock/toolbar.js +2 -1
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-lock/use-block-lock.js +4 -1
- package/build-module/components/block-lock/use-block-lock.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/index.native.js +8 -3
- package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-mover/button.js +5 -5
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +38 -63
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +18 -5
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +10 -5
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +173 -0
- package/build-module/components/block-popover/inbetween.js.map +1 -0
- package/build-module/components/block-popover/index.js +72 -0
- package/build-module/components/block-popover/index.js.map +1 -0
- package/build-module/components/{block-tools → block-popover}/use-popover-scroll.js +3 -1
- package/build-module/components/block-popover/use-popover-scroll.js.map +1 -0
- package/build-module/components/block-preview/index.js +1 -1
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -9
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-tools/back-compat.js +1 -1
- package/build-module/components/block-tools/back-compat.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +3 -2
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +3 -3
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +16 -121
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +199 -0
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -0
- package/build-module/components/border-radius-control/input-controls.js +11 -4
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/color-style-selector/index.js +6 -0
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +151 -46
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/duotone-control/index.js +4 -1
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +2 -1
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/index.js +1 -3
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +32 -11
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/link-control/constants.js +5 -0
- package/build-module/components/link-control/constants.js.map +1 -1
- package/build-module/components/link-control/search-results.js +3 -4
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +5 -5
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/block.js +15 -16
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +9 -13
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/context.js +1 -4
- package/build-module/components/list-view/context.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +0 -1
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +15 -31
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +12 -2
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +0 -1
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/index.js +1 -5
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +0 -4
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/url-input/index.js +11 -4
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +3 -1
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +148 -0
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -0
- package/build-module/components/use-on-block-drop/index.native.js +83 -0
- package/build-module/components/use-on-block-drop/index.native.js.map +1 -0
- package/build-module/components/use-setting/index.js +43 -19
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/border.js +453 -44
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color-panel.js +11 -6
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/dimensions.js +5 -5
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/index.js +2 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/margin.js +61 -13
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +57 -13
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/settings.js +29 -0
- package/build-module/hooks/settings.js.map +1 -0
- package/build-module/hooks/style.js +15 -14
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/typography.js +6 -2
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/use-border-props.js +21 -30
- package/build-module/hooks/use-border-props.js.map +1 -1
- package/build-module/store/actions.js +14 -2
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +0 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/reducer.js +0 -24
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +44 -15
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +148 -410
- package/build-style/style.css +148 -410
- package/package.json +28 -28
- package/src/components/block-alignment-control/constants.js +45 -0
- package/src/components/block-alignment-control/ui.js +69 -109
- package/src/components/block-alignment-control/ui.native.js +86 -0
- package/src/components/block-alignment-matrix-control/index.js +1 -5
- package/src/components/block-content-overlay/index.js +9 -79
- package/src/components/block-content-overlay/style.scss +2 -11
- package/src/components/block-draggable/draggable-chip.native.js +49 -0
- package/src/components/block-draggable/dropping-insertion-point.native.js +181 -0
- package/src/components/block-draggable/dropping-insertion-point.native.scss +8 -0
- package/src/components/block-draggable/index.native.js +458 -0
- package/src/components/block-draggable/style.native.scss +19 -0
- package/src/components/block-draggable/use-scroll-when-dragging.native.js +135 -0
- package/src/components/block-list/block-list-context.native.js +175 -0
- package/src/components/block-list/block-list-item-cell.native.js +49 -0
- package/src/components/block-list/block-list-item.native.js +7 -11
- package/src/components/block-list/block.native.js +38 -8
- package/src/components/block-list/index.native.js +54 -13
- package/src/components/block-list/style.scss +7 -18
- package/src/components/block-list/test/block-list-context.native.js +253 -0
- package/src/components/block-list/test/fixtures/block-list-context.native.js +79 -0
- package/src/components/block-list/use-block-props/index.js +10 -5
- package/src/components/block-list/use-block-props/use-block-class-names.js +1 -11
- package/src/components/block-list/use-in-between-inserter.js +1 -1
- package/src/components/block-lock/modal.js +42 -3
- package/src/components/block-lock/toolbar.js +2 -2
- package/src/components/block-lock/use-block-lock.js +4 -1
- package/src/components/block-mobile-toolbar/index.native.js +8 -1
- package/src/components/block-mover/button.js +5 -7
- package/src/components/block-mover/index.js +37 -60
- package/src/components/block-mover/index.native.js +22 -6
- package/src/components/block-mover/stories/index.js +110 -0
- package/src/components/block-mover/style.scss +48 -138
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +6 -0
- package/src/components/block-navigation/dropdown.js +12 -8
- package/src/components/block-popover/README.md +41 -0
- package/src/components/block-popover/inbetween.js +188 -0
- package/src/components/block-popover/index.js +75 -0
- package/src/components/block-popover/style.scss +28 -0
- package/src/components/{block-tools → block-popover}/use-popover-scroll.js +3 -1
- package/src/components/block-preview/index.js +1 -4
- package/src/components/block-styles/index.js +1 -12
- package/src/components/block-switcher/style.scss +2 -43
- package/src/components/block-toolbar/style.scss +0 -12
- package/src/components/block-tools/back-compat.js +1 -1
- package/src/components/block-tools/block-selection-button.js +3 -1
- package/src/components/block-tools/index.js +6 -4
- package/src/components/block-tools/insertion-point.js +19 -152
- package/src/components/block-tools/{block-popover.js → selected-block-popover.js} +24 -151
- package/src/components/block-tools/style.scss +12 -135
- package/src/components/border-radius-control/input-controls.js +16 -8
- package/src/components/border-radius-control/style.scss +7 -3
- package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
- package/src/components/color-style-selector/index.js +18 -9
- package/src/components/colors-gradients/dropdown.js +156 -62
- package/src/components/colors-gradients/style.scss +51 -23
- package/src/components/default-block-appender/style.scss +1 -2
- package/src/components/duotone-control/index.js +8 -1
- package/src/components/duotone-control/style.scss +1 -7
- package/src/components/gradients/README.md +29 -0
- package/src/components/image-editor/use-save-image.js +2 -1
- package/src/components/image-size-control/README.md +1 -1
- package/src/components/index.js +1 -3
- package/src/components/inserter/index.native.js +60 -25
- package/src/components/inserter/style.native.scss +25 -3
- package/src/components/inserter/style.scss +2 -1
- package/src/components/link-control/constants.js +11 -0
- package/src/components/link-control/search-results.js +4 -5
- package/src/components/link-control/use-search-handler.js +11 -5
- package/src/components/list-view/block.js +24 -34
- package/src/components/list-view/branch.js +10 -20
- package/src/components/list-view/context.js +1 -4
- package/src/components/list-view/drop-indicator.js +0 -1
- package/src/components/list-view/index.js +11 -41
- package/src/components/list-view/style.scss +2 -1
- package/src/components/navigable-toolbar/README.md +16 -0
- package/src/components/navigable-toolbar/index.js +12 -2
- package/src/components/preview-options/style.scss +0 -4
- package/src/components/rich-text/format-toolbar-container.js +0 -1
- package/src/components/rich-text/index.js +1 -3
- package/src/components/rich-text/index.native.js +0 -4
- package/src/components/rich-text/style.scss +2 -8
- package/src/components/url-input/index.js +9 -4
- package/src/components/use-block-display-information/index.js +2 -0
- package/src/components/use-block-drop-zone/index.native.js +173 -0
- package/src/components/use-on-block-drop/index.native.js +119 -0
- package/src/components/use-setting/index.js +57 -21
- package/src/hooks/anchor.js +1 -1
- package/src/hooks/border.js +429 -72
- package/src/hooks/color-panel.js +13 -9
- package/src/hooks/color.scss +0 -62
- package/src/hooks/dimensions.js +44 -38
- package/src/hooks/index.js +2 -1
- package/src/hooks/margin.js +64 -15
- package/src/hooks/padding.js +60 -15
- package/src/hooks/padding.scss +12 -0
- package/src/hooks/settings.js +32 -0
- package/src/hooks/style.js +25 -39
- package/src/hooks/test/settings.js +48 -0
- package/src/hooks/typography.js +2 -0
- package/src/hooks/use-border-props.js +15 -32
- package/src/store/actions.js +14 -2
- package/src/store/defaults.js +0 -1
- package/src/store/reducer.js +0 -21
- package/src/store/selectors.js +46 -15
- package/src/store/test/actions.js +0 -18
- package/src/store/test/reducer.js +0 -19
- package/src/store/test/selectors.js +17 -19
- package/src/style.scss +2 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-mobile-toolbar/index.js +0 -42
- package/build/components/block-mobile-toolbar/index.js.map +0 -1
- package/build/components/block-tools/block-popover.js +0 -327
- package/build/components/block-tools/block-popover.js.map +0 -1
- package/build/components/block-tools/use-popover-scroll.js.map +0 -1
- package/build/components/border-style-control/index.js +0 -60
- package/build/components/border-style-control/index.js.map +0 -1
- package/build/components/colors-gradients/tools-panel-color-dropdown.js +0 -89
- package/build/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
- package/build/components/list-view/appender.js +0 -93
- package/build/components/list-view/appender.js.map +0 -1
- package/build/components/list-view/list-item.js +0 -62
- package/build/components/list-view/list-item.js.map +0 -1
- package/build/components/rich-text/use-caret-in-format.js +0 -43
- package/build/components/rich-text/use-caret-in-format.js.map +0 -1
- package/build/hooks/border-color.js +0 -302
- package/build/hooks/border-color.js.map +0 -1
- package/build/hooks/border-style.js +0 -96
- package/build/hooks/border-style.js.map +0 -1
- package/build/hooks/border-width.js +0 -162
- package/build/hooks/border-width.js.map +0 -1
- package/build-module/components/block-mobile-toolbar/index.js +0 -31
- package/build-module/components/block-mobile-toolbar/index.js.map +0 -1
- package/build-module/components/block-tools/block-popover.js +0 -306
- package/build-module/components/block-tools/block-popover.js.map +0 -1
- package/build-module/components/block-tools/use-popover-scroll.js.map +0 -1
- package/build-module/components/border-style-control/index.js +0 -50
- package/build-module/components/border-style-control/index.js.map +0 -1
- package/build-module/components/colors-gradients/tools-panel-color-dropdown.js +0 -75
- package/build-module/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
- package/build-module/components/list-view/appender.js +0 -76
- package/build-module/components/list-view/appender.js.map +0 -1
- package/build-module/components/list-view/list-item.js +0 -47
- package/build-module/components/list-view/list-item.js.map +0 -1
- package/build-module/components/rich-text/use-caret-in-format.js +0 -33
- package/build-module/components/rich-text/use-caret-in-format.js.map +0 -1
- package/build-module/hooks/border-color.js +0 -276
- package/build-module/hooks/border-color.js.map +0 -1
- package/build-module/hooks/border-style.js +0 -78
- package/build-module/hooks/border-style.js.map +0 -1
- package/build-module/hooks/border-width.js +0 -143
- package/build-module/hooks/border-width.js.map +0 -1
- package/src/components/block-alignment-matrix-control/style.scss +0 -10
- package/src/components/block-mobile-toolbar/index.js +0 -24
- package/src/components/block-mobile-toolbar/style.scss +0 -29
- package/src/components/border-style-control/index.js +0 -47
- package/src/components/border-style-control/style.scss +0 -18
- package/src/components/colors-gradients/tools-panel-color-dropdown.js +0 -85
- package/src/components/list-view/appender.js +0 -82
- package/src/components/list-view/list-item.js +0 -59
- package/src/components/rich-text/use-caret-in-format.js +0 -28
- package/src/hooks/border-color.js +0 -315
- package/src/hooks/border-style.js +0 -64
- package/src/hooks/border-width.js +0 -139
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __, _x } from '@wordpress/i18n';
|
|
5
|
+
import { alignNone, positionCenter, positionLeft, positionRight, stretchFullWidth, stretchWide } from '@wordpress/icons';
|
|
6
|
+
export const BLOCK_ALIGNMENTS_CONTROLS = {
|
|
7
|
+
none: {
|
|
8
|
+
icon: alignNone,
|
|
9
|
+
title: _x('None', 'Alignment option')
|
|
10
|
+
},
|
|
11
|
+
left: {
|
|
12
|
+
icon: positionLeft,
|
|
13
|
+
title: __('Align left')
|
|
14
|
+
},
|
|
15
|
+
center: {
|
|
16
|
+
icon: positionCenter,
|
|
17
|
+
title: __('Align center')
|
|
18
|
+
},
|
|
19
|
+
right: {
|
|
20
|
+
icon: positionRight,
|
|
21
|
+
title: __('Align right')
|
|
22
|
+
},
|
|
23
|
+
wide: {
|
|
24
|
+
icon: stretchWide,
|
|
25
|
+
title: __('Wide width')
|
|
26
|
+
},
|
|
27
|
+
full: {
|
|
28
|
+
icon: stretchFullWidth,
|
|
29
|
+
title: __('Full width')
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
export const DEFAULT_CONTROL = 'none';
|
|
33
|
+
export const POPOVER_PROPS = {
|
|
34
|
+
isAlternate: true
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-alignment-control/constants.js"],"names":["__","_x","alignNone","positionCenter","positionLeft","positionRight","stretchFullWidth","stretchWide","BLOCK_ALIGNMENTS_CONTROLS","none","icon","title","left","center","right","wide","full","DEFAULT_CONTROL","POPOVER_PROPS","isAlternate"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SACCC,SADD,EAECC,cAFD,EAGCC,YAHD,EAICC,aAJD,EAKCC,gBALD,EAMCC,WAND,QAOO,kBAPP;AASA,OAAO,MAAMC,yBAAyB,GAAG;AACxCC,EAAAA,IAAI,EAAE;AACLC,IAAAA,IAAI,EAAER,SADD;AAELS,IAAAA,KAAK,EAAEV,EAAE,CAAE,MAAF,EAAU,kBAAV;AAFJ,GADkC;AAKxCW,EAAAA,IAAI,EAAE;AACLF,IAAAA,IAAI,EAAEN,YADD;AAELO,IAAAA,KAAK,EAAEX,EAAE,CAAE,YAAF;AAFJ,GALkC;AASxCa,EAAAA,MAAM,EAAE;AACPH,IAAAA,IAAI,EAAEP,cADC;AAEPQ,IAAAA,KAAK,EAAEX,EAAE,CAAE,cAAF;AAFF,GATgC;AAaxCc,EAAAA,KAAK,EAAE;AACNJ,IAAAA,IAAI,EAAEL,aADA;AAENM,IAAAA,KAAK,EAAEX,EAAE,CAAE,aAAF;AAFH,GAbiC;AAiBxCe,EAAAA,IAAI,EAAE;AACLL,IAAAA,IAAI,EAAEH,WADD;AAELI,IAAAA,KAAK,EAAEX,EAAE,CAAE,YAAF;AAFJ,GAjBkC;AAqBxCgB,EAAAA,IAAI,EAAE;AACLN,IAAAA,IAAI,EAAEJ,gBADD;AAELK,IAAAA,KAAK,EAAEX,EAAE,CAAE,YAAF;AAFJ;AArBkC,CAAlC;AA2BP,OAAO,MAAMiB,eAAe,GAAG,MAAxB;AAEP,OAAO,MAAMC,aAAa,GAAG;AAC5BC,EAAAA,WAAW,EAAE;AADe,CAAtB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\talignNone,\n\tpositionCenter,\n\tpositionLeft,\n\tpositionRight,\n\tstretchFullWidth,\n\tstretchWide,\n} from '@wordpress/icons';\n\nexport const BLOCK_ALIGNMENTS_CONTROLS = {\n\tnone: {\n\t\ticon: alignNone,\n\t\ttitle: _x( 'None', 'Alignment option' ),\n\t},\n\tleft: {\n\t\ticon: positionLeft,\n\t\ttitle: __( 'Align left' ),\n\t},\n\tcenter: {\n\t\ticon: positionCenter,\n\t\ttitle: __( 'Align center' ),\n\t},\n\tright: {\n\t\ticon: positionRight,\n\t\ttitle: __( 'Align right' ),\n\t},\n\twide: {\n\t\ticon: stretchWide,\n\t\ttitle: __( 'Wide width' ),\n\t},\n\tfull: {\n\t\ticon: stretchFullWidth,\n\t\ttitle: __( 'Full width' ),\n\t},\n};\n\nexport const DEFAULT_CONTROL = 'none';\n\nexport const POPOVER_PROPS = {\n\tisAlternate: true,\n};\n"]}
|
|
@@ -9,45 +9,14 @@ import classNames from 'classnames';
|
|
|
9
9
|
* WordPress dependencies
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { __
|
|
12
|
+
import { __ } from '@wordpress/i18n';
|
|
13
13
|
import { ToolbarDropdownMenu, ToolbarGroup, MenuGroup, MenuItem } from '@wordpress/components';
|
|
14
|
-
import { alignNone, positionCenter, positionLeft, positionRight, stretchFullWidth, stretchWide } from '@wordpress/icons';
|
|
15
|
-
import { Platform } from '@wordpress/element';
|
|
16
14
|
/**
|
|
17
15
|
* Internal dependencies
|
|
18
16
|
*/
|
|
19
17
|
|
|
20
18
|
import useAvailableAlignments from './use-available-alignments';
|
|
21
|
-
|
|
22
|
-
none: {
|
|
23
|
-
icon: alignNone,
|
|
24
|
-
title: _x('None', 'Alignment option')
|
|
25
|
-
},
|
|
26
|
-
left: {
|
|
27
|
-
icon: positionLeft,
|
|
28
|
-
title: __('Align left')
|
|
29
|
-
},
|
|
30
|
-
center: {
|
|
31
|
-
icon: positionCenter,
|
|
32
|
-
title: __('Align center')
|
|
33
|
-
},
|
|
34
|
-
right: {
|
|
35
|
-
icon: positionRight,
|
|
36
|
-
title: __('Align right')
|
|
37
|
-
},
|
|
38
|
-
wide: {
|
|
39
|
-
icon: stretchWide,
|
|
40
|
-
title: __('Wide width')
|
|
41
|
-
},
|
|
42
|
-
full: {
|
|
43
|
-
icon: stretchFullWidth,
|
|
44
|
-
title: __('Full width')
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
const DEFAULT_CONTROL = 'none';
|
|
48
|
-
const POPOVER_PROPS = {
|
|
49
|
-
isAlternate: true
|
|
50
|
-
};
|
|
19
|
+
import { BLOCK_ALIGNMENTS_CONTROLS, DEFAULT_CONTROL, POPOVER_PROPS } from './constants';
|
|
51
20
|
|
|
52
21
|
function BlockAlignmentUI(_ref) {
|
|
53
22
|
let {
|
|
@@ -79,8 +48,8 @@ function BlockAlignmentUI(_ref) {
|
|
|
79
48
|
describedBy: __('Change alignment')
|
|
80
49
|
}
|
|
81
50
|
};
|
|
82
|
-
const extraProps = isToolbar
|
|
83
|
-
isCollapsed
|
|
51
|
+
const extraProps = isToolbar ? {
|
|
52
|
+
isCollapsed,
|
|
84
53
|
controls: enabledControls.map(_ref2 => {
|
|
85
54
|
let {
|
|
86
55
|
name: controlName
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-alignment-control/ui.js"],"names":["classNames","__","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-alignment-control/ui.js"],"names":["classNames","__","ToolbarDropdownMenu","ToolbarGroup","MenuGroup","MenuItem","useAvailableAlignments","BLOCK_ALIGNMENTS_CONTROLS","DEFAULT_CONTROL","POPOVER_PROPS","BlockAlignmentUI","value","onChange","controls","isToolbar","isCollapsed","enabledControls","hasEnabledControls","length","onChangeAlignment","align","includes","undefined","activeAlignmentControl","defaultAlignmentControl","UIComponent","commonProps","popoverProps","icon","label","toggleProps","describedBy","extraProps","map","name","controlName","isActive","role","onClick","children","onClose","info","title","isSelected"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useAvailableAlignments from './use-available-alignments';\nimport {\n\tBLOCK_ALIGNMENTS_CONTROLS,\n\tDEFAULT_CONTROL,\n\tPOPOVER_PROPS,\n} from './constants';\n\nfunction BlockAlignmentUI( {\n\tvalue,\n\tonChange,\n\tcontrols,\n\tisToolbar,\n\tisCollapsed = true,\n} ) {\n\tconst enabledControls = useAvailableAlignments( controls );\n\tconst hasEnabledControls = !! enabledControls.length;\n\n\tif ( ! hasEnabledControls ) {\n\t\treturn null;\n\t}\n\n\tfunction onChangeAlignment( align ) {\n\t\tonChange( [ value, 'none' ].includes( align ) ? undefined : align );\n\t}\n\n\tconst activeAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[ value ];\n\tconst defaultAlignmentControl =\n\t\tBLOCK_ALIGNMENTS_CONTROLS[ DEFAULT_CONTROL ];\n\n\tconst UIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu;\n\tconst commonProps = {\n\t\tpopoverProps: POPOVER_PROPS,\n\t\ticon: activeAlignmentControl\n\t\t\t? activeAlignmentControl.icon\n\t\t\t: defaultAlignmentControl.icon,\n\t\tlabel: __( 'Align' ),\n\t\ttoggleProps: { describedBy: __( 'Change alignment' ) },\n\t};\n\tconst extraProps = isToolbar\n\t\t? {\n\t\t\t\tisCollapsed,\n\t\t\t\tcontrols: enabledControls.map( ( { name: controlName } ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...BLOCK_ALIGNMENTS_CONTROLS[ controlName ],\n\t\t\t\t\t\tisActive:\n\t\t\t\t\t\t\tvalue === controlName ||\n\t\t\t\t\t\t\t( ! value && controlName === 'none' ),\n\t\t\t\t\t\trole: isCollapsed ? 'menuitemradio' : undefined,\n\t\t\t\t\t\tonClick: () => onChangeAlignment( controlName ),\n\t\t\t\t\t};\n\t\t\t\t} ),\n\t\t }\n\t\t: {\n\t\t\t\tchildren: ( { onClose } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuGroup className=\"block-editor-block-alignment-control__menu-group\">\n\t\t\t\t\t\t\t\t{ enabledControls.map(\n\t\t\t\t\t\t\t\t\t( { name: controlName, info } ) => {\n\t\t\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\t\t\ticon,\n\t\t\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\t\t} = BLOCK_ALIGNMENTS_CONTROLS[\n\t\t\t\t\t\t\t\t\t\t\tcontrolName\n\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t// If no value is provided, mark as selected the `none` option.\n\t\t\t\t\t\t\t\t\t\tconst isSelected =\n\t\t\t\t\t\t\t\t\t\t\tcontrolName === value ||\n\t\t\t\t\t\t\t\t\t\t\t( ! value &&\n\t\t\t\t\t\t\t\t\t\t\t\tcontrolName === 'none' );\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ controlName }\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={ classNames(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'is-active': isSelected,\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeAlignment(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrolName\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t\t\tinfo={ info }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t };\n\n\treturn <UIComponent { ...commonProps } { ...extraProps } />;\n}\n\nexport default BlockAlignmentUI;\n"]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { createElement } from "@wordpress/element";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* WordPress dependencies
|
|
6
|
+
*/
|
|
7
|
+
import { __ } from '@wordpress/i18n';
|
|
8
|
+
import { ToolbarDropdownMenu, ToolbarGroup, BottomSheetSelectControl } from '@wordpress/components';
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import useAvailableAlignments from './use-available-alignments';
|
|
14
|
+
import { BLOCK_ALIGNMENTS_CONTROLS, DEFAULT_CONTROL, POPOVER_PROPS } from './constants';
|
|
15
|
+
|
|
16
|
+
function BlockAlignmentUI(_ref) {
|
|
17
|
+
let {
|
|
18
|
+
value,
|
|
19
|
+
onChange,
|
|
20
|
+
controls,
|
|
21
|
+
isToolbar,
|
|
22
|
+
isCollapsed = true,
|
|
23
|
+
isBottomSheetControl = false
|
|
24
|
+
} = _ref;
|
|
25
|
+
const enabledControls = useAvailableAlignments(controls);
|
|
26
|
+
const hasEnabledControls = !!enabledControls.length;
|
|
27
|
+
|
|
28
|
+
if (!hasEnabledControls) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function onChangeAlignment(align) {
|
|
33
|
+
onChange([value, 'none'].includes(align) ? undefined : align);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const activeAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[value];
|
|
37
|
+
const defaultAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[DEFAULT_CONTROL];
|
|
38
|
+
const toolbarUIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu;
|
|
39
|
+
const UIComponent = isBottomSheetControl ? BottomSheetSelectControl : toolbarUIComponent;
|
|
40
|
+
const commonProps = {
|
|
41
|
+
label: __('Align')
|
|
42
|
+
};
|
|
43
|
+
const extraProps = isBottomSheetControl ? {
|
|
44
|
+
options: enabledControls.map(_ref2 => {
|
|
45
|
+
let {
|
|
46
|
+
name: controlName
|
|
47
|
+
} = _ref2;
|
|
48
|
+
const control = BLOCK_ALIGNMENTS_CONTROLS[controlName];
|
|
49
|
+
return {
|
|
50
|
+
value: controlName,
|
|
51
|
+
label: control.title,
|
|
52
|
+
icon: control.icon
|
|
53
|
+
};
|
|
54
|
+
}),
|
|
55
|
+
value: activeAlignmentControl ? value : 'none',
|
|
56
|
+
onChange: align => onChangeAlignment(align)
|
|
57
|
+
} : {
|
|
58
|
+
icon: activeAlignmentControl ? activeAlignmentControl.icon : defaultAlignmentControl.icon,
|
|
59
|
+
isCollapsed: isToolbar ? isCollapsed : undefined,
|
|
60
|
+
controls: enabledControls.map(_ref3 => {
|
|
61
|
+
let {
|
|
62
|
+
name: controlName
|
|
63
|
+
} = _ref3;
|
|
64
|
+
return { ...BLOCK_ALIGNMENTS_CONTROLS[controlName],
|
|
65
|
+
isActive: value === controlName || !value && controlName === 'none',
|
|
66
|
+
onClick: () => onChangeAlignment(controlName)
|
|
67
|
+
};
|
|
68
|
+
}),
|
|
69
|
+
popoverProps: POPOVER_PROPS,
|
|
70
|
+
toggleProps: {
|
|
71
|
+
describedBy: __('Change alignment')
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
return createElement(UIComponent, _extends({}, commonProps, extraProps));
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export default BlockAlignmentUI;
|
|
78
|
+
//# sourceMappingURL=ui.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-alignment-control/ui.native.js"],"names":["__","ToolbarDropdownMenu","ToolbarGroup","BottomSheetSelectControl","useAvailableAlignments","BLOCK_ALIGNMENTS_CONTROLS","DEFAULT_CONTROL","POPOVER_PROPS","BlockAlignmentUI","value","onChange","controls","isToolbar","isCollapsed","isBottomSheetControl","enabledControls","hasEnabledControls","length","onChangeAlignment","align","includes","undefined","activeAlignmentControl","defaultAlignmentControl","toolbarUIComponent","UIComponent","commonProps","label","extraProps","options","map","name","controlName","control","title","icon","isActive","onClick","popoverProps","toggleProps","describedBy"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tBottomSheetSelectControl,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useAvailableAlignments from './use-available-alignments';\nimport {\n\tBLOCK_ALIGNMENTS_CONTROLS,\n\tDEFAULT_CONTROL,\n\tPOPOVER_PROPS,\n} from './constants';\n\nfunction BlockAlignmentUI( {\n\tvalue,\n\tonChange,\n\tcontrols,\n\tisToolbar,\n\tisCollapsed = true,\n\tisBottomSheetControl = false,\n} ) {\n\tconst enabledControls = useAvailableAlignments( controls );\n\tconst hasEnabledControls = !! enabledControls.length;\n\n\tif ( ! hasEnabledControls ) {\n\t\treturn null;\n\t}\n\n\tfunction onChangeAlignment( align ) {\n\t\tonChange( [ value, 'none' ].includes( align ) ? undefined : align );\n\t}\n\n\tconst activeAlignmentControl = BLOCK_ALIGNMENTS_CONTROLS[ value ];\n\tconst defaultAlignmentControl =\n\t\tBLOCK_ALIGNMENTS_CONTROLS[ DEFAULT_CONTROL ];\n\n\tconst toolbarUIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu;\n\tconst UIComponent = isBottomSheetControl\n\t\t? BottomSheetSelectControl\n\t\t: toolbarUIComponent;\n\n\tconst commonProps = {\n\t\tlabel: __( 'Align' ),\n\t};\n\tconst extraProps = isBottomSheetControl\n\t\t? {\n\t\t\t\toptions: enabledControls.map( ( { name: controlName } ) => {\n\t\t\t\t\tconst control = BLOCK_ALIGNMENTS_CONTROLS[ controlName ];\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: controlName,\n\t\t\t\t\t\tlabel: control.title,\n\t\t\t\t\t\ticon: control.icon,\n\t\t\t\t\t};\n\t\t\t\t} ),\n\t\t\t\tvalue: activeAlignmentControl ? value : 'none',\n\t\t\t\tonChange: ( align ) => onChangeAlignment( align ),\n\t\t }\n\t\t: {\n\t\t\t\ticon: activeAlignmentControl\n\t\t\t\t\t? activeAlignmentControl.icon\n\t\t\t\t\t: defaultAlignmentControl.icon,\n\t\t\t\tisCollapsed: isToolbar ? isCollapsed : undefined,\n\t\t\t\tcontrols: enabledControls.map( ( { name: controlName } ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...BLOCK_ALIGNMENTS_CONTROLS[ controlName ],\n\t\t\t\t\t\tisActive:\n\t\t\t\t\t\t\tvalue === controlName ||\n\t\t\t\t\t\t\t( ! value && controlName === 'none' ),\n\t\t\t\t\t\tonClick: () => onChangeAlignment( controlName ),\n\t\t\t\t\t};\n\t\t\t\t} ),\n\t\t\t\tpopoverProps: POPOVER_PROPS,\n\t\t\t\ttoggleProps: { describedBy: __( 'Change alignment' ) },\n\t\t };\n\n\treturn <UIComponent { ...commonProps } { ...extraProps } />;\n}\n\nexport default BlockAlignmentUI;\n"]}
|
|
@@ -22,15 +22,10 @@ function BlockAlignmentMatrixControl(props) {
|
|
|
22
22
|
const icon = createElement(AlignmentMatrixControl.Icon, {
|
|
23
23
|
value: value
|
|
24
24
|
});
|
|
25
|
-
const className = 'block-editor-block-alignment-matrix-control';
|
|
26
|
-
const popoverClassName = `${className}__popover`;
|
|
27
|
-
const isAlternate = true;
|
|
28
25
|
return createElement(Dropdown, {
|
|
29
26
|
position: "bottom right",
|
|
30
|
-
className: className,
|
|
31
27
|
popoverProps: {
|
|
32
|
-
|
|
33
|
-
isAlternate
|
|
28
|
+
isAlternate: true
|
|
34
29
|
},
|
|
35
30
|
renderToggle: _ref => {
|
|
36
31
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-alignment-matrix-control/index.js"],"names":["noop","__","DOWN","ToolbarButton","Dropdown","__experimentalAlignmentMatrixControl","AlignmentMatrixControl","BlockAlignmentMatrixControl","props","label","onChange","value","isDisabled","icon","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-alignment-matrix-control/index.js"],"names":["noop","__","DOWN","ToolbarButton","Dropdown","__experimentalAlignmentMatrixControl","AlignmentMatrixControl","BlockAlignmentMatrixControl","props","label","onChange","value","isDisabled","icon","isAlternate","onToggle","isOpen","openOnArrowDown","event","keyCode","preventDefault"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,QAArB;AACA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAT,QAAqB,qBAArB;AACA,SACCC,aADD,EAECC,QAFD,EAGCC,oCAAoC,IAAIC,sBAHzC,QAIO,uBAJP;;AAMA,SAASC,2BAAT,CAAsCC,KAAtC,EAA8C;AAC7C,QAAM;AACLC,IAAAA,KAAK,GAAGR,EAAE,CAAE,yBAAF,CADL;AAELS,IAAAA,QAAQ,GAAGV,IAFN;AAGLW,IAAAA,KAAK,GAAG,QAHH;AAILC,IAAAA;AAJK,MAKFJ,KALJ;AAOA,QAAMK,IAAI,GAAG,cAAC,sBAAD,CAAwB,IAAxB;AAA6B,IAAA,KAAK,EAAGF;AAArC,IAAb;AAEA,SACC,cAAC,QAAD;AACC,IAAA,QAAQ,EAAC,cADV;AAEC,IAAA,YAAY,EAAG;AAAEG,MAAAA,WAAW,EAAE;AAAf,KAFhB;AAGC,IAAA,YAAY,EAAG,QAA4B;AAAA,UAA1B;AAAEC,QAAAA,QAAF;AAAYC,QAAAA;AAAZ,OAA0B;;AAC1C,YAAMC,eAAe,GAAKC,KAAF,IAAa;AACpC,YAAK,CAAEF,MAAF,IAAYE,KAAK,CAACC,OAAN,KAAkBjB,IAAnC,EAA0C;AACzCgB,UAAAA,KAAK,CAACE,cAAN;AACAL,UAAAA,QAAQ;AACR;AACD,OALD;;AAOA,aACC,cAAC,aAAD;AACC,QAAA,OAAO,EAAGA,QADX;AAEC,yBAAc,MAFf;AAGC,yBAAgBC,MAHjB;AAIC,QAAA,SAAS,EAAGC,eAJb;AAKC,QAAA,KAAK,EAAGR,KALT;AAMC,QAAA,IAAI,EAAGI,IANR;AAOC,QAAA,WAAW,MAPZ;AAQC,QAAA,QAAQ,EAAGD;AARZ,QADD;AAYA,KAvBF;AAwBC,IAAA,aAAa,EAAG,MACf,cAAC,sBAAD;AACC,MAAA,cAAc,EAAG,KADlB;AAEC,MAAA,QAAQ,EAAGF,QAFZ;AAGC,MAAA,KAAK,EAAGC;AAHT;AAzBF,IADD;AAkCA;;AAED,eAAeJ,2BAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tToolbarButton,\n\tDropdown,\n\t__experimentalAlignmentMatrixControl as AlignmentMatrixControl,\n} from '@wordpress/components';\n\nfunction BlockAlignmentMatrixControl( props ) {\n\tconst {\n\t\tlabel = __( 'Change matrix alignment' ),\n\t\tonChange = noop,\n\t\tvalue = 'center',\n\t\tisDisabled,\n\t} = props;\n\n\tconst icon = <AlignmentMatrixControl.Icon value={ value } />;\n\n\treturn (\n\t\t<Dropdown\n\t\t\tposition=\"bottom right\"\n\t\t\tpopoverProps={ { isAlternate: true } }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<AlignmentMatrixControl\n\t\t\t\t\thasFocusBorder={ false }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default BlockAlignmentMatrixControl;\n"]}
|
|
@@ -1,86 +1,20 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import { createElement } from "@wordpress/element";
|
|
3
|
-
|
|
4
1
|
/**
|
|
5
2
|
* WordPress dependencies
|
|
6
3
|
*/
|
|
7
4
|
import { useSelect } from '@wordpress/data';
|
|
8
|
-
import { useState, useEffect } from '@wordpress/element';
|
|
9
5
|
/**
|
|
10
6
|
* Internal dependencies
|
|
11
7
|
*/
|
|
12
8
|
|
|
13
9
|
import { store as blockEditorStore } from '../../store';
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
import classnames from 'classnames';
|
|
19
|
-
export default function BlockContentOverlay(_ref) {
|
|
20
|
-
let {
|
|
21
|
-
clientId,
|
|
22
|
-
tagName: TagName = 'div',
|
|
23
|
-
wrapperProps,
|
|
24
|
-
className
|
|
25
|
-
} = _ref;
|
|
26
|
-
const baseClassName = 'block-editor-block-content-overlay';
|
|
27
|
-
const [isOverlayActive, setIsOverlayActive] = useState(true);
|
|
28
|
-
const [isHovered, setIsHovered] = useState(false);
|
|
29
|
-
const {
|
|
30
|
-
isParentSelected,
|
|
31
|
-
hasChildSelected,
|
|
32
|
-
isDraggingBlocks,
|
|
33
|
-
isParentHighlighted
|
|
34
|
-
} = useSelect(select => {
|
|
10
|
+
export default function useBlockOverlayActive(clientId) {
|
|
11
|
+
return useSelect(select => {
|
|
35
12
|
const {
|
|
36
13
|
isBlockSelected,
|
|
37
14
|
hasSelectedInnerBlock,
|
|
38
|
-
|
|
39
|
-
isBlockHighlighted
|
|
15
|
+
canEditBlock
|
|
40
16
|
} = select(blockEditorStore);
|
|
41
|
-
return
|
|
42
|
-
isParentSelected: isBlockSelected(clientId),
|
|
43
|
-
hasChildSelected: hasSelectedInnerBlock(clientId, true),
|
|
44
|
-
isDraggingBlocks: _isDraggingBlocks(),
|
|
45
|
-
isParentHighlighted: isBlockHighlighted(clientId)
|
|
46
|
-
};
|
|
17
|
+
return !canEditBlock(clientId) || !isBlockSelected(clientId) && !hasSelectedInnerBlock(clientId, true);
|
|
47
18
|
}, [clientId]);
|
|
48
|
-
const classes = classnames(baseClassName, wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.className, className, {
|
|
49
|
-
'overlay-active': isOverlayActive,
|
|
50
|
-
'parent-highlighted': isParentHighlighted,
|
|
51
|
-
'is-dragging-blocks': isDraggingBlocks
|
|
52
|
-
});
|
|
53
|
-
useEffect(() => {
|
|
54
|
-
// Reenable when blocks are not in use.
|
|
55
|
-
if (!isParentSelected && !hasChildSelected && !isOverlayActive) {
|
|
56
|
-
setIsOverlayActive(true);
|
|
57
|
-
} // Disable if parent selected by another means (such as list view).
|
|
58
|
-
// We check hover to ensure the overlay click interaction is not taking place.
|
|
59
|
-
// Trying to click the overlay will select the parent block via its 'focusin'
|
|
60
|
-
// listener on the wrapper, so if the block is selected while hovered we will
|
|
61
|
-
// let the mouseup disable the overlay instead.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (isParentSelected && !isHovered && isOverlayActive) {
|
|
65
|
-
setIsOverlayActive(false);
|
|
66
|
-
} // Ensure overlay is disabled if a child block is selected.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (hasChildSelected && isOverlayActive) {
|
|
70
|
-
setIsOverlayActive(false);
|
|
71
|
-
}
|
|
72
|
-
}, [isParentSelected, hasChildSelected, isOverlayActive, isHovered]); // Disabled because the overlay div doesn't actually have a role or functionality
|
|
73
|
-
// as far as the a11y is concerned. We're just catching the first click so that
|
|
74
|
-
// the block can be selected without interacting with its contents.
|
|
75
|
-
|
|
76
|
-
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
77
|
-
|
|
78
|
-
return createElement(TagName, _extends({}, wrapperProps, {
|
|
79
|
-
className: classes,
|
|
80
|
-
onMouseEnter: () => setIsHovered(true),
|
|
81
|
-
onMouseLeave: () => setIsHovered(false),
|
|
82
|
-
onMouseUp: isOverlayActive ? () => setIsOverlayActive(false) : undefined
|
|
83
|
-
}), wrapperProps === null || wrapperProps === void 0 ? void 0 : wrapperProps.children);
|
|
84
19
|
}
|
|
85
|
-
/* eslint-enable jsx-a11y/no-static-element-interactions */
|
|
86
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-content-overlay/index.js"],"names":["useSelect","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-content-overlay/index.js"],"names":["useSelect","store","blockEditorStore","useBlockOverlayActive","clientId","select","isBlockSelected","hasSelectedInnerBlock","canEditBlock"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,eAAe,SAASC,qBAAT,CAAgCC,QAAhC,EAA2C;AACzD,SAAOJ,SAAS,CACbK,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,eADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA;AAHK,QAIFH,MAAM,CAAEH,gBAAF,CAJV;AAMA,WACC,CAAEM,YAAY,CAAEJ,QAAF,CAAd,IACE,CAAEE,eAAe,CAAEF,QAAF,CAAjB,IACD,CAAEG,qBAAqB,CAAEH,QAAF,EAAY,IAAZ,CAHzB;AAKA,GAbc,EAcf,CAAEA,QAAF,CAde,CAAhB;AAgBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nexport default function useBlockOverlayActive( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tcanEditBlock,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\treturn (\n\t\t\t\t! canEditBlock( clientId ) ||\n\t\t\t\t( ! isBlockSelected( clientId ) &&\n\t\t\t\t\t! hasSelectedInnerBlock( clientId, true ) )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* External dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { View } from 'react-native';
|
|
7
|
+
/**
|
|
8
|
+
* WordPress dependencies
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { dragHandle } from '@wordpress/icons';
|
|
12
|
+
import { usePreferredColorSchemeStyle } from '@wordpress/compose';
|
|
13
|
+
/**
|
|
14
|
+
* Internal dependencies
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import BlockIcon from '../block-icon';
|
|
18
|
+
import styles from './style.scss';
|
|
19
|
+
const shadowStyle = {
|
|
20
|
+
shadowColor: '#000',
|
|
21
|
+
shadowOffset: {
|
|
22
|
+
width: 0,
|
|
23
|
+
height: 2
|
|
24
|
+
},
|
|
25
|
+
shadowOpacity: 0.25,
|
|
26
|
+
shadowRadius: 3.84,
|
|
27
|
+
elevation: 5
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Block draggable chip component
|
|
31
|
+
*
|
|
32
|
+
* @param {Object} props Component props.
|
|
33
|
+
* @param {Object} [props.icon] Block icon.
|
|
34
|
+
* @return {JSX.Element} Chip component.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
export default function BlockDraggableChip(_ref) {
|
|
38
|
+
let {
|
|
39
|
+
icon
|
|
40
|
+
} = _ref;
|
|
41
|
+
const containerStyle = usePreferredColorSchemeStyle(styles['draggable-chip__container'], styles['draggable-chip__container--dark']);
|
|
42
|
+
return createElement(View, {
|
|
43
|
+
style: [containerStyle, shadowStyle]
|
|
44
|
+
}, createElement(BlockIcon, {
|
|
45
|
+
icon: dragHandle
|
|
46
|
+
}), icon && createElement(BlockIcon, {
|
|
47
|
+
icon: icon
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=draggable-chip.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-draggable/draggable-chip.native.js"],"names":["View","dragHandle","usePreferredColorSchemeStyle","BlockIcon","styles","shadowStyle","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","BlockDraggableChip","icon","containerStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,cAArB;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,kBAA3B;AACA,SAASC,4BAAT,QAA6C,oBAA7C;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,eAAtB;AACA,OAAOC,MAAP,MAAmB,cAAnB;AAEA,MAAMC,WAAW,GAAG;AACnBC,EAAAA,WAAW,EAAE,MADM;AAEnBC,EAAAA,YAAY,EAAE;AACbC,IAAAA,KAAK,EAAE,CADM;AAEbC,IAAAA,MAAM,EAAE;AAFK,GAFK;AAMnBC,EAAAA,aAAa,EAAE,IANI;AAOnBC,EAAAA,YAAY,EAAE,IAPK;AASnBC,EAAAA,SAAS,EAAE;AATQ,CAApB;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,kBAAT,OAAwC;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AACtD,QAAMC,cAAc,GAAGb,4BAA4B,CAClDE,MAAM,CAAE,2BAAF,CAD4C,EAElDA,MAAM,CAAE,iCAAF,CAF4C,CAAnD;AAKA,SACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAG,CAAEW,cAAF,EAAkBV,WAAlB;AAAd,KACC,cAAC,SAAD;AAAW,IAAA,IAAI,EAAGJ;AAAlB,IADD,EAEGa,IAAI,IAAI,cAAC,SAAD;AAAW,IAAA,IAAI,EAAGA;AAAlB,IAFX,CADD;AAMA","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { dragHandle } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport styles from './style.scss';\n\nconst shadowStyle = {\n\tshadowColor: '#000',\n\tshadowOffset: {\n\t\twidth: 0,\n\t\theight: 2,\n\t},\n\tshadowOpacity: 0.25,\n\tshadowRadius: 3.84,\n\n\televation: 5,\n};\n\n/**\n * Block draggable chip component\n *\n * @param {Object} props Component props.\n * @param {Object} [props.icon] Block icon.\n * @return {JSX.Element} Chip component.\n */\nexport default function BlockDraggableChip( { icon } ) {\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'draggable-chip__container' ],\n\t\tstyles[ 'draggable-chip__container--dark' ]\n\t);\n\n\treturn (\n\t\t<View style={ [ containerStyle, shadowStyle ] }>\n\t\t\t<BlockIcon icon={ dragHandle } />\n\t\t\t{ icon && <BlockIcon icon={ icon } /> }\n\t\t</View>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* External dependencies
|
|
5
|
+
*/
|
|
6
|
+
import Animated, { useSharedValue, useAnimatedStyle, withTiming, useAnimatedReaction, runOnJS } from 'react-native-reanimated';
|
|
7
|
+
import { useSafeAreaInsets, useSafeAreaFrame } from 'react-native-safe-area-context';
|
|
8
|
+
/**
|
|
9
|
+
* WordPress dependencies
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { useSelect } from '@wordpress/data';
|
|
13
|
+
import { generateHapticFeedback } from '@wordpress/react-native-bridge';
|
|
14
|
+
/**
|
|
15
|
+
* Internal dependencies
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { store as blockEditorStore } from '../../store';
|
|
19
|
+
import { useBlockListContext } from '../block-list/block-list-context';
|
|
20
|
+
import styles from './dropping-insertion-point.scss';
|
|
21
|
+
/**
|
|
22
|
+
* Dropping zone indicator component.
|
|
23
|
+
*
|
|
24
|
+
* This component shows where a block can be dropped when it's being dragged.
|
|
25
|
+
*
|
|
26
|
+
* @param {Object} props Component props.
|
|
27
|
+
* @param {Object} props.scroll Scroll offset object.
|
|
28
|
+
* @param {Object} props.currentYPosition Current Y coordinate position when dragging.
|
|
29
|
+
* @param {import('react-native-reanimated').SharedValue} props.isDragging Whether or not dragging has started.
|
|
30
|
+
* @param {import('react-native-reanimated').SharedValue} props.targetBlockIndex Current block target index.
|
|
31
|
+
*
|
|
32
|
+
* @return {JSX.Element} The component to be rendered.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
export default function DroppingInsertionPoint(_ref) {
|
|
36
|
+
let {
|
|
37
|
+
scroll,
|
|
38
|
+
currentYPosition,
|
|
39
|
+
isDragging,
|
|
40
|
+
targetBlockIndex
|
|
41
|
+
} = _ref;
|
|
42
|
+
const {
|
|
43
|
+
getBlockOrder,
|
|
44
|
+
isBlockBeingDragged,
|
|
45
|
+
isDraggingBlocks,
|
|
46
|
+
getPreviousBlockClientId,
|
|
47
|
+
getNextBlockClientId
|
|
48
|
+
} = useSelect(blockEditorStore);
|
|
49
|
+
const {
|
|
50
|
+
blocksLayouts,
|
|
51
|
+
findBlockLayoutByClientId
|
|
52
|
+
} = useBlockListContext();
|
|
53
|
+
const {
|
|
54
|
+
top,
|
|
55
|
+
bottom
|
|
56
|
+
} = useSafeAreaInsets();
|
|
57
|
+
const {
|
|
58
|
+
height
|
|
59
|
+
} = useSafeAreaFrame();
|
|
60
|
+
const safeAreaOffset = top + bottom;
|
|
61
|
+
const maxHeight = height - (safeAreaOffset + styles['dropping-insertion-point'].height);
|
|
62
|
+
const blockYPosition = useSharedValue(0);
|
|
63
|
+
const opacity = useSharedValue(0);
|
|
64
|
+
useAnimatedReaction(() => isDragging.value, value => {
|
|
65
|
+
if (!value) {
|
|
66
|
+
opacity.value = 0;
|
|
67
|
+
blockYPosition.value = 0;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
function getSelectedBlockIndicatorPosition(positions) {
|
|
72
|
+
const currentYPositionWithScroll = currentYPosition.value + scroll.offsetY.value;
|
|
73
|
+
const midpoint = (positions.top + positions.bottom) / 2;
|
|
74
|
+
return midpoint < currentYPositionWithScroll ? positions.bottom : positions.top;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function setIndicatorPosition(index) {
|
|
78
|
+
const insertionPointIndex = index;
|
|
79
|
+
const order = getBlockOrder();
|
|
80
|
+
const isDraggingAnyBlocks = isDraggingBlocks();
|
|
81
|
+
|
|
82
|
+
if (!isDraggingAnyBlocks || insertionPointIndex === null || !order.length) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
let previousClientId = order[insertionPointIndex - 1];
|
|
87
|
+
let nextClientId = order[insertionPointIndex];
|
|
88
|
+
|
|
89
|
+
while (isBlockBeingDragged(previousClientId)) {
|
|
90
|
+
previousClientId = getPreviousBlockClientId(previousClientId);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
while (isBlockBeingDragged(nextClientId)) {
|
|
94
|
+
nextClientId = getNextBlockClientId(nextClientId);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const previousElement = previousClientId ? findBlockLayoutByClientId(blocksLayouts.current, previousClientId) : null;
|
|
98
|
+
const nextElement = nextClientId ? findBlockLayoutByClientId(blocksLayouts.current, nextClientId) : null;
|
|
99
|
+
const previousElementPosition = previousElement ? previousElement.y + previousElement.height : 0;
|
|
100
|
+
const nextElementPosition = nextElement ? nextElement.y : 0;
|
|
101
|
+
const elementsPositions = {
|
|
102
|
+
top: Math.floor(previousElement ? previousElementPosition : nextElementPosition),
|
|
103
|
+
bottom: Math.floor(nextElement ? nextElementPosition : previousElementPosition)
|
|
104
|
+
};
|
|
105
|
+
const nextPosition = elementsPositions.top !== elementsPositions.bottom ? getSelectedBlockIndicatorPosition(elementsPositions) : elementsPositions.top;
|
|
106
|
+
|
|
107
|
+
if (nextPosition && blockYPosition.value !== nextPosition) {
|
|
108
|
+
opacity.value = 0;
|
|
109
|
+
blockYPosition.value = nextPosition;
|
|
110
|
+
opacity.value = withTiming(1);
|
|
111
|
+
generateHapticFeedback();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
useAnimatedReaction(() => targetBlockIndex.value, (value, previous) => {
|
|
116
|
+
if (value !== previous) {
|
|
117
|
+
runOnJS(setIndicatorPosition)(value);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
const animatedStyles = useAnimatedStyle(() => {
|
|
121
|
+
const translationY = blockYPosition.value - scroll.offsetY.value; // Prevents overflowing behind the header/footer
|
|
122
|
+
|
|
123
|
+
const shouldHideIndicator = translationY < 0 || translationY > maxHeight;
|
|
124
|
+
return {
|
|
125
|
+
opacity: shouldHideIndicator ? 0 : opacity.value,
|
|
126
|
+
transform: [{
|
|
127
|
+
translateY: translationY
|
|
128
|
+
}]
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
const insertionPointStyles = [styles['dropping-insertion-point'], animatedStyles];
|
|
132
|
+
return createElement(Animated.View, {
|
|
133
|
+
pointerEvents: "none",
|
|
134
|
+
style: insertionPointStyles
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=dropping-insertion-point.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-draggable/dropping-insertion-point.native.js"],"names":["Animated","useSharedValue","useAnimatedStyle","withTiming","useAnimatedReaction","runOnJS","useSafeAreaInsets","useSafeAreaFrame","useSelect","generateHapticFeedback","store","blockEditorStore","useBlockListContext","styles","DroppingInsertionPoint","scroll","currentYPosition","isDragging","targetBlockIndex","getBlockOrder","isBlockBeingDragged","isDraggingBlocks","getPreviousBlockClientId","getNextBlockClientId","blocksLayouts","findBlockLayoutByClientId","top","bottom","height","safeAreaOffset","maxHeight","blockYPosition","opacity","value","getSelectedBlockIndicatorPosition","positions","currentYPositionWithScroll","offsetY","midpoint","setIndicatorPosition","index","insertionPointIndex","order","isDraggingAnyBlocks","length","previousClientId","nextClientId","previousElement","current","nextElement","previousElementPosition","y","nextElementPosition","elementsPositions","Math","floor","nextPosition","previous","animatedStyles","translationY","shouldHideIndicator","transform","translateY","insertionPointStyles"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport Animated, {\n\tuseSharedValue,\n\tuseAnimatedStyle,\n\twithTiming,\n\tuseAnimatedReaction,\n\trunOnJS,\n} from 'react-native-reanimated';\nimport {\n\tuseSafeAreaInsets,\n\tuseSafeAreaFrame,\n} from 'react-native-safe-area-context';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { generateHapticFeedback } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { useBlockListContext } from '../block-list/block-list-context';\nimport styles from './dropping-insertion-point.scss';\n\n/**\n * Dropping zone indicator component.\n *\n * This component shows where a block can be dropped when it's being dragged.\n *\n * @param {Object} props Component props.\n * @param {Object} props.scroll Scroll offset object.\n * @param {Object} props.currentYPosition Current Y coordinate position when dragging.\n * @param {import('react-native-reanimated').SharedValue} props.isDragging Whether or not dragging has started.\n * @param {import('react-native-reanimated').SharedValue} props.targetBlockIndex Current block target index.\n *\n * @return {JSX.Element} The component to be rendered.\n */\nexport default function DroppingInsertionPoint( {\n\tscroll,\n\tcurrentYPosition,\n\tisDragging,\n\ttargetBlockIndex,\n} ) {\n\tconst {\n\t\tgetBlockOrder,\n\t\tisBlockBeingDragged,\n\t\tisDraggingBlocks,\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t} = useSelect( blockEditorStore );\n\n\tconst { blocksLayouts, findBlockLayoutByClientId } = useBlockListContext();\n\tconst { top, bottom } = useSafeAreaInsets();\n\tconst { height } = useSafeAreaFrame();\n\tconst safeAreaOffset = top + bottom;\n\tconst maxHeight =\n\t\theight -\n\t\t( safeAreaOffset + styles[ 'dropping-insertion-point' ].height );\n\n\tconst blockYPosition = useSharedValue( 0 );\n\tconst opacity = useSharedValue( 0 );\n\n\tuseAnimatedReaction(\n\t\t() => isDragging.value,\n\t\t( value ) => {\n\t\t\tif ( ! value ) {\n\t\t\t\topacity.value = 0;\n\t\t\t\tblockYPosition.value = 0;\n\t\t\t}\n\t\t}\n\t);\n\n\tfunction getSelectedBlockIndicatorPosition( positions ) {\n\t\tconst currentYPositionWithScroll =\n\t\t\tcurrentYPosition.value + scroll.offsetY.value;\n\t\tconst midpoint = ( positions.top + positions.bottom ) / 2;\n\n\t\treturn midpoint < currentYPositionWithScroll\n\t\t\t? positions.bottom\n\t\t\t: positions.top;\n\t}\n\n\tfunction setIndicatorPosition( index ) {\n\t\tconst insertionPointIndex = index;\n\t\tconst order = getBlockOrder();\n\t\tconst isDraggingAnyBlocks = isDraggingBlocks();\n\n\t\tif (\n\t\t\t! isDraggingAnyBlocks ||\n\t\t\tinsertionPointIndex === null ||\n\t\t\t! order.length\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet previousClientId = order[ insertionPointIndex - 1 ];\n\t\tlet nextClientId = order[ insertionPointIndex ];\n\n\t\twhile ( isBlockBeingDragged( previousClientId ) ) {\n\t\t\tpreviousClientId = getPreviousBlockClientId( previousClientId );\n\t\t}\n\n\t\twhile ( isBlockBeingDragged( nextClientId ) ) {\n\t\t\tnextClientId = getNextBlockClientId( nextClientId );\n\t\t}\n\n\t\tconst previousElement = previousClientId\n\t\t\t? findBlockLayoutByClientId(\n\t\t\t\t\tblocksLayouts.current,\n\t\t\t\t\tpreviousClientId\n\t\t\t )\n\t\t\t: null;\n\t\tconst nextElement = nextClientId\n\t\t\t? findBlockLayoutByClientId( blocksLayouts.current, nextClientId )\n\t\t\t: null;\n\n\t\tconst previousElementPosition = previousElement\n\t\t\t? previousElement.y + previousElement.height\n\t\t\t: 0;\n\t\tconst nextElementPosition = nextElement ? nextElement.y : 0;\n\n\t\tconst elementsPositions = {\n\t\t\ttop: Math.floor(\n\t\t\t\tpreviousElement ? previousElementPosition : nextElementPosition\n\t\t\t),\n\t\t\tbottom: Math.floor(\n\t\t\t\tnextElement ? nextElementPosition : previousElementPosition\n\t\t\t),\n\t\t};\n\n\t\tconst nextPosition =\n\t\t\telementsPositions.top !== elementsPositions.bottom\n\t\t\t\t? getSelectedBlockIndicatorPosition( elementsPositions )\n\t\t\t\t: elementsPositions.top;\n\n\t\tif ( nextPosition && blockYPosition.value !== nextPosition ) {\n\t\t\topacity.value = 0;\n\t\t\tblockYPosition.value = nextPosition;\n\t\t\topacity.value = withTiming( 1 );\n\t\t\tgenerateHapticFeedback();\n\t\t}\n\t}\n\n\tuseAnimatedReaction(\n\t\t() => targetBlockIndex.value,\n\t\t( value, previous ) => {\n\t\t\tif ( value !== previous ) {\n\t\t\t\trunOnJS( setIndicatorPosition )( value );\n\t\t\t}\n\t\t}\n\t);\n\n\tconst animatedStyles = useAnimatedStyle( () => {\n\t\tconst translationY = blockYPosition.value - scroll.offsetY.value;\n\t\t// Prevents overflowing behind the header/footer\n\t\tconst shouldHideIndicator =\n\t\t\ttranslationY < 0 || translationY > maxHeight;\n\n\t\treturn {\n\t\t\topacity: shouldHideIndicator ? 0 : opacity.value,\n\t\t\ttransform: [\n\t\t\t\t{\n\t\t\t\t\ttranslateY: translationY,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t} );\n\n\tconst insertionPointStyles = [\n\t\tstyles[ 'dropping-insertion-point' ],\n\t\tanimatedStyles,\n\t];\n\n\treturn (\n\t\t<Animated.View pointerEvents=\"none\" style={ insertionPointStyles } />\n\t);\n}\n"]}
|