@wordpress/block-editor 7.0.1 → 8.0.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 +47 -4
- package/build/components/autocomplete/index.js +1 -1
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-actions/index.js +8 -4
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +61 -14
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js +25 -3
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-content-overlay/index.js +2 -4
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-controls/fill.js +6 -6
- package/build/components/block-controls/fill.js.map +1 -1
- package/build/components/block-controls/groups.js +3 -1
- package/build/components/block-controls/groups.js.map +1 -1
- package/build/components/block-controls/hook.js +57 -0
- package/build/components/block-controls/hook.js.map +1 -0
- package/build/components/block-edit/context.js +6 -5
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/edit.js +1 -1
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-icon/index.js +5 -1
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-icon/index.native.js +13 -9
- package/build/components/block-icon/index.native.js.map +1 -1
- package/build/components/block-inspector/index.js +14 -7
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-html.js +5 -0
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +31 -12
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js +4 -4
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js +15 -9
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +6 -7
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/grid-item.native.js +68 -0
- package/build/components/block-list/grid-item.native.js.map +1 -0
- package/build/components/block-list/index.js +19 -15
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +13 -9
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +6 -6
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js +4 -6
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
- package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
- package/build/components/block-list/use-block-props/use-multi-selection.js +21 -6
- package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +9 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list-appender/index.js +9 -1
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-mover/index.js +4 -4
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +4 -4
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +0 -1
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-patterns-list/index.js +1 -8
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-preview/auto.js +42 -14
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-settings/container.native.js +5 -2
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +26 -5
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +10 -3
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +5 -1
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/preview.native.js +2 -2
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-switcher/block-styles-menu.js +1 -1
- package/build/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build/components/block-switcher/index.js +10 -3
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-title/index.js +3 -2
- package/build/components/block-title/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +3 -0
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/block-popover.js +8 -7
- package/build/components/block-tools/block-popover.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +2 -4
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +4 -1
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +96 -7
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-types-list/index.native.js +3 -2
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/utils.js +17 -8
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/colors/utils.js +11 -3
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors-gradients/control.js +22 -57
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +83 -7
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/contrast-checker/index.js +18 -12
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/copy-handler/index.js +9 -3
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +2 -2
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/duotone-control/index.js +41 -39
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/editor-styles/index.js +9 -3
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +44 -12
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-sizes/index.native.js +24 -0
- package/build/components/font-sizes/index.native.js.map +1 -1
- package/build/components/iframe/index.js +46 -63
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +126 -0
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -0
- package/build/components/image-editor/constants.js +16 -0
- package/build/components/image-editor/constants.js.map +1 -0
- package/build/components/image-editor/context.js +59 -0
- package/build/components/image-editor/context.js.map +1 -0
- package/build/components/image-editor/cropper.js +83 -0
- package/build/components/image-editor/cropper.js.map +1 -0
- package/build/components/image-editor/form-controls.js +36 -0
- package/build/components/image-editor/form-controls.js.map +1 -0
- package/build/components/image-editor/index.js +60 -0
- package/build/components/image-editor/index.js.map +1 -0
- package/build/components/image-editor/rotation-button.js +37 -0
- package/build/components/image-editor/rotation-button.js.map +1 -0
- package/build/components/image-editor/use-save-image.js +84 -0
- package/build/components/image-editor/use-save-image.js.map +1 -0
- package/build/components/image-editor/use-transform-image.js +135 -0
- package/build/components/image-editor/use-transform-image.js.map +1 -0
- package/build/components/image-editor/zoom-dropdown.js +55 -0
- package/build/components/image-editor/zoom-dropdown.js.map +1 -0
- package/build/components/image-size-control/use-dimension-handler.js +14 -3
- package/build/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build/components/index.js +42 -37
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +12 -7
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +11 -1
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +28 -10
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +42 -4
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +24 -13
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js +62 -0
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
- package/build/components/inserter/block-patterns-explorer/patterns-list.js +111 -0
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
- package/build/components/inserter/block-patterns-explorer/sidebar.js +78 -0
- package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
- package/build/components/inserter/block-patterns-tab.js +74 -35
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js +3 -6
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-type-impressions.native.js +4 -7
- package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build/components/inserter/hooks/use-clipboard-block.native.js +5 -4
- package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
- package/build/components/inserter/index.js +12 -4
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +1 -7
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +2 -0
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js +2 -1
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js +18 -17
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/pattern-panel.js +19 -10
- package/build/components/inserter/pattern-panel.js.map +1 -1
- package/build/components/inserter/preview-panel.js +1 -1
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +2 -1
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.native.js +5 -6
- package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build/components/inserter/search-results.native.js +9 -2
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/inserter/tabs.native.js +1 -4
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inserter/utils.native.js +44 -0
- package/build/components/inserter/utils.native.js.map +1 -0
- package/build/components/inspector-controls/block-support-slot-container.js +28 -0
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -0
- package/build/components/inspector-controls/block-support-tools-panel.js +78 -0
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -0
- package/build/components/inspector-controls/fill.js +64 -0
- package/build/components/inspector-controls/fill.js.map +1 -0
- package/build/components/inspector-controls/{index.native.js → fill.native.js} +20 -19
- package/build/components/inspector-controls/fill.native.js.map +1 -0
- package/build/components/inspector-controls/groups.js +25 -0
- package/build/components/inspector-controls/groups.js.map +1 -0
- package/build/components/inspector-controls/index.js +22 -20
- package/build/components/inspector-controls/index.js.map +1 -1
- package/build/components/inspector-controls/slot.js +67 -0
- package/build/components/inspector-controls/slot.js.map +1 -0
- package/build/components/inspector-controls/slot.native.js +38 -0
- package/build/components/inspector-controls/slot.native.js.map +1 -0
- package/build/components/letter-spacing-control/index.js +9 -6
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.native.js +39 -0
- package/build/components/line-height-control/index.native.js.map +1 -0
- package/build/components/link-control/index.js +93 -34
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +45 -15
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-input.js +25 -7
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/list-view/block-contents.js +1 -20
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block.js +54 -69
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +102 -76
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +53 -23
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +2 -2
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/list-item.js +3 -2
- package/build/components/list-view/list-item.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js +13 -54
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/media-placeholder/index.js +35 -21
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +2 -1
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +5 -3
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +1 -4
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/observe-typing/index.js +1 -1
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +30 -1
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/rich-text/embed-handler-picker.native.js +66 -0
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -0
- package/build/components/rich-text/format-edit.js +28 -2
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +32 -11
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/index.js +29 -7
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +43 -5
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/input-event.js +25 -24
- package/build/components/rich-text/input-event.js.map +1 -1
- package/build/components/rich-text/shortcut.js +23 -9
- package/build/components/rich-text/shortcut.js.map +1 -1
- package/build/components/rich-text/use-input-events.js +27 -0
- package/build/components/rich-text/use-input-events.js.map +1 -0
- package/build/components/rich-text/use-paste-handler.js +45 -10
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/rich-text/use-shortcuts.js +27 -0
- package/build/components/rich-text/use-shortcuts.js.map +1 -0
- package/build/components/rich-text/utils.js +22 -0
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/typewriter/index.js +1 -1
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/url-input/index.js +25 -11
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-display-block-controls/index.js +5 -7
- package/build/components/use-display-block-controls/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +13 -10
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +2 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js +2 -13
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/use-setting/index.js +49 -14
- package/build/components/use-setting/index.js.map +1 -1
- package/build/components/writing-flow/use-multi-selection.js +6 -0
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +18 -3
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/align.js +14 -14
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/anchor.js +4 -2
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/border-color.js +9 -5
- package/build/hooks/border-color.js.map +1 -1
- package/build/hooks/border.js +5 -5
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color-panel.js +5 -2
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color.js +6 -4
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/compat.js +23 -0
- package/build/hooks/compat.js.map +1 -0
- package/build/hooks/custom-class-name.js +3 -1
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/dimensions.js +63 -28
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +63 -18
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-appearance.js +49 -6
- package/build/hooks/font-appearance.js.map +1 -1
- package/build/hooks/font-family.js +123 -32
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +51 -9
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/gap.js +163 -0
- package/build/hooks/gap.js.map +1 -0
- package/build/hooks/index.js +12 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +10 -0
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout.js +47 -30
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/letter-spacing.js +45 -8
- package/build/hooks/letter-spacing.js.map +1 -1
- package/build/hooks/line-height.js +45 -8
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/lock.js +43 -0
- package/build/hooks/lock.js.map +1 -0
- package/build/hooks/margin.js +6 -3
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +6 -3
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/style.js +39 -11
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/text-decoration.js +42 -6
- package/build/hooks/text-decoration.js.map +1 -1
- package/build/hooks/text-transform.js +42 -6
- package/build/hooks/text-transform.js.map +1 -1
- package/build/hooks/typography.js +109 -9
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +60 -0
- package/build/hooks/typography.native.js.map +1 -0
- package/build/hooks/use-cached-truthy.js +29 -0
- package/build/hooks/use-cached-truthy.js.map +1 -0
- package/build/index.js +7 -0
- package/build/index.js.map +1 -1
- package/build/layouts/flex.js +215 -11
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +99 -6
- package/build/layouts/flow.js.map +1 -1
- package/build/store/actions.js +331 -266
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +2 -0
- package/build/store/defaults.js.map +1 -1
- package/build/store/defaults.native.js +16 -1
- package/build/store/defaults.native.js.map +1 -1
- package/build/store/index.js +1 -3
- package/build/store/index.js.map +1 -1
- package/build/store/reducer.js +165 -114
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +203 -115
- package/build/store/selectors.js.map +1 -1
- package/build/utils/index.js +10 -1
- package/build/utils/index.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +295 -0
- package/build/utils/parse-css-unit-to-px.js.map +1 -0
- package/build/utils/transform-styles/transforms/wrap.js +16 -0
- package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-module/components/autocomplete/index.js +2 -2
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-actions/index.js +8 -4
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +64 -17
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +25 -3
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js +2 -4
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-controls/fill.js +6 -5
- package/build-module/components/block-controls/fill.js.map +1 -1
- package/build-module/components/block-controls/groups.js +3 -1
- package/build-module/components/block-controls/groups.js.map +1 -1
- package/build-module/components/block-controls/hook.js +42 -0
- package/build-module/components/block-controls/hook.js.map +1 -0
- package/build-module/components/block-edit/context.js +4 -4
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/edit.js +1 -1
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-icon/index.js +5 -1
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-icon/index.native.js +14 -9
- package/build-module/components/block-icon/index.native.js.map +1 -1
- package/build-module/components/block-inspector/index.js +12 -6
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-html.js +5 -0
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +30 -12
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js +3 -4
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js +16 -10
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +6 -7
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/grid-item.native.js +57 -0
- package/build-module/components/block-list/grid-item.native.js.map +1 -0
- package/build-module/components/block-list/index.js +17 -14
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +13 -9
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +7 -7
- 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-custom-class-name.js +5 -7
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +2 -2
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-multi-selection.js +21 -6
- package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +9 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +9 -1
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-mover/index.js +4 -4
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +4 -4
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +0 -1
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +1 -6
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +40 -16
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +6 -3
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +28 -7
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +10 -3
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +5 -1
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/preview.native.js +2 -2
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build-module/components/block-switcher/index.js +10 -3
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-title/index.js +3 -2
- package/build-module/components/block-title/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +3 -0
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-popover.js +9 -8
- package/build-module/components/block-tools/block-popover.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +2 -4
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +4 -1
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +96 -8
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +3 -2
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js +16 -9
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/colors/utils.js +9 -3
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +26 -63
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +84 -7
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/contrast-checker/index.js +13 -10
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/copy-handler/index.js +9 -3
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +2 -2
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/duotone-control/index.js +43 -39
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/editor-styles/index.js +7 -3
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +40 -12
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-sizes/index.native.js +3 -1
- package/build-module/components/font-sizes/index.native.js.map +1 -1
- package/build-module/components/iframe/index.js +47 -65
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +115 -0
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -0
- package/build-module/components/image-editor/constants.js +7 -0
- package/build-module/components/image-editor/constants.js.map +1 -0
- package/build-module/components/image-editor/context.js +44 -0
- package/build-module/components/image-editor/context.js.map +1 -0
- package/build-module/components/image-editor/cropper.js +69 -0
- package/build-module/components/image-editor/cropper.js.map +1 -0
- package/build-module/components/image-editor/form-controls.js +26 -0
- package/build-module/components/image-editor/form-controls.js.map +1 -0
- package/build-module/components/image-editor/index.js +37 -0
- package/build-module/components/image-editor/index.js.map +1 -0
- package/build-module/components/image-editor/rotation-button.js +26 -0
- package/build-module/components/image-editor/rotation-button.js.map +1 -0
- package/build-module/components/image-editor/use-save-image.js +70 -0
- package/build-module/components/image-editor/use-save-image.js.map +1 -0
- package/build-module/components/image-editor/use-transform-image.js +127 -0
- package/build-module/components/image-editor/use-transform-image.js.map +1 -0
- package/build-module/components/image-editor/zoom-dropdown.js +43 -0
- package/build-module/components/image-editor/zoom-dropdown.js.map +1 -0
- package/build-module/components/image-size-control/use-dimension-handler.js +13 -2
- package/build-module/components/image-size-control/use-dimension-handler.js.map +1 -1
- package/build-module/components/index.js +5 -6
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +2 -3
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +10 -1
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +29 -11
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +41 -5
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -13
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +50 -0
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +92 -0
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js +69 -0
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
- package/build-module/components/inserter/block-patterns-tab.js +75 -36
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js +2 -5
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +4 -7
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-clipboard-block.native.js +5 -4
- package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
- package/build-module/components/inserter/index.js +12 -4
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +1 -7
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +2 -0
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js +2 -1
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js +17 -17
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/pattern-panel.js +21 -13
- package/build-module/components/inserter/pattern-panel.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +1 -1
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +2 -1
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js +4 -5
- package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build-module/components/inserter/search-results.native.js +8 -2
- package/build-module/components/inserter/search-results.native.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js +1 -4
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inserter/utils.native.js +35 -0
- package/build-module/components/inserter/utils.native.js.map +1 -0
- package/build-module/components/inspector-controls/block-support-slot-container.js +18 -0
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -0
- package/build-module/components/inspector-controls/block-support-tools-panel.js +67 -0
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -0
- package/build-module/components/inspector-controls/fill.js +50 -0
- package/build-module/components/inspector-controls/fill.js.map +1 -0
- package/build-module/components/inspector-controls/{index.native.js → fill.native.js} +16 -18
- package/build-module/components/inspector-controls/fill.native.js.map +1 -0
- package/build-module/components/inspector-controls/groups.js +16 -0
- package/build-module/components/inspector-controls/groups.js.map +1 -0
- package/build-module/components/inspector-controls/index.js +16 -17
- package/build-module/components/inspector-controls/index.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +52 -0
- package/build-module/components/inspector-controls/slot.js.map +1 -0
- package/build-module/components/inspector-controls/slot.native.js +27 -0
- package/build-module/components/inspector-controls/slot.native.js.map +1 -0
- package/build-module/components/letter-spacing-control/index.js +9 -6
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.native.js +29 -0
- package/build-module/components/line-height-control/index.native.js.map +1 -0
- package/build-module/components/link-control/index.js +93 -35
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +46 -17
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-input.js +24 -7
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +1 -18
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block.js +56 -71
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +102 -78
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +55 -27
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +2 -2
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/list-item.js +3 -2
- package/build-module/components/list-view/list-item.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js +13 -54
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +35 -21
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +2 -1
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +5 -3
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +1 -4
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/observe-typing/index.js +1 -1
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +29 -2
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/embed-handler-picker.native.js +54 -0
- package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -0
- package/build-module/components/rich-text/format-edit.js +28 -3
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +29 -11
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +22 -6
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +43 -6
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/input-event.js +24 -22
- package/build-module/components/rich-text/input-event.js.map +1 -1
- package/build-module/components/rich-text/shortcut.js +22 -9
- package/build-module/components/rich-text/shortcut.js.map +1 -1
- package/build-module/components/rich-text/use-input-events.js +19 -0
- package/build-module/components/rich-text/use-input-events.js.map +1 -0
- package/build-module/components/rich-text/use-paste-handler.js +44 -10
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/use-shortcuts.js +19 -0
- package/build-module/components/rich-text/use-shortcuts.js.map +1 -0
- package/build-module/components/rich-text/utils.js +20 -0
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/typewriter/index.js +1 -1
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/url-input/index.js +25 -11
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-display-block-controls/index.js +5 -7
- package/build-module/components/use-display-block-controls/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +13 -10
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +3 -2
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js +2 -10
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/use-setting/index.js +48 -14
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/components/writing-flow/use-multi-selection.js +6 -0
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +18 -3
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/align.js +15 -15
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/anchor.js +5 -3
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/border-color.js +10 -5
- package/build-module/hooks/border-color.js.map +1 -1
- package/build-module/hooks/border.js +5 -5
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color-panel.js +6 -3
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color.js +6 -4
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/compat.js +20 -0
- package/build-module/hooks/compat.js.map +1 -0
- package/build-module/hooks/custom-class-name.js +4 -2
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/dimensions.js +57 -26
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +62 -18
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-appearance.js +45 -6
- package/build-module/hooks/font-appearance.js.map +1 -1
- package/build-module/hooks/font-family.js +117 -33
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +47 -9
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/gap.js +140 -0
- package/build-module/hooks/gap.js.map +1 -0
- package/build-module/hooks/index.js +3 -0
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js +2 -0
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout.js +47 -30
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/letter-spacing.js +41 -8
- package/build-module/hooks/letter-spacing.js.map +1 -1
- package/build-module/hooks/line-height.js +41 -8
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/lock.js +33 -0
- package/build-module/hooks/lock.js.map +1 -0
- package/build-module/hooks/margin.js +7 -4
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +7 -4
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/style.js +39 -11
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/text-decoration.js +38 -6
- package/build-module/hooks/text-decoration.js.map +1 -1
- package/build-module/hooks/text-transform.js +38 -6
- package/build-module/hooks/text-transform.js.map +1 -1
- package/build-module/hooks/typography.js +118 -19
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js +41 -0
- package/build-module/hooks/typography.native.js.map +1 -0
- package/build-module/hooks/use-cached-truthy.js +21 -0
- package/build-module/hooks/use-cached-truthy.js.map +1 -0
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/flex.js +210 -12
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +99 -7
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/store/actions.js +294 -242
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +2 -0
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/defaults.native.js +15 -1
- package/build-module/store/defaults.native.js.map +1 -1
- package/build-module/store/index.js +1 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/reducer.js +167 -115
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +189 -104
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/index.js +1 -0
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +285 -0
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -0
- package/build-module/utils/transform-styles/transforms/wrap.js +16 -0
- package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-style/default-editor-styles-rtl.css +114 -0
- package/build-style/default-editor-styles.css +114 -0
- package/build-style/style-rtl.css +292 -181
- package/build-style/style.css +292 -181
- package/build-types/components/block-context/index.d.ts +1 -1
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/package.json +28 -27
- package/src/components/autocomplete/index.js +5 -2
- package/src/components/block-actions/index.js +9 -5
- package/src/components/block-alignment-control/style.scss +5 -0
- package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +15 -1
- package/src/components/block-alignment-control/test/index.native.js +37 -0
- package/src/components/block-alignment-control/ui.js +98 -27
- package/src/components/block-alignment-control/use-available-alignments.js +31 -10
- package/src/components/block-content-overlay/index.js +3 -6
- package/src/components/block-content-overlay/style.scss +9 -21
- package/src/components/block-controls/fill.js +7 -4
- package/src/components/block-controls/groups.js +2 -0
- package/src/components/block-controls/hook.js +44 -0
- package/src/components/block-draggable/style.scss +19 -4
- package/src/components/block-edit/context.js +4 -3
- package/src/components/block-edit/edit.js +1 -4
- package/src/components/block-icon/index.js +4 -1
- package/src/components/block-icon/index.native.js +11 -12
- package/src/components/block-inspector/index.js +19 -9
- package/src/components/block-list/block-html.js +5 -0
- package/src/components/block-list/block-list-item.native.js +34 -11
- package/src/components/block-list/block-list-item.native.scss +4 -0
- package/src/components/block-list/block-selection-button.native.js +8 -5
- package/src/components/block-list/block.js +13 -9
- package/src/components/block-list/block.native.js +7 -5
- package/src/components/block-list/grid-item.native.js +58 -0
- package/src/components/block-list/index.js +33 -27
- package/src/components/block-list/index.native.js +10 -4
- package/src/components/block-list/style.native.scss +0 -1
- package/src/components/block-list/style.scss +15 -0
- package/src/components/block-list/use-block-props/index.js +4 -7
- package/src/components/block-list/use-block-props/use-block-custom-class-name.js +5 -7
- package/src/components/block-list/use-block-props/use-block-default-class-name.js +2 -8
- package/src/components/block-list/use-block-props/use-multi-selection.js +30 -4
- package/src/components/block-list/use-in-between-inserter.js +9 -0
- package/src/components/block-list-appender/index.js +8 -0
- package/src/components/block-mover/index.js +4 -4
- package/src/components/block-mover/index.native.js +4 -4
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +10 -6
- package/src/components/block-mover/test/index.native.js +26 -28
- package/src/components/block-navigation/dropdown.js +0 -1
- package/src/components/block-patterns-list/index.js +1 -8
- package/src/components/block-patterns-list/style.scss +22 -12
- package/src/components/block-preview/README.md +1 -1
- package/src/components/block-preview/auto.js +36 -18
- package/src/components/block-preview/style.scss +0 -20
- package/src/components/block-settings/container.native.js +7 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +26 -13
- package/src/components/block-settings-menu-controls/index.js +9 -6
- package/src/components/block-styles/index.js +6 -1
- package/src/components/block-styles/preview.native.js +2 -2
- package/src/components/block-switcher/block-styles-menu.js +1 -1
- package/src/components/block-switcher/index.js +7 -3
- package/src/components/block-switcher/test/__snapshots__/index.js.snap +1 -1
- package/src/components/block-switcher/test/index.js +3 -0
- package/src/components/block-title/index.js +5 -2
- package/src/components/block-toolbar/index.js +4 -0
- package/src/components/block-tools/block-contextual-toolbar.js +7 -5
- package/src/components/block-tools/block-popover.js +8 -8
- package/src/components/block-tools/block-selection-button.js +2 -4
- package/src/components/block-tools/index.js +5 -2
- package/src/components/block-tools/insertion-point.js +97 -9
- package/src/components/block-tools/style.scss +4 -35
- package/src/components/block-types-list/index.native.js +8 -2
- package/src/components/block-types-list/style.scss +0 -3
- package/src/components/block-variation-picker/README.md +47 -14
- package/src/components/block-variation-picker/style.native.scss +4 -0
- package/src/components/border-radius-control/index.js +1 -0
- package/src/components/border-radius-control/test/utils.js +216 -0
- package/src/components/border-radius-control/utils.js +18 -10
- package/src/components/color-palette/test/__snapshots__/control.js.snap +128 -71
- package/src/components/colors/test/utils.js +41 -0
- package/src/components/colors/utils.js +9 -5
- package/src/components/colors-gradients/control.js +70 -110
- package/src/components/colors-gradients/panel-color-gradient-settings.js +79 -7
- package/src/components/colors-gradients/style.scss +10 -18
- package/src/components/colors-gradients/test/control.js +41 -66
- package/src/components/contrast-checker/index.js +14 -10
- package/src/components/copy-handler/index.js +6 -1
- package/src/components/default-block-appender/index.js +2 -2
- package/src/components/default-block-appender/test/__snapshots__/index.js.snap +3 -3
- package/src/components/duotone-control/index.js +49 -41
- package/src/components/duotone-control/style.scss +27 -12
- package/src/components/editor-styles/index.js +8 -4
- package/src/components/font-appearance-control/index.js +62 -24
- package/src/components/font-appearance-control/style.scss +1 -1
- package/src/components/font-sizes/index.native.js +7 -1
- package/src/components/iframe/index.js +64 -75
- package/src/components/image-editor/aspect-ratio-dropdown.js +129 -0
- package/src/components/image-editor/constants.js +6 -0
- package/src/components/image-editor/context.js +56 -0
- package/src/components/image-editor/cropper.js +74 -0
- package/src/components/image-editor/form-controls.js +22 -0
- package/src/components/image-editor/index.js +52 -0
- package/src/components/image-editor/rotation-button.js +24 -0
- package/src/components/image-editor/use-save-image.js +97 -0
- package/src/components/image-editor/use-transform-image.js +162 -0
- package/src/components/image-editor/zoom-dropdown.js +40 -0
- package/src/components/image-size-control/use-dimension-handler.js +18 -1
- package/src/components/index.js +10 -8
- package/src/components/index.native.js +5 -3
- package/src/components/inner-blocks/button-block-appender.js +9 -0
- package/src/components/inner-blocks/index.js +43 -14
- package/src/components/inner-blocks/index.native.js +48 -4
- package/src/components/inner-blocks/use-nested-settings-update.js +26 -11
- package/src/components/inserter/block-patterns-explorer/explorer.js +50 -0
- package/src/components/inserter/block-patterns-explorer/patterns-list.js +122 -0
- package/src/components/inserter/block-patterns-explorer/sidebar.js +73 -0
- package/src/components/inserter/block-patterns-tab.js +107 -73
- package/src/components/inserter/block-types-tab.native.js +3 -6
- package/src/components/inserter/hooks/use-block-type-impressions.native.js +14 -21
- package/src/components/inserter/hooks/use-clipboard-block.native.js +3 -2
- package/src/components/inserter/index.js +15 -3
- package/src/components/inserter/index.native.js +2 -19
- package/src/components/inserter/library.js +2 -0
- package/src/components/inserter/menu.js +4 -1
- package/src/components/inserter/menu.native.js +18 -15
- package/src/components/inserter/pattern-panel.js +33 -16
- package/src/components/inserter/preview-panel.js +1 -1
- package/src/components/inserter/quick-inserter.js +1 -1
- package/src/components/inserter/reusable-blocks-tab.native.js +4 -6
- package/src/components/inserter/search-results.native.js +8 -1
- package/src/components/inserter/style.native.scss +8 -5
- package/src/components/inserter/style.scss +80 -16
- package/src/components/inserter/tabs.native.js +1 -7
- package/src/components/inserter/test/block-types-tab.native.js +3 -2
- package/src/components/inserter/test/fixtures/index.native.js +12 -0
- package/src/components/inserter/utils.native.js +35 -0
- package/src/components/inserter-list-item/style.scss +4 -2
- package/src/components/inspector-controls/README.md +43 -198
- package/src/components/inspector-controls/block-support-slot-container.js +10 -0
- package/src/components/inspector-controls/block-support-tools-panel.js +60 -0
- package/src/components/inspector-controls/fill.js +53 -0
- package/src/components/inspector-controls/{index.native.js → fill.native.js} +14 -14
- package/src/components/inspector-controls/groups.js +22 -0
- package/src/components/inspector-controls/index.js +16 -18
- package/src/components/inspector-controls/slot.js +45 -0
- package/src/components/inspector-controls/slot.native.js +22 -0
- package/src/components/letter-spacing-control/index.js +12 -6
- package/src/components/line-height-control/index.native.js +25 -0
- package/src/components/link-control/README.md +47 -14
- package/src/components/link-control/index.js +102 -31
- package/src/components/link-control/link-preview.js +53 -20
- package/src/components/link-control/search-input.js +21 -7
- package/src/components/link-control/style.scss +66 -19
- package/src/components/link-control/test/index.js +311 -4
- package/src/components/list-view/block-contents.js +17 -38
- package/src/components/list-view/block.js +73 -84
- package/src/components/list-view/branch.js +123 -94
- package/src/components/list-view/index.js +95 -37
- package/src/components/list-view/leaf.js +2 -2
- package/src/components/list-view/list-item.js +5 -4
- package/src/components/list-view/style.scss +70 -33
- package/src/components/list-view/use-list-view-client-ids.js +9 -68
- package/src/components/media-placeholder/README.md +9 -0
- package/src/components/media-placeholder/index.js +31 -20
- package/src/components/media-placeholder/index.native.js +2 -1
- package/src/components/media-placeholder/style.scss +2 -0
- package/src/components/media-replace-flow/README.md +7 -0
- package/src/components/media-replace-flow/index.js +4 -1
- package/src/components/media-replace-flow/style.scss +11 -12
- package/src/components/media-upload/README.md +1 -1
- package/src/components/navigable-toolbar/index.js +1 -4
- package/src/components/observe-typing/index.js +3 -2
- package/src/components/plain-text/index.native.js +26 -4
- package/src/components/rich-text/embed-handler-picker.native.js +68 -0
- package/src/components/rich-text/format-edit.js +36 -2
- package/src/components/rich-text/format-toolbar/index.js +25 -6
- package/src/components/rich-text/index.js +38 -12
- package/src/components/rich-text/index.native.js +37 -4
- package/src/components/rich-text/input-event.js +21 -20
- package/src/components/rich-text/shortcut.js +24 -9
- package/src/components/rich-text/style.scss +7 -5
- package/src/components/rich-text/use-input-events.js +19 -0
- package/src/components/rich-text/use-paste-handler.js +47 -12
- package/src/components/rich-text/use-shortcuts.js +19 -0
- package/src/components/rich-text/utils.js +16 -0
- package/src/components/skip-to-selected-block/README.md +39 -0
- package/src/components/tool-selector/style.scss +5 -5
- package/src/components/typewriter/index.js +3 -2
- package/src/components/url-input/index.js +26 -10
- package/src/components/use-display-block-controls/index.js +7 -10
- package/src/components/use-moving-animation/index.js +9 -8
- package/src/components/use-on-block-drop/index.js +5 -1
- package/src/components/use-resize-canvas/index.js +2 -17
- package/src/components/use-setting/index.js +48 -16
- package/src/components/writing-flow/use-multi-selection.js +6 -0
- package/src/components/writing-flow/use-tab-nav.js +21 -11
- package/src/default-editor-styles.scss +24 -0
- package/src/hooks/align.js +28 -20
- package/src/hooks/anchor.js +5 -5
- package/src/hooks/border-color.js +12 -1
- package/src/hooks/border.js +8 -11
- package/src/hooks/color-panel.js +4 -1
- package/src/hooks/color.js +11 -4
- package/src/hooks/compat.js +23 -0
- package/src/hooks/custom-class-name.js +3 -3
- package/src/hooks/dimensions.js +94 -50
- package/src/hooks/duotone.js +70 -21
- package/src/hooks/font-appearance.js +38 -7
- package/src/hooks/font-family.js +129 -33
- package/src/hooks/font-size.js +42 -6
- package/src/hooks/gap.js +146 -0
- package/src/hooks/index.js +3 -0
- package/src/hooks/index.native.js +2 -0
- package/src/hooks/layout.js +82 -56
- package/src/hooks/layout.scss +8 -0
- package/src/hooks/letter-spacing.js +37 -8
- package/src/hooks/line-height.js +37 -9
- package/src/hooks/lock.js +34 -0
- package/src/hooks/margin.js +13 -3
- package/src/hooks/padding.js +13 -3
- package/src/hooks/style.js +57 -18
- package/src/hooks/test/style.js +4 -0
- package/src/hooks/text-decoration.js +34 -6
- package/src/hooks/text-transform.js +34 -6
- package/src/hooks/typography.js +167 -21
- package/src/hooks/typography.native.js +64 -0
- package/src/hooks/typography.scss +16 -0
- package/src/hooks/use-cached-truthy.js +20 -0
- package/src/index.js +1 -0
- package/src/layouts/flex.js +237 -14
- package/src/layouts/flow.js +81 -14
- package/src/store/actions.js +248 -378
- package/src/store/defaults.js +2 -0
- package/src/store/defaults.native.js +15 -0
- package/src/store/index.js +1 -2
- package/src/store/reducer.js +248 -145
- package/src/store/selectors.js +212 -158
- package/src/store/test/actions.js +407 -705
- package/src/store/test/reducer.js +184 -146
- package/src/store/test/selectors.js +197 -177
- package/src/style.scss +2 -15
- package/src/utils/index.js +1 -0
- package/src/utils/parse-css-unit-to-px.js +272 -0
- package/src/utils/test/parse-css-unit-to-px.js +166 -0
- package/src/utils/transform-styles/transforms/test/wrap.js +1 -1
- package/src/utils/transform-styles/transforms/wrap.js +16 -0
- package/tsconfig.tsbuildinfo +1 -466
- package/build/components/block-list/head.js +0 -27
- package/build/components/block-list/head.js.map +0 -1
- package/build/components/duotone-control/duotone-picker-popover.js +0 -44
- package/build/components/duotone-control/duotone-picker-popover.js.map +0 -1
- package/build/components/inspector-advanced-controls/index.js +0 -46
- package/build/components/inspector-advanced-controls/index.js.map +0 -1
- package/build/components/inspector-controls/index.native.js.map +0 -1
- package/build/components/list-view/block-slot.js +0 -121
- package/build/components/list-view/block-slot.js.map +0 -1
- package/build/components/list-view/editor.js +0 -35
- package/build/components/list-view/editor.js.map +0 -1
- package/build/components/text-decoration-and-transform/index.js +0 -39
- package/build/components/text-decoration-and-transform/index.js.map +0 -1
- package/build/components/use-simulated-media-query/index.js +0 -137
- package/build/components/use-simulated-media-query/index.js.map +0 -1
- package/build/store/controls.js +0 -44
- package/build/store/controls.js.map +0 -1
- package/build-module/components/block-list/head.js +0 -19
- package/build-module/components/block-list/head.js.map +0 -1
- package/build-module/components/duotone-control/duotone-picker-popover.js +0 -35
- package/build-module/components/duotone-control/duotone-picker-popover.js.map +0 -1
- package/build-module/components/inspector-advanced-controls/index.js +0 -36
- package/build-module/components/inspector-advanced-controls/index.js.map +0 -1
- package/build-module/components/inspector-controls/index.native.js.map +0 -1
- package/build-module/components/list-view/block-slot.js +0 -96
- package/build-module/components/list-view/block-slot.js.map +0 -1
- package/build-module/components/list-view/editor.js +0 -25
- package/build-module/components/list-view/editor.js.map +0 -1
- package/build-module/components/text-decoration-and-transform/index.js +0 -30
- package/build-module/components/text-decoration-and-transform/index.js.map +0 -1
- package/build-module/components/use-simulated-media-query/index.js +0 -126
- package/build-module/components/use-simulated-media-query/index.js.map +0 -1
- package/build-module/store/controls.js +0 -32
- package/build-module/store/controls.js.map +0 -1
- package/src/components/block-list/head.js +0 -18
- package/src/components/duotone-control/duotone-picker-popover.js +0 -36
- package/src/components/inspector-advanced-controls/README.md +0 -72
- package/src/components/inspector-advanced-controls/index.js +0 -32
- package/src/components/list-view/block-slot.js +0 -120
- package/src/components/list-view/editor.js +0 -29
- package/src/components/text-decoration-and-transform/index.js +0 -36
- package/src/components/text-decoration-and-transform/style.scss +0 -3
- package/src/components/use-simulated-media-query/index.js +0 -144
- package/src/store/controls.js +0 -39
|
@@ -17,20 +17,22 @@ import { createContext, useState, useMemo } from '@wordpress/element';
|
|
|
17
17
|
|
|
18
18
|
import BlockListBlock from './block';
|
|
19
19
|
import BlockListAppender from '../block-list-appender';
|
|
20
|
-
import useBlockDropZone from '../use-block-drop-zone';
|
|
21
20
|
import { useInBetweenInserter } from './use-in-between-inserter';
|
|
22
21
|
import { store as blockEditorStore } from '../../store';
|
|
23
22
|
import { usePreParsePatterns } from '../../utils/pre-parse-patterns';
|
|
24
23
|
import { LayoutProvider, defaultLayout } from './layout';
|
|
25
24
|
import BlockToolsBackCompat from '../block-tools/back-compat';
|
|
26
25
|
import { useBlockSelectionClearer } from '../block-selection-clearer';
|
|
27
|
-
import {
|
|
26
|
+
import { useInnerBlocksProps } from '../inner-blocks';
|
|
27
|
+
import { BlockEditContextProvider, DEFAULT_BLOCK_EDIT_CONTEXT } from '../block-edit/context';
|
|
28
|
+
const elementContext = createContext();
|
|
28
29
|
export const IntersectionObserver = createContext();
|
|
29
30
|
|
|
30
31
|
function Root({
|
|
31
32
|
className,
|
|
32
|
-
|
|
33
|
+
...settings
|
|
33
34
|
}) {
|
|
35
|
+
const [element, setElement] = useState();
|
|
34
36
|
const isLargeViewport = useViewportMatch('medium');
|
|
35
37
|
const {
|
|
36
38
|
isOutlineMode,
|
|
@@ -51,25 +53,26 @@ function Root({
|
|
|
51
53
|
isNavigationMode: _isNavigationMode()
|
|
52
54
|
};
|
|
53
55
|
}, []);
|
|
54
|
-
|
|
55
|
-
ref: useMergeRefs([useBlockSelectionClearer(),
|
|
56
|
-
className: classnames('
|
|
56
|
+
const innerBlocksProps = useInnerBlocksProps({
|
|
57
|
+
ref: useMergeRefs([useBlockSelectionClearer(), useInBetweenInserter(), setElement]),
|
|
58
|
+
className: classnames('is-root-container', className, {
|
|
57
59
|
'is-outline-mode': isOutlineMode,
|
|
58
60
|
'is-focus-mode': isFocusMode && isLargeViewport,
|
|
59
61
|
'is-navigate-mode': isNavigationMode
|
|
60
62
|
})
|
|
61
|
-
},
|
|
63
|
+
}, settings);
|
|
64
|
+
return createElement(elementContext.Provider, {
|
|
65
|
+
value: element
|
|
66
|
+
}, createElement("div", innerBlocksProps));
|
|
62
67
|
}
|
|
63
68
|
|
|
64
|
-
export default function BlockList({
|
|
65
|
-
className,
|
|
66
|
-
...props
|
|
67
|
-
}) {
|
|
69
|
+
export default function BlockList(settings) {
|
|
68
70
|
usePreParsePatterns();
|
|
69
|
-
return createElement(BlockToolsBackCompat, null, createElement(
|
|
70
|
-
|
|
71
|
-
}, createElement(
|
|
71
|
+
return createElement(BlockToolsBackCompat, null, createElement(BlockEditContextProvider, {
|
|
72
|
+
value: DEFAULT_BLOCK_EDIT_CONTEXT
|
|
73
|
+
}, createElement(Root, settings)));
|
|
72
74
|
}
|
|
75
|
+
BlockList.__unstableElementContext = elementContext;
|
|
73
76
|
|
|
74
77
|
function Items({
|
|
75
78
|
placeholder,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"names":["classnames","AsyncModeProvider","useSelect","useViewportMatch","useMergeRefs","createContext","useState","useMemo","BlockListBlock","BlockListAppender","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"names":["classnames","AsyncModeProvider","useSelect","useViewportMatch","useMergeRefs","createContext","useState","useMemo","BlockListBlock","BlockListAppender","useInBetweenInserter","store","blockEditorStore","usePreParsePatterns","LayoutProvider","defaultLayout","BlockToolsBackCompat","useBlockSelectionClearer","useInnerBlocksProps","BlockEditContextProvider","DEFAULT_BLOCK_EDIT_CONTEXT","elementContext","IntersectionObserver","Root","className","settings","element","setElement","isLargeViewport","isOutlineMode","isFocusMode","isNavigationMode","select","getSettings","_isNavigationMode","outlineMode","focusMode","innerBlocksProps","ref","BlockList","__unstableElementContext","Items","placeholder","rootClientId","renderAppender","__experimentalAppenderTagName","__experimentalLayout","layout","intersectingBlocks","setIntersectingBlocks","Set","intersectionObserver","Observer","window","entries","oldIntersectingBlocks","newIntersectingBlocks","entry","clientId","target","getAttribute","action","isIntersecting","order","selectedBlocks","getBlockOrder","getSelectedBlockClientIds","map","has","includes","length","BlockListItems","props"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { AsyncModeProvider, useSelect } from '@wordpress/data';\nimport { useViewportMatch, useMergeRefs } from '@wordpress/compose';\nimport { createContext, useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { usePreParsePatterns } from '../../utils/pre-parse-patterns';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport BlockToolsBackCompat from '../block-tools/back-compat';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\n\nconst elementContext = createContext();\n\nexport const IntersectionObserver = createContext();\n\nfunction Root( { className, ...settings } ) {\n\tconst [ element, setElement ] = useState();\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { isOutlineMode, isFocusMode, isNavigationMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, isNavigationMode: _isNavigationMode } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst { outlineMode, focusMode } = getSettings();\n\t\t\treturn {\n\t\t\t\tisOutlineMode: outlineMode,\n\t\t\t\tisFocusMode: focusMode,\n\t\t\t\tisNavigationMode: _isNavigationMode(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tsetElement,\n\t\t\t] ),\n\t\t\tclassName: classnames( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode && isLargeViewport,\n\t\t\t\t'is-navigate-mode': isNavigationMode,\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<elementContext.Provider value={ element }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</elementContext.Provider>\n\t);\n}\n\nexport default function BlockList( settings ) {\n\tusePreParsePatterns();\n\treturn (\n\t\t<BlockToolsBackCompat>\n\t\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t\t<Root { ...settings } />\n\t\t\t</BlockEditContextProvider>\n\t\t</BlockToolsBackCompat>\n\t);\n}\n\nBlockList.__unstableElementContext = elementContext;\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender,\n\t__experimentalAppenderTagName,\n\t__experimentalLayout: layout = defaultLayout,\n} ) {\n\tconst [ intersectingBlocks, setIntersectingBlocks ] = useState( new Set() );\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tsetIntersectingBlocks( ( oldIntersectingBlocks ) => {\n\t\t\t\tconst newIntersectingBlocks = new Set( oldIntersectingBlocks );\n\t\t\t\tfor ( const entry of entries ) {\n\t\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\t\tconst action = entry.isIntersecting ? 'add' : 'delete';\n\t\t\t\t\tnewIntersectingBlocks[ action ]( clientId );\n\t\t\t\t}\n\t\t\t\treturn newIntersectingBlocks;\n\t\t\t} );\n\t\t} );\n\t}, [ setIntersectingBlocks ] );\n\tconst { order, selectedBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockOrder, getSelectedBlockClientIds } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\treturn {\n\t\t\t\torder: getBlockOrder( rootClientId ),\n\t\t\t\tselectedBlocks: getSelectedBlockClientIds(),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t\t{ order.map( ( clientId ) => (\n\t\t\t\t\t<AsyncModeProvider\n\t\t\t\t\t\tkey={ clientId }\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t\t// not visible and not selected.\n\t\t\t\t\t\t\t! intersectingBlocks.has( clientId ) &&\n\t\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</AsyncModeProvider>\n\t\t\t\t) ) }\n\t\t\t</IntersectionObserver.Provider>\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t<BlockListAppender\n\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\trenderAppender={ renderAppender }\n\t\t\t/>\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"]}
|
|
@@ -22,7 +22,7 @@ import { __ } from '@wordpress/i18n';
|
|
|
22
22
|
|
|
23
23
|
import styles from './style.scss';
|
|
24
24
|
import BlockListAppender from '../block-list-appender';
|
|
25
|
-
import BlockListItem from './block-list-item
|
|
25
|
+
import BlockListItem from './block-list-item';
|
|
26
26
|
import { store as blockEditorStore } from '../../store';
|
|
27
27
|
const BlockListContext = createContext();
|
|
28
28
|
export const OnCaretVerticalPositionChange = createContext();
|
|
@@ -39,7 +39,7 @@ const getStyles = (isRootList, isStackedHorizontally, horizontalAlignment) => {
|
|
|
39
39
|
return stylesMemo[styleName];
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
const computedStyles = [isStackedHorizontally && styles.horizontal, horizontalAlignment && styles[`is-aligned-${horizontalAlignment}`]];
|
|
42
|
+
const computedStyles = [isStackedHorizontally && styles.horizontal, horizontalAlignment && styles[`is-aligned-${horizontalAlignment}`], styles.overflowVisible];
|
|
43
43
|
stylesMemo[styleName] = computedStyles;
|
|
44
44
|
return computedStyles;
|
|
45
45
|
};
|
|
@@ -107,20 +107,22 @@ export class BlockList extends Component {
|
|
|
107
107
|
renderFooterAppender,
|
|
108
108
|
onDeleteBlock,
|
|
109
109
|
contentStyle,
|
|
110
|
-
renderAppender
|
|
110
|
+
renderAppender,
|
|
111
|
+
gridProperties
|
|
111
112
|
} = this.props;
|
|
112
113
|
const {
|
|
113
114
|
blockWidth
|
|
114
115
|
} = this.state;
|
|
115
116
|
|
|
116
|
-
if (this.extraData.parentWidth !== parentWidth || this.extraData.renderFooterAppender !== renderFooterAppender || this.extraData.onDeleteBlock !== onDeleteBlock || this.extraData.contentStyle !== contentStyle || this.extraData.renderAppender !== renderAppender || this.extraData.blockWidth !== blockWidth) {
|
|
117
|
+
if (this.extraData.parentWidth !== parentWidth || this.extraData.renderFooterAppender !== renderFooterAppender || this.extraData.onDeleteBlock !== onDeleteBlock || this.extraData.contentStyle !== contentStyle || this.extraData.renderAppender !== renderAppender || this.extraData.blockWidth !== blockWidth || this.extraData.gridProperties !== gridProperties) {
|
|
117
118
|
this.extraData = {
|
|
118
119
|
parentWidth,
|
|
119
120
|
renderFooterAppender,
|
|
120
121
|
onDeleteBlock,
|
|
121
122
|
contentStyle,
|
|
122
123
|
renderAppender,
|
|
123
|
-
blockWidth
|
|
124
|
+
blockWidth,
|
|
125
|
+
gridProperties
|
|
124
126
|
};
|
|
125
127
|
}
|
|
126
128
|
|
|
@@ -225,8 +227,6 @@ export class BlockList extends Component {
|
|
|
225
227
|
scrollViewStyle: [{
|
|
226
228
|
flex: isRootList ? 1 : 0
|
|
227
229
|
}, !isRootList && styles.overflowVisible],
|
|
228
|
-
horizontal: horizontal,
|
|
229
|
-
numColumns: 1,
|
|
230
230
|
extraData: this.getExtraData(),
|
|
231
231
|
scrollEnabled: isRootList,
|
|
232
232
|
contentContainerStyle: [horizontal && styles.horizontalContentContainer, isWider(blockWidth, 'medium') && (isContentStretch && isMultiBlocks ? styles.horizontalContentContainerStretch : styles.horizontalContentContainerCenter)],
|
|
@@ -260,9 +260,11 @@ export class BlockList extends Component {
|
|
|
260
260
|
onDeleteBlock,
|
|
261
261
|
rootClientId,
|
|
262
262
|
isStackedHorizontally,
|
|
263
|
+
blockClientIds,
|
|
263
264
|
parentWidth,
|
|
264
265
|
marginVertical = styles.defaultBlock.marginTop,
|
|
265
|
-
marginHorizontal = styles.defaultBlock.marginLeft
|
|
266
|
+
marginHorizontal = styles.defaultBlock.marginLeft,
|
|
267
|
+
gridProperties
|
|
266
268
|
} = this.props;
|
|
267
269
|
const {
|
|
268
270
|
blockWidth
|
|
@@ -279,7 +281,9 @@ export class BlockList extends Component {
|
|
|
279
281
|
marginHorizontal: marginHorizontal,
|
|
280
282
|
onDeleteBlock: onDeleteBlock,
|
|
281
283
|
shouldShowInnerBlockAppender: this.shouldShowInnerBlockAppender,
|
|
282
|
-
blockWidth: blockWidth
|
|
284
|
+
blockWidth: blockWidth,
|
|
285
|
+
gridProperties: gridProperties,
|
|
286
|
+
items: blockClientIds
|
|
283
287
|
});
|
|
284
288
|
}
|
|
285
289
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.native.js"],"names":["identity","View","Platform","TouchableWithoutFeedback","Component","createContext","withDispatch","withSelect","compose","withPreferredColorScheme","createBlock","KeyboardAwareFlatList","ReadableContentView","WIDE_ALIGNMENTS","alignmentHelpers","__","styles","BlockListAppender","BlockListItem","store","blockEditorStore","BlockListContext","OnCaretVerticalPositionChange","stylesMemo","getStyles","isRootList","isStackedHorizontally","horizontalAlignment","styleName","computedStyles","horizontal","BlockList","constructor","arguments","extraData","parentWidth","props","renderFooterAppender","renderAppender","onDeleteBlock","contentStyle","renderItem","bind","renderBlockListFooter","onCaretVerticalPositionChange","scrollViewInnerRef","addBlockToEndOfPost","shouldFlatListPreventAutomaticScroll","shouldShowInnerBlockAppender","renderEmptyList","getExtraData","onLayout","state","blockWidth","newBlock","insertBlock","blockCount","targetId","caretY","previousCaretY","handleCaretVerticalPositionChange","scrollViewRef","ref","isBlockInsertionPointVisible","blockClientIds","length","rootClientId","nativeEvent","layout","maxWidth","layoutWidth","Math","floor","width","setState","min","render","blockList","renderList","parentScrollRef","extraProps","clearSelectedBlock","title","header","isReadOnly","marginVertical","defaultBlock","marginTop","marginHorizontal","marginLeft","isFloatingToolbarVisible","contentResizeMode","blockToolbar","blockBorder","headerToolbar","floatingToolbar","containerStyle","flex","isContentStretch","isMultiBlocks","isWider","OS","removeClippedSubviews","autoScroll","height","overflowVisible","horizontalContentContainer","horizontalContentContainerStretch","horizontalContentContainerCenter","innerAppender","item","clientId","onAddBlock","paragraphBlock","withFooter","blockListFooter","select","orientation","filterInnerBlocks","getBlockCount","getBlockOrder","getSelectedBlockClientId","getSettings","selectedBlockClientId","readOnly","hasRootInnerBlocks","undefined","dispatch","replaceBlock","EmptyListComponent","shouldShowInsertionPoint","defaultAppender","alignments","full","EmptyListComponentCompose","getBlockInsertionPoint","insertionPoint","blockInsertionPointIsVisible","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { identity } from 'lodash';\nimport { View, Platform, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createContext } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tKeyboardAwareFlatList,\n\tReadableContentView,\n\tWIDE_ALIGNMENTS,\n\talignmentHelpers,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockListAppender from '../block-list-appender';\nimport BlockListItem from './block-list-item.native';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockListContext = createContext();\n\nexport const OnCaretVerticalPositionChange = createContext();\n\nconst stylesMemo = {};\nconst getStyles = (\n\tisRootList,\n\tisStackedHorizontally,\n\thorizontalAlignment\n) => {\n\tif ( isRootList ) {\n\t\treturn;\n\t}\n\tconst styleName = `${ isStackedHorizontally }-${ horizontalAlignment }`;\n\tif ( stylesMemo[ styleName ] ) {\n\t\treturn stylesMemo[ styleName ];\n\t}\n\tconst computedStyles = [\n\t\tisStackedHorizontally && styles.horizontal,\n\t\thorizontalAlignment && styles[ `is-aligned-${ horizontalAlignment }` ],\n\t];\n\tstylesMemo[ styleName ] = computedStyles;\n\treturn computedStyles;\n};\n\nexport class BlockList extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.extraData = {\n\t\t\tparentWidth: this.props.parentWidth,\n\t\t\trenderFooterAppender: this.props.renderFooterAppender,\n\t\t\trenderAppender: this.props.renderAppender,\n\t\t\tonDeleteBlock: this.props.onDeleteBlock,\n\t\t\tcontentStyle: this.props.contentStyle,\n\t\t};\n\t\tthis.renderItem = this.renderItem.bind( this );\n\t\tthis.renderBlockListFooter = this.renderBlockListFooter.bind( this );\n\t\tthis.onCaretVerticalPositionChange = this.onCaretVerticalPositionChange.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.scrollViewInnerRef = this.scrollViewInnerRef.bind( this );\n\t\tthis.addBlockToEndOfPost = this.addBlockToEndOfPost.bind( this );\n\t\tthis.shouldFlatListPreventAutomaticScroll = this.shouldFlatListPreventAutomaticScroll.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.shouldShowInnerBlockAppender = this.shouldShowInnerBlockAppender.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.renderEmptyList = this.renderEmptyList.bind( this );\n\t\tthis.getExtraData = this.getExtraData.bind( this );\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\n\t\tthis.state = {\n\t\t\tblockWidth: this.props.blockWidth || 0,\n\t\t};\n\t}\n\n\taddBlockToEndOfPost( newBlock ) {\n\t\tthis.props.insertBlock( newBlock, this.props.blockCount );\n\t}\n\n\tonCaretVerticalPositionChange( targetId, caretY, previousCaretY ) {\n\t\tKeyboardAwareFlatList.handleCaretVerticalPositionChange(\n\t\t\tthis.scrollViewRef,\n\t\t\ttargetId,\n\t\t\tcaretY,\n\t\t\tpreviousCaretY\n\t\t);\n\t}\n\n\tscrollViewInnerRef( ref ) {\n\t\tthis.scrollViewRef = ref;\n\t}\n\n\tshouldFlatListPreventAutomaticScroll() {\n\t\treturn this.props.isBlockInsertionPointVisible;\n\t}\n\n\tshouldShowInnerBlockAppender() {\n\t\tconst { blockClientIds, renderAppender } = this.props;\n\t\treturn renderAppender && blockClientIds.length > 0;\n\t}\n\n\trenderEmptyList() {\n\t\treturn (\n\t\t\t<EmptyListComponentCompose\n\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\trenderFooterAppender={ this.props.renderFooterAppender }\n\t\t\t/>\n\t\t);\n\t}\n\n\tgetExtraData() {\n\t\tconst {\n\t\t\tparentWidth,\n\t\t\trenderFooterAppender,\n\t\t\tonDeleteBlock,\n\t\t\tcontentStyle,\n\t\t\trenderAppender,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\t\tif (\n\t\t\tthis.extraData.parentWidth !== parentWidth ||\n\t\t\tthis.extraData.renderFooterAppender !== renderFooterAppender ||\n\t\t\tthis.extraData.onDeleteBlock !== onDeleteBlock ||\n\t\t\tthis.extraData.contentStyle !== contentStyle ||\n\t\t\tthis.extraData.renderAppender !== renderAppender ||\n\t\t\tthis.extraData.blockWidth !== blockWidth\n\t\t) {\n\t\t\tthis.extraData = {\n\t\t\t\tparentWidth,\n\t\t\t\trenderFooterAppender,\n\t\t\t\tonDeleteBlock,\n\t\t\t\tcontentStyle,\n\t\t\t\trenderAppender,\n\t\t\t\tblockWidth,\n\t\t\t};\n\t\t}\n\t\treturn this.extraData;\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst { blockWidth } = this.state;\n\t\tconst { isRootList, maxWidth } = this.props;\n\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( isRootList && blockWidth !== layoutWidth ) {\n\t\t\tthis.setState( {\n\t\t\t\tblockWidth: Math.min( layoutWidth, maxWidth ),\n\t\t\t} );\n\t\t} else if ( ! isRootList && ! blockWidth ) {\n\t\t\tthis.setState( { blockWidth: Math.min( layoutWidth, maxWidth ) } );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { isRootList } = this.props;\n\t\t// Use of Context to propagate the main scroll ref to its children e.g InnerBlocks\n\t\tconst blockList = isRootList ? (\n\t\t\t<BlockListContext.Provider value={ this.scrollViewRef }>\n\t\t\t\t{ this.renderList() }\n\t\t\t</BlockListContext.Provider>\n\t\t) : (\n\t\t\t<BlockListContext.Consumer>\n\t\t\t\t{ ( ref ) =>\n\t\t\t\t\tthis.renderList( {\n\t\t\t\t\t\tparentScrollRef: ref,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t</BlockListContext.Consumer>\n\t\t);\n\n\t\treturn (\n\t\t\t<OnCaretVerticalPositionChange.Provider\n\t\t\t\tvalue={ this.onCaretVerticalPositionChange }\n\t\t\t>\n\t\t\t\t{ blockList }\n\t\t\t</OnCaretVerticalPositionChange.Provider>\n\t\t);\n\t}\n\n\trenderList( extraProps = {} ) {\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tblockClientIds,\n\t\t\ttitle,\n\t\t\theader,\n\t\t\tisReadOnly,\n\t\t\tisRootList,\n\t\t\thorizontal,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t\tisFloatingToolbarVisible,\n\t\t\tisStackedHorizontally,\n\t\t\thorizontalAlignment,\n\t\t\tcontentResizeMode,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst { parentScrollRef } = extraProps;\n\n\t\tconst {\n\t\t\tblockToolbar,\n\t\t\tblockBorder,\n\t\t\theaderToolbar,\n\t\t\tfloatingToolbar,\n\t\t} = styles;\n\n\t\tconst containerStyle = {\n\t\t\tflex: isRootList ? 1 : 0,\n\t\t\t// We set negative margin in the parent to remove the edge spacing between parent block and child block in ineer blocks\n\t\t\tmarginVertical: isRootList ? 0 : -marginVertical,\n\t\t\tmarginHorizontal: isRootList ? 0 : -marginHorizontal,\n\t\t};\n\n\t\tconst isContentStretch = contentResizeMode === 'stretch';\n\t\tconst isMultiBlocks = blockClientIds.length > 1;\n\t\tconst { isWider } = alignmentHelpers;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ containerStyle }\n\t\t\t\tonAccessibilityEscape={ clearSelectedBlock }\n\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\ttestID=\"block-list-wrapper\"\n\t\t\t>\n\t\t\t\t<KeyboardAwareFlatList\n\t\t\t\t\t{ ...( Platform.OS === 'android'\n\t\t\t\t\t\t? { removeClippedSubviews: false }\n\t\t\t\t\t\t: {} ) } // Disable clipping on Android to fix focus losing. See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541\n\t\t\t\t\taccessibilityLabel=\"block-list\"\n\t\t\t\t\tautoScroll={ this.props.autoScroll }\n\t\t\t\t\tinnerRef={ ( ref ) => {\n\t\t\t\t\t\tthis.scrollViewInnerRef( parentScrollRef || ref );\n\t\t\t\t\t} }\n\t\t\t\t\textraScrollHeight={\n\t\t\t\t\t\tblockToolbar.height + blockBorder.width\n\t\t\t\t\t}\n\t\t\t\t\tinputAccessoryViewHeight={\n\t\t\t\t\t\theaderToolbar.height +\n\t\t\t\t\t\t( isFloatingToolbarVisible\n\t\t\t\t\t\t\t? floatingToolbar.height\n\t\t\t\t\t\t\t: 0 )\n\t\t\t\t\t}\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\tscrollViewStyle={ [\n\t\t\t\t\t\t{ flex: isRootList ? 1 : 0 },\n\t\t\t\t\t\t! isRootList && styles.overflowVisible,\n\t\t\t\t\t] }\n\t\t\t\t\thorizontal={ horizontal }\n\t\t\t\t\tnumColumns={ 1 }\n\t\t\t\t\textraData={ this.getExtraData() }\n\t\t\t\t\tscrollEnabled={ isRootList }\n\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\thorizontal && styles.horizontalContentContainer,\n\t\t\t\t\t\tisWider( blockWidth, 'medium' ) &&\n\t\t\t\t\t\t\t( isContentStretch && isMultiBlocks\n\t\t\t\t\t\t\t\t? styles.horizontalContentContainerStretch\n\t\t\t\t\t\t\t\t: styles.horizontalContentContainerCenter ),\n\t\t\t\t\t] }\n\t\t\t\t\tstyle={ getStyles(\n\t\t\t\t\t\tisRootList,\n\t\t\t\t\t\tisStackedHorizontally,\n\t\t\t\t\t\thorizontalAlignment\n\t\t\t\t\t) }\n\t\t\t\t\tdata={ blockClientIds }\n\t\t\t\t\tkeyExtractor={ identity }\n\t\t\t\t\trenderItem={ this.renderItem }\n\t\t\t\t\tshouldPreventAutomaticScroll={\n\t\t\t\t\t\tthis.shouldFlatListPreventAutomaticScroll\n\t\t\t\t\t}\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tListHeaderComponent={ header }\n\t\t\t\t\tListEmptyComponent={ ! isReadOnly && this.renderEmptyList }\n\t\t\t\t\tListFooterComponent={ this.renderBlockListFooter }\n\t\t\t\t/>\n\t\t\t\t{ this.shouldShowInnerBlockAppender() && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tmarginHorizontal:\n\t\t\t\t\t\t\t\tmarginHorizontal -\n\t\t\t\t\t\t\t\tstyles.innerAppender.marginLeft,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\t\t\t\tshowSeparator\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderItem( { item: clientId } ) {\n\t\tconst {\n\t\t\tcontentResizeMode,\n\t\t\tcontentStyle,\n\t\t\tonAddBlock,\n\t\t\tonDeleteBlock,\n\t\t\trootClientId,\n\t\t\tisStackedHorizontally,\n\t\t\tparentWidth,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\t\treturn (\n\t\t\t<BlockListItem\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentResizeMode={ contentResizeMode }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tshouldShowInnerBlockAppender={\n\t\t\t\t\tthis.shouldShowInnerBlockAppender\n\t\t\t\t}\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderBlockListFooter() {\n\t\tconst paragraphBlock = createBlock( 'core/paragraph' );\n\t\tconst {\n\t\t\tisReadOnly,\n\t\t\twithFooter = true,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( ! isReadOnly && withFooter ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\taccessibilityLabel={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\ttestID={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\t\tthis.addBlockToEndOfPost( paragraphBlock );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.blockListFooter } />\n\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t</>\n\t\t\t);\n\t\t} else if ( renderFooterAppender ) {\n\t\t\treturn renderFooterAppender();\n\t\t}\n\t\treturn null;\n\t}\n}\n\nexport default compose( [\n\twithSelect(\n\t\t( select, { rootClientId, orientation, filterInnerBlocks } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tlet blockClientIds = getBlockOrder( rootClientId );\n\t\t\t// Display only block which fulfill the condition in passed `filterInnerBlocks` function\n\t\t\tif ( filterInnerBlocks ) {\n\t\t\t\tblockClientIds = filterInnerBlocks( blockClientIds );\n\t\t\t}\n\n\t\t\tconst { maxWidth } = getSettings();\n\t\t\tconst isReadOnly = getSettings().readOnly;\n\n\t\t\tconst blockCount = getBlockCount();\n\t\t\tconst hasRootInnerBlocks = !! blockCount;\n\n\t\t\tconst isFloatingToolbarVisible =\n\t\t\t\t!! selectedBlockClientId && hasRootInnerBlocks;\n\t\t\treturn {\n\t\t\t\tblockClientIds,\n\t\t\t\tblockCount,\n\t\t\t\tisBlockInsertionPointVisible:\n\t\t\t\t\tPlatform.OS === 'ios' && isBlockInsertionPointVisible(),\n\t\t\t\tisReadOnly,\n\t\t\t\tisRootList: rootClientId === undefined,\n\t\t\t\tisFloatingToolbarVisible,\n\t\t\t\tisStackedHorizontally,\n\t\t\t\tmaxWidth,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { insertBlock, replaceBlock, clearSelectedBlock } = dispatch(\n\t\t\tblockEditorStore\n\t\t);\n\n\t\treturn {\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( BlockList );\n\nclass EmptyListComponent extends Component {\n\trender() {\n\t\tconst {\n\t\t\tshouldShowInsertionPoint,\n\t\t\trootClientId,\n\t\t\trenderAppender,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( renderFooterAppender ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ styles.defaultAppender }>\n\t\t\t\t<ReadableContentView\n\t\t\t\t\talign={\n\t\t\t\t\t\trenderAppender\n\t\t\t\t\t\t\t? WIDE_ALIGNMENTS.alignments.full\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\tshowSeparator={ shouldShowInsertionPoint }\n\t\t\t\t\t/>\n\t\t\t\t</ReadableContentView>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst EmptyListComponentCompose = compose( [\n\twithSelect( ( select, { rootClientId, orientation } ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockInsertionPointVisible,\n\t\t} = select( blockEditorStore );\n\n\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst blockInsertionPointIsVisible = isBlockInsertionPointVisible();\n\t\tconst shouldShowInsertionPoint =\n\t\t\t! isStackedHorizontally &&\n\t\t\tblockInsertionPointIsVisible &&\n\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t// if list is empty, show the insertion point (via the default appender)\n\t\t\t( blockClientIds.length === 0 ||\n\t\t\t\t// or if the insertion point is right before the denoted block\n\t\t\t\t! blockClientIds[ insertionPoint.index ] );\n\n\t\treturn {\n\t\t\tshouldShowInsertionPoint,\n\t\t};\n\t} ),\n] )( EmptyListComponent );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.native.js"],"names":["identity","View","Platform","TouchableWithoutFeedback","Component","createContext","withDispatch","withSelect","compose","withPreferredColorScheme","createBlock","KeyboardAwareFlatList","ReadableContentView","WIDE_ALIGNMENTS","alignmentHelpers","__","styles","BlockListAppender","BlockListItem","store","blockEditorStore","BlockListContext","OnCaretVerticalPositionChange","stylesMemo","getStyles","isRootList","isStackedHorizontally","horizontalAlignment","styleName","computedStyles","horizontal","overflowVisible","BlockList","constructor","arguments","extraData","parentWidth","props","renderFooterAppender","renderAppender","onDeleteBlock","contentStyle","renderItem","bind","renderBlockListFooter","onCaretVerticalPositionChange","scrollViewInnerRef","addBlockToEndOfPost","shouldFlatListPreventAutomaticScroll","shouldShowInnerBlockAppender","renderEmptyList","getExtraData","onLayout","state","blockWidth","newBlock","insertBlock","blockCount","targetId","caretY","previousCaretY","handleCaretVerticalPositionChange","scrollViewRef","ref","isBlockInsertionPointVisible","blockClientIds","length","rootClientId","gridProperties","nativeEvent","layout","maxWidth","layoutWidth","Math","floor","width","setState","min","render","blockList","renderList","parentScrollRef","extraProps","clearSelectedBlock","title","header","isReadOnly","marginVertical","defaultBlock","marginTop","marginHorizontal","marginLeft","isFloatingToolbarVisible","contentResizeMode","blockToolbar","blockBorder","headerToolbar","floatingToolbar","containerStyle","flex","isContentStretch","isMultiBlocks","isWider","OS","removeClippedSubviews","autoScroll","height","horizontalContentContainer","horizontalContentContainerStretch","horizontalContentContainerCenter","innerAppender","item","clientId","onAddBlock","paragraphBlock","withFooter","blockListFooter","select","orientation","filterInnerBlocks","getBlockCount","getBlockOrder","getSelectedBlockClientId","getSettings","selectedBlockClientId","readOnly","hasRootInnerBlocks","undefined","dispatch","replaceBlock","EmptyListComponent","shouldShowInsertionPoint","defaultAppender","alignments","full","EmptyListComponentCompose","getBlockInsertionPoint","insertionPoint","blockInsertionPointIsVisible","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { identity } from 'lodash';\nimport { View, Platform, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createContext } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tKeyboardAwareFlatList,\n\tReadableContentView,\n\tWIDE_ALIGNMENTS,\n\talignmentHelpers,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockListAppender from '../block-list-appender';\nimport BlockListItem from './block-list-item';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockListContext = createContext();\n\nexport const OnCaretVerticalPositionChange = createContext();\n\nconst stylesMemo = {};\nconst getStyles = (\n\tisRootList,\n\tisStackedHorizontally,\n\thorizontalAlignment\n) => {\n\tif ( isRootList ) {\n\t\treturn;\n\t}\n\tconst styleName = `${ isStackedHorizontally }-${ horizontalAlignment }`;\n\tif ( stylesMemo[ styleName ] ) {\n\t\treturn stylesMemo[ styleName ];\n\t}\n\tconst computedStyles = [\n\t\tisStackedHorizontally && styles.horizontal,\n\t\thorizontalAlignment && styles[ `is-aligned-${ horizontalAlignment }` ],\n\t\tstyles.overflowVisible,\n\t];\n\tstylesMemo[ styleName ] = computedStyles;\n\treturn computedStyles;\n};\n\nexport class BlockList extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.extraData = {\n\t\t\tparentWidth: this.props.parentWidth,\n\t\t\trenderFooterAppender: this.props.renderFooterAppender,\n\t\t\trenderAppender: this.props.renderAppender,\n\t\t\tonDeleteBlock: this.props.onDeleteBlock,\n\t\t\tcontentStyle: this.props.contentStyle,\n\t\t};\n\t\tthis.renderItem = this.renderItem.bind( this );\n\t\tthis.renderBlockListFooter = this.renderBlockListFooter.bind( this );\n\t\tthis.onCaretVerticalPositionChange = this.onCaretVerticalPositionChange.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.scrollViewInnerRef = this.scrollViewInnerRef.bind( this );\n\t\tthis.addBlockToEndOfPost = this.addBlockToEndOfPost.bind( this );\n\t\tthis.shouldFlatListPreventAutomaticScroll = this.shouldFlatListPreventAutomaticScroll.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.shouldShowInnerBlockAppender = this.shouldShowInnerBlockAppender.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.renderEmptyList = this.renderEmptyList.bind( this );\n\t\tthis.getExtraData = this.getExtraData.bind( this );\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\n\t\tthis.state = {\n\t\t\tblockWidth: this.props.blockWidth || 0,\n\t\t};\n\t}\n\n\taddBlockToEndOfPost( newBlock ) {\n\t\tthis.props.insertBlock( newBlock, this.props.blockCount );\n\t}\n\n\tonCaretVerticalPositionChange( targetId, caretY, previousCaretY ) {\n\t\tKeyboardAwareFlatList.handleCaretVerticalPositionChange(\n\t\t\tthis.scrollViewRef,\n\t\t\ttargetId,\n\t\t\tcaretY,\n\t\t\tpreviousCaretY\n\t\t);\n\t}\n\n\tscrollViewInnerRef( ref ) {\n\t\tthis.scrollViewRef = ref;\n\t}\n\n\tshouldFlatListPreventAutomaticScroll() {\n\t\treturn this.props.isBlockInsertionPointVisible;\n\t}\n\n\tshouldShowInnerBlockAppender() {\n\t\tconst { blockClientIds, renderAppender } = this.props;\n\t\treturn renderAppender && blockClientIds.length > 0;\n\t}\n\n\trenderEmptyList() {\n\t\treturn (\n\t\t\t<EmptyListComponentCompose\n\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\trenderFooterAppender={ this.props.renderFooterAppender }\n\t\t\t/>\n\t\t);\n\t}\n\n\tgetExtraData() {\n\t\tconst {\n\t\t\tparentWidth,\n\t\t\trenderFooterAppender,\n\t\t\tonDeleteBlock,\n\t\t\tcontentStyle,\n\t\t\trenderAppender,\n\t\t\tgridProperties,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\t\tif (\n\t\t\tthis.extraData.parentWidth !== parentWidth ||\n\t\t\tthis.extraData.renderFooterAppender !== renderFooterAppender ||\n\t\t\tthis.extraData.onDeleteBlock !== onDeleteBlock ||\n\t\t\tthis.extraData.contentStyle !== contentStyle ||\n\t\t\tthis.extraData.renderAppender !== renderAppender ||\n\t\t\tthis.extraData.blockWidth !== blockWidth ||\n\t\t\tthis.extraData.gridProperties !== gridProperties\n\t\t) {\n\t\t\tthis.extraData = {\n\t\t\t\tparentWidth,\n\t\t\t\trenderFooterAppender,\n\t\t\t\tonDeleteBlock,\n\t\t\t\tcontentStyle,\n\t\t\t\trenderAppender,\n\t\t\t\tblockWidth,\n\t\t\t\tgridProperties,\n\t\t\t};\n\t\t}\n\t\treturn this.extraData;\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst { blockWidth } = this.state;\n\t\tconst { isRootList, maxWidth } = this.props;\n\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( isRootList && blockWidth !== layoutWidth ) {\n\t\t\tthis.setState( {\n\t\t\t\tblockWidth: Math.min( layoutWidth, maxWidth ),\n\t\t\t} );\n\t\t} else if ( ! isRootList && ! blockWidth ) {\n\t\t\tthis.setState( { blockWidth: Math.min( layoutWidth, maxWidth ) } );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { isRootList } = this.props;\n\t\t// Use of Context to propagate the main scroll ref to its children e.g InnerBlocks\n\t\tconst blockList = isRootList ? (\n\t\t\t<BlockListContext.Provider value={ this.scrollViewRef }>\n\t\t\t\t{ this.renderList() }\n\t\t\t</BlockListContext.Provider>\n\t\t) : (\n\t\t\t<BlockListContext.Consumer>\n\t\t\t\t{ ( ref ) =>\n\t\t\t\t\tthis.renderList( {\n\t\t\t\t\t\tparentScrollRef: ref,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t</BlockListContext.Consumer>\n\t\t);\n\n\t\treturn (\n\t\t\t<OnCaretVerticalPositionChange.Provider\n\t\t\t\tvalue={ this.onCaretVerticalPositionChange }\n\t\t\t>\n\t\t\t\t{ blockList }\n\t\t\t</OnCaretVerticalPositionChange.Provider>\n\t\t);\n\t}\n\n\trenderList( extraProps = {} ) {\n\t\tconst {\n\t\t\tclearSelectedBlock,\n\t\t\tblockClientIds,\n\t\t\ttitle,\n\t\t\theader,\n\t\t\tisReadOnly,\n\t\t\tisRootList,\n\t\t\thorizontal,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t\tisFloatingToolbarVisible,\n\t\t\tisStackedHorizontally,\n\t\t\thorizontalAlignment,\n\t\t\tcontentResizeMode,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst { parentScrollRef } = extraProps;\n\n\t\tconst {\n\t\t\tblockToolbar,\n\t\t\tblockBorder,\n\t\t\theaderToolbar,\n\t\t\tfloatingToolbar,\n\t\t} = styles;\n\n\t\tconst containerStyle = {\n\t\t\tflex: isRootList ? 1 : 0,\n\t\t\t// We set negative margin in the parent to remove the edge spacing between parent block and child block in ineer blocks\n\t\t\tmarginVertical: isRootList ? 0 : -marginVertical,\n\t\t\tmarginHorizontal: isRootList ? 0 : -marginHorizontal,\n\t\t};\n\n\t\tconst isContentStretch = contentResizeMode === 'stretch';\n\t\tconst isMultiBlocks = blockClientIds.length > 1;\n\t\tconst { isWider } = alignmentHelpers;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ containerStyle }\n\t\t\t\tonAccessibilityEscape={ clearSelectedBlock }\n\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\ttestID=\"block-list-wrapper\"\n\t\t\t>\n\t\t\t\t<KeyboardAwareFlatList\n\t\t\t\t\t{ ...( Platform.OS === 'android'\n\t\t\t\t\t\t? { removeClippedSubviews: false }\n\t\t\t\t\t\t: {} ) } // Disable clipping on Android to fix focus losing. See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541\n\t\t\t\t\taccessibilityLabel=\"block-list\"\n\t\t\t\t\tautoScroll={ this.props.autoScroll }\n\t\t\t\t\tinnerRef={ ( ref ) => {\n\t\t\t\t\t\tthis.scrollViewInnerRef( parentScrollRef || ref );\n\t\t\t\t\t} }\n\t\t\t\t\textraScrollHeight={\n\t\t\t\t\t\tblockToolbar.height + blockBorder.width\n\t\t\t\t\t}\n\t\t\t\t\tinputAccessoryViewHeight={\n\t\t\t\t\t\theaderToolbar.height +\n\t\t\t\t\t\t( isFloatingToolbarVisible\n\t\t\t\t\t\t\t? floatingToolbar.height\n\t\t\t\t\t\t\t: 0 )\n\t\t\t\t\t}\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\tscrollViewStyle={ [\n\t\t\t\t\t\t{ flex: isRootList ? 1 : 0 },\n\t\t\t\t\t\t! isRootList && styles.overflowVisible,\n\t\t\t\t\t] }\n\t\t\t\t\textraData={ this.getExtraData() }\n\t\t\t\t\tscrollEnabled={ isRootList }\n\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\thorizontal && styles.horizontalContentContainer,\n\t\t\t\t\t\tisWider( blockWidth, 'medium' ) &&\n\t\t\t\t\t\t\t( isContentStretch && isMultiBlocks\n\t\t\t\t\t\t\t\t? styles.horizontalContentContainerStretch\n\t\t\t\t\t\t\t\t: styles.horizontalContentContainerCenter ),\n\t\t\t\t\t] }\n\t\t\t\t\tstyle={ getStyles(\n\t\t\t\t\t\tisRootList,\n\t\t\t\t\t\tisStackedHorizontally,\n\t\t\t\t\t\thorizontalAlignment\n\t\t\t\t\t) }\n\t\t\t\t\tdata={ blockClientIds }\n\t\t\t\t\tkeyExtractor={ identity }\n\t\t\t\t\trenderItem={ this.renderItem }\n\t\t\t\t\tshouldPreventAutomaticScroll={\n\t\t\t\t\t\tthis.shouldFlatListPreventAutomaticScroll\n\t\t\t\t\t}\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tListHeaderComponent={ header }\n\t\t\t\t\tListEmptyComponent={ ! isReadOnly && this.renderEmptyList }\n\t\t\t\t\tListFooterComponent={ this.renderBlockListFooter }\n\t\t\t\t/>\n\t\t\t\t{ this.shouldShowInnerBlockAppender() && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tmarginHorizontal:\n\t\t\t\t\t\t\t\tmarginHorizontal -\n\t\t\t\t\t\t\t\tstyles.innerAppender.marginLeft,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\t\trootClientId={ this.props.rootClientId }\n\t\t\t\t\t\t\trenderAppender={ this.props.renderAppender }\n\t\t\t\t\t\t\tshowSeparator\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderItem( { item: clientId } ) {\n\t\tconst {\n\t\t\tcontentResizeMode,\n\t\t\tcontentStyle,\n\t\t\tonAddBlock,\n\t\t\tonDeleteBlock,\n\t\t\trootClientId,\n\t\t\tisStackedHorizontally,\n\t\t\tblockClientIds,\n\t\t\tparentWidth,\n\t\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\t\tgridProperties,\n\t\t} = this.props;\n\t\tconst { blockWidth } = this.state;\n\t\treturn (\n\t\t\t<BlockListItem\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentResizeMode={ contentResizeMode }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tshouldShowInnerBlockAppender={\n\t\t\t\t\tthis.shouldShowInnerBlockAppender\n\t\t\t\t}\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\tgridProperties={ gridProperties }\n\t\t\t\titems={ blockClientIds }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderBlockListFooter() {\n\t\tconst paragraphBlock = createBlock( 'core/paragraph' );\n\t\tconst {\n\t\t\tisReadOnly,\n\t\t\twithFooter = true,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( ! isReadOnly && withFooter ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\taccessibilityLabel={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\ttestID={ __( 'Add paragraph block' ) }\n\t\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\t\tthis.addBlockToEndOfPost( paragraphBlock );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.blockListFooter } />\n\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t</>\n\t\t\t);\n\t\t} else if ( renderFooterAppender ) {\n\t\t\treturn renderFooterAppender();\n\t\t}\n\t\treturn null;\n\t}\n}\n\nexport default compose( [\n\twithSelect(\n\t\t( select, { rootClientId, orientation, filterInnerBlocks } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tlet blockClientIds = getBlockOrder( rootClientId );\n\t\t\t// Display only block which fulfill the condition in passed `filterInnerBlocks` function\n\t\t\tif ( filterInnerBlocks ) {\n\t\t\t\tblockClientIds = filterInnerBlocks( blockClientIds );\n\t\t\t}\n\n\t\t\tconst { maxWidth } = getSettings();\n\t\t\tconst isReadOnly = getSettings().readOnly;\n\n\t\t\tconst blockCount = getBlockCount();\n\t\t\tconst hasRootInnerBlocks = !! blockCount;\n\n\t\t\tconst isFloatingToolbarVisible =\n\t\t\t\t!! selectedBlockClientId && hasRootInnerBlocks;\n\t\t\treturn {\n\t\t\t\tblockClientIds,\n\t\t\t\tblockCount,\n\t\t\t\tisBlockInsertionPointVisible:\n\t\t\t\t\tPlatform.OS === 'ios' && isBlockInsertionPointVisible(),\n\t\t\t\tisReadOnly,\n\t\t\t\tisRootList: rootClientId === undefined,\n\t\t\t\tisFloatingToolbarVisible,\n\t\t\t\tisStackedHorizontally,\n\t\t\t\tmaxWidth,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { insertBlock, replaceBlock, clearSelectedBlock } = dispatch(\n\t\t\tblockEditorStore\n\t\t);\n\n\t\treturn {\n\t\t\tclearSelectedBlock,\n\t\t\tinsertBlock,\n\t\t\treplaceBlock,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( BlockList );\n\nclass EmptyListComponent extends Component {\n\trender() {\n\t\tconst {\n\t\t\tshouldShowInsertionPoint,\n\t\t\trootClientId,\n\t\t\trenderAppender,\n\t\t\trenderFooterAppender,\n\t\t} = this.props;\n\n\t\tif ( renderFooterAppender ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ styles.defaultAppender }>\n\t\t\t\t<ReadableContentView\n\t\t\t\t\talign={\n\t\t\t\t\t\trenderAppender\n\t\t\t\t\t\t\t? WIDE_ALIGNMENTS.alignments.full\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\tshowSeparator={ shouldShowInsertionPoint }\n\t\t\t\t\t/>\n\t\t\t\t</ReadableContentView>\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nconst EmptyListComponentCompose = compose( [\n\twithSelect( ( select, { rootClientId, orientation } ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockInsertionPointVisible,\n\t\t} = select( blockEditorStore );\n\n\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst blockInsertionPointIsVisible = isBlockInsertionPointVisible();\n\t\tconst shouldShowInsertionPoint =\n\t\t\t! isStackedHorizontally &&\n\t\t\tblockInsertionPointIsVisible &&\n\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t// if list is empty, show the insertion point (via the default appender)\n\t\t\t( blockClientIds.length === 0 ||\n\t\t\t\t// or if the insertion point is right before the denoted block\n\t\t\t\t! blockClientIds[ insertionPoint.index ] );\n\n\t\treturn {\n\t\t\tshouldShowInsertionPoint,\n\t\t};\n\t} ),\n] )( EmptyListComponent );\n"]}
|
|
@@ -8,7 +8,7 @@ import classnames from 'classnames';
|
|
|
8
8
|
|
|
9
9
|
import { useContext } from '@wordpress/element';
|
|
10
10
|
import { __, sprintf } from '@wordpress/i18n';
|
|
11
|
-
import { __unstableGetBlockProps as getBlockProps, getBlockType
|
|
11
|
+
import { __unstableGetBlockProps as getBlockProps, getBlockType } from '@wordpress/blocks';
|
|
12
12
|
import { useMergeRefs } from '@wordpress/compose';
|
|
13
13
|
import { useSelect } from '@wordpress/data';
|
|
14
14
|
import warning from '@wordpress/warning';
|
|
@@ -69,11 +69,11 @@ export function useBlockProps(props = {}, {
|
|
|
69
69
|
index,
|
|
70
70
|
mode,
|
|
71
71
|
name,
|
|
72
|
+
blockApiVersion,
|
|
72
73
|
blockTitle,
|
|
73
74
|
isPartOfSelection,
|
|
74
75
|
adjustScrolling,
|
|
75
|
-
enableAnimation
|
|
76
|
-
lightBlockWrapper
|
|
76
|
+
enableAnimation
|
|
77
77
|
} = useSelect(select => {
|
|
78
78
|
const {
|
|
79
79
|
getBlockRootClientId,
|
|
@@ -96,11 +96,11 @@ export function useBlockProps(props = {}, {
|
|
|
96
96
|
index: getBlockIndex(clientId, rootClientId),
|
|
97
97
|
mode: getBlockMode(clientId),
|
|
98
98
|
name: blockName,
|
|
99
|
-
|
|
99
|
+
blockApiVersion: (blockType === null || blockType === void 0 ? void 0 : blockType.apiVersion) || 1,
|
|
100
|
+
blockTitle: blockType === null || blockType === void 0 ? void 0 : blockType.title,
|
|
100
101
|
isPartOfSelection: isSelected || isPartOfMultiSelection,
|
|
101
102
|
adjustScrolling: isSelected || isFirstMultiSelectedBlock(clientId),
|
|
102
|
-
enableAnimation: !isTyping() && getGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD
|
|
103
|
-
lightBlockWrapper: blockType.apiVersion > 1 || hasBlockSupport(blockType, 'lightBlockWrapper', false)
|
|
103
|
+
enableAnimation: !isTyping() && getGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD
|
|
104
104
|
};
|
|
105
105
|
}, [clientId]); // translators: %s: Type of block (i.e. Text, Image etc)
|
|
106
106
|
|
|
@@ -115,7 +115,7 @@ export function useBlockProps(props = {}, {
|
|
|
115
115
|
})]);
|
|
116
116
|
const blockEditContext = useBlockEditContext(); // Ensures it warns only inside the `edit` implementation for the block.
|
|
117
117
|
|
|
118
|
-
if (
|
|
118
|
+
if (blockApiVersion < 2 && clientId === blockEditContext.clientId) {
|
|
119
119
|
typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? warning(`Block type "${name}" must support API version 2 or higher to work correctly with "useBlockProps" method.`) : void 0;
|
|
120
120
|
}
|
|
121
121
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"names":["classnames","useContext","__","sprintf","__unstableGetBlockProps","getBlockProps","getBlockType","hasBlockSupport","useMergeRefs","useSelect","warning","useMovingAnimation","BlockListBlockContext","useFocusFirstElement","useIsHovered","useBlockEditContext","useBlockClassNames","useBlockDefaultClassName","useBlockCustomClassName","useBlockMovingModeClassNames","useFocusHandler","useEventHandlers","useNavModeExit","useScrollIntoView","useBlockRefProvider","useMultiSelection","useIntersectionObserver","store","blockEditorStore","BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","index","mode","name","blockTitle","isPartOfSelection","adjustScrolling","enableAnimation","lightBlockWrapper","select","getBlockRootClientId","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","isSelected","isPartOfMultiSelection","blockName","rootClientId","blockType","title","apiVersion","blockLabel","htmlSuffix","mergedRefs","ref","triggerAnimationOnChange","blockEditContext","id","tabIndex","role","style","save"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useBlockClassNames } from './use-block-class-names';\nimport { useBlockDefaultClassName } from './use-block-default-class-name';\nimport { useBlockCustomClassName } from './use-block-custom-class-name';\nimport { useBlockMovingModeClassNames } from './use-block-moving-mode-class-names';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useMultiSelection } from './use-multi-selection';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst { clientId, className, wrapperProps = {}, isAligned } = useContext(\n\t\tBlockListBlockContext\n\t);\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockTitle,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t\tlightBlockWrapper,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId, rootClientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockTitle: blockType.title,\n\t\t\t\tisPartOfSelection: isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\tisSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! isTyping() &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t\tlightBlockWrapper:\n\t\t\t\t\tblockType.apiVersion > 1 ||\n\t\t\t\t\thasBlockSupport( blockType, 'lightBlockWrapper', false ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( clientId ),\n\t\t// Must happen after focus because we check for focus in the block.\n\t\tuseScrollIntoView( clientId ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseMultiSelection( clientId ),\n\t\tuseEventHandlers( clientId ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( ! lightBlockWrapper && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\ttabIndex: 0,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tclassName: classnames(\n\t\t\t// The wp-block className is important for editor styles.\n\t\t\tclassnames( 'block-editor-block-list__block', {\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t} ),\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tuseBlockClassNames( clientId ),\n\t\t\tuseBlockDefaultClassName( clientId ),\n\t\t\tuseBlockCustomClassName( clientId ),\n\t\t\tuseBlockMovingModeClassNames( clientId )\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"names":["classnames","useContext","__","sprintf","__unstableGetBlockProps","getBlockProps","getBlockType","useMergeRefs","useSelect","warning","useMovingAnimation","BlockListBlockContext","useFocusFirstElement","useIsHovered","useBlockEditContext","useBlockClassNames","useBlockDefaultClassName","useBlockCustomClassName","useBlockMovingModeClassNames","useFocusHandler","useEventHandlers","useNavModeExit","useScrollIntoView","useBlockRefProvider","useMultiSelection","useIntersectionObserver","store","blockEditorStore","BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","index","mode","name","blockApiVersion","blockTitle","isPartOfSelection","adjustScrolling","enableAnimation","select","getBlockRootClientId","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","isSelected","isPartOfMultiSelection","blockName","rootClientId","blockType","apiVersion","title","blockLabel","htmlSuffix","mergedRefs","ref","triggerAnimationOnChange","blockEditContext","id","tabIndex","role","style","save"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useBlockClassNames } from './use-block-class-names';\nimport { useBlockDefaultClassName } from './use-block-default-class-name';\nimport { useBlockCustomClassName } from './use-block-custom-class-name';\nimport { useBlockMovingModeClassNames } from './use-block-moving-mode-class-names';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useMultiSelection } from './use-multi-selection';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst { clientId, className, wrapperProps = {}, isAligned } = useContext(\n\t\tBlockListBlockContext\n\t);\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId, rootClientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tisPartOfSelection: isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\tisSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! isTyping() &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( clientId ),\n\t\t// Must happen after focus because we check for focus in the block.\n\t\tuseScrollIntoView( clientId ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseMultiSelection( clientId ),\n\t\tuseEventHandlers( clientId ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\ttabIndex: 0,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tclassName: classnames(\n\t\t\t// The wp-block className is important for editor styles.\n\t\t\tclassnames( 'block-editor-block-list__block', {\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t} ),\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tuseBlockClassNames( clientId ),\n\t\t\tuseBlockDefaultClassName( clientId ),\n\t\t\tuseBlockCustomClassName( clientId ),\n\t\t\tuseBlockMovingModeClassNames( clientId )\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useSelect } from '@wordpress/data';
|
|
5
|
-
import {
|
|
5
|
+
import { getBlockType } from '@wordpress/blocks';
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
@@ -25,22 +25,20 @@ export function useBlockCustomClassName(clientId) {
|
|
|
25
25
|
getBlockName,
|
|
26
26
|
getBlockAttributes
|
|
27
27
|
} = select(blockEditorStore);
|
|
28
|
-
const
|
|
29
|
-
className
|
|
30
|
-
} = getBlockAttributes(clientId);
|
|
28
|
+
const attributes = getBlockAttributes(clientId);
|
|
31
29
|
|
|
32
|
-
if (!className) {
|
|
30
|
+
if (!(attributes !== null && attributes !== void 0 && attributes.className)) {
|
|
33
31
|
return;
|
|
34
32
|
}
|
|
35
33
|
|
|
36
34
|
const blockType = getBlockType(getBlockName(clientId));
|
|
37
|
-
const hasLightBlockWrapper = blockType
|
|
35
|
+
const hasLightBlockWrapper = (blockType === null || blockType === void 0 ? void 0 : blockType.apiVersion) > 1;
|
|
38
36
|
|
|
39
37
|
if (!hasLightBlockWrapper) {
|
|
40
38
|
return;
|
|
41
39
|
}
|
|
42
40
|
|
|
43
|
-
return className;
|
|
41
|
+
return attributes.className;
|
|
44
42
|
}, [clientId]);
|
|
45
43
|
}
|
|
46
44
|
//# sourceMappingURL=use-block-custom-class-name.js.map
|
package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/use-block-custom-class-name.js"],"names":["useSelect","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/use-block-custom-class-name.js"],"names":["useSelect","getBlockType","store","blockEditorStore","useBlockCustomClassName","clientId","select","getBlockName","getBlockAttributes","attributes","className","blockType","hasLightBlockWrapper","apiVersion"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,YAAT,QAA6B,mBAA7B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,gBAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,uBAAT,CAAkCC,QAAlC,EAA6C;AACnD;AACA;AACA;AACA,SAAOL,SAAS,CACbM,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,YAAF;AAAgBC,MAAAA;AAAhB,QAAuCF,MAAM,CAClDH,gBADkD,CAAnD;AAGA,UAAMM,UAAU,GAAGD,kBAAkB,CAAEH,QAAF,CAArC;;AAEA,QAAK,EAAEI,UAAF,aAAEA,UAAF,eAAEA,UAAU,CAAEC,SAAd,CAAL,EAA+B;AAC9B;AACA;;AAED,UAAMC,SAAS,GAAGV,YAAY,CAAEM,YAAY,CAAEF,QAAF,CAAd,CAA9B;AACA,UAAMO,oBAAoB,GAAG,CAAAD,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEE,UAAX,IAAwB,CAArD;;AAEA,QAAK,CAAED,oBAAP,EAA8B;AAC7B;AACA;;AAED,WAAOH,UAAU,CAACC,SAAlB;AACA,GAnBc,EAoBf,CAAEL,QAAF,CApBe,CAAhB;AAsBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * Returns the custom class name if the block is a light block.\n *\n * @param {string} clientId The block client ID.\n *\n * @return {string} The custom class name.\n */\nexport function useBlockCustomClassName( clientId ) {\n\t// It's good for this to be a separate selector because it will be executed\n\t// on every attribute change, while the other selectors are not re-evaluated\n\t// as much.\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockName, getBlockAttributes } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\n\t\t\tif ( ! attributes?.className ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst blockType = getBlockType( getBlockName( clientId ) );\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\n\t\t\tif ( ! hasLightBlockWrapper ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn attributes.className;\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useSelect } from '@wordpress/data';
|
|
5
|
-
import {
|
|
5
|
+
import { getBlockType, getBlockDefaultClassName } from '@wordpress/blocks';
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
@@ -21,7 +21,7 @@ export function useBlockDefaultClassName(clientId) {
|
|
|
21
21
|
return useSelect(select => {
|
|
22
22
|
const name = select(blockEditorStore).getBlockName(clientId);
|
|
23
23
|
const blockType = getBlockType(name);
|
|
24
|
-
const hasLightBlockWrapper = blockType
|
|
24
|
+
const hasLightBlockWrapper = (blockType === null || blockType === void 0 ? void 0 : blockType.apiVersion) > 1;
|
|
25
25
|
|
|
26
26
|
if (!hasLightBlockWrapper) {
|
|
27
27
|
return;
|
package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/use-block-default-class-name.js"],"names":["useSelect","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/use-block-default-class-name.js"],"names":["useSelect","getBlockType","getBlockDefaultClassName","store","blockEditorStore","useBlockDefaultClassName","clientId","select","name","getBlockName","blockType","hasLightBlockWrapper","apiVersion"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,YAAT,EAAuBC,wBAAvB,QAAuD,mBAAvD;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,gBAA1C;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,wBAAT,CAAmCC,QAAnC,EAA8C;AACpD,SAAON,SAAS,CACbO,MAAF,IAAc;AACb,UAAMC,IAAI,GAAGD,MAAM,CAAEH,gBAAF,CAAN,CAA2BK,YAA3B,CAAyCH,QAAzC,CAAb;AACA,UAAMI,SAAS,GAAGT,YAAY,CAAEO,IAAF,CAA9B;AACA,UAAMG,oBAAoB,GAAG,CAAAD,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEE,UAAX,IAAwB,CAArD;;AAEA,QAAK,CAAED,oBAAP,EAA8B;AAC7B;AACA;;AAED,WAAOT,wBAAwB,CAAEM,IAAF,CAA/B;AACA,GAXc,EAYf,CAAEF,QAAF,CAZe,CAAhB;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { getBlockType, getBlockDefaultClassName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * Returns the default class name if the block is a light block and it supports\n * `className`.\n *\n * @param {string} clientId The block client ID.\n *\n * @return {string} The class name, e.g. `wp-block-paragraph`.\n */\nexport function useBlockDefaultClassName( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst name = select( blockEditorStore ).getBlockName( clientId );\n\t\t\tconst blockType = getBlockType( name );\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\n\t\t\tif ( ! hasLightBlockWrapper ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn getBlockDefaultClassName( name );\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"]}
|
|
@@ -147,12 +147,27 @@ export function useMultiSelection(clientId) {
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
if (event.shiftKey) {
|
|
150
|
-
const blockSelectionStart = getBlockSelectionStart();
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
150
|
+
const blockSelectionStart = getBlockSelectionStart(); // By checking `blockSelectionStart` to be set, we handle the
|
|
151
|
+
// case where we select a single block. We also have to check
|
|
152
|
+
// the selectionEnd (clientId) not to be included in the
|
|
153
|
+
// `blockSelectionStart`'s parents because the click event is
|
|
154
|
+
// propagated.
|
|
155
|
+
|
|
156
|
+
const startParents = getBlockParents(blockSelectionStart);
|
|
157
|
+
|
|
158
|
+
if (blockSelectionStart && blockSelectionStart !== clientId && !(startParents !== null && startParents !== void 0 && startParents.includes(clientId))) {
|
|
159
|
+
const startPath = [...startParents, blockSelectionStart];
|
|
160
|
+
const endPath = [...getBlockParents(clientId), clientId];
|
|
161
|
+
const depth = Math.min(startPath.length, endPath.length) - 1;
|
|
162
|
+
const start = startPath[depth];
|
|
163
|
+
const end = endPath[depth]; // Handle the case of having selected a parent block and
|
|
164
|
+
// then sfift+click on a child.
|
|
165
|
+
|
|
166
|
+
if (start !== end) {
|
|
167
|
+
toggleRichText(node, false);
|
|
168
|
+
multiSelect(start, end);
|
|
169
|
+
event.preventDefault();
|
|
170
|
+
}
|
|
156
171
|
}
|
|
157
172
|
} else if (hasMultiSelection()) {
|
|
158
173
|
// Allow user to escape out of a multi-selection to a
|