@wordpress/block-editor 11.8.0 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +16 -4
- package/build/components/block-controls/slot.js +12 -4
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js +10 -1
- package/build/components/block-controls/slot.native.js.map +1 -1
- package/build/components/block-draggable/index.js +11 -7
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.js +2 -2
- package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
- package/build/components/block-info-slot-fill/index.js +47 -0
- package/build/components/block-info-slot-fill/index.js.map +1 -0
- package/build/components/block-inspector/index.js +4 -2
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.native.js +15 -7
- package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build/components/block-list/block-list-item-cell.native.js +15 -2
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +158 -195
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-outline.native.js +57 -0
- package/build/components/block-list/block-outline.native.js.map +1 -0
- package/build/components/block-list/block.native.js +343 -300
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.native.js +202 -298
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/insertion-point.native.js +4 -2
- package/build/components/block-list/insertion-point.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +8 -10
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +15 -4
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +2 -1
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +40 -11
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +8 -30
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +3 -2
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/editor-styles/index.js +4 -3
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +21 -14
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +86 -0
- package/build/components/global-styles/advanced-panel.js.map +1 -0
- package/build/components/global-styles/border-panel.js +2 -32
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +16 -13
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.native.js +174 -0
- package/build/components/global-styles/color-panel.native.js.map +1 -0
- package/build/components/global-styles/dimensions-panel.js +12 -12
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +1 -1
- package/build/components/global-styles/effects-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +78 -14
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +1 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +24 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +10 -10
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +114 -81
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +30 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +24 -8
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/index.js +7 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +12 -7
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/index.js +2 -1
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +5 -0
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inspector-controls/fill.js +1 -1
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +1 -1
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/groups.js +2 -0
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls/slot.js +3 -6
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +1 -1
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +2 -0
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/line-height-control/index.js +7 -2
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/use-internal-input-value.js +9 -8
- package/build/components/link-control/use-internal-input-value.js.map +1 -1
- package/build/components/list-view/block-contents.js +7 -2
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +9 -3
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +16 -25
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +37 -10
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js +38 -18
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +2 -1
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +1 -1
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +163 -11
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/media-placeholder/index.js +68 -7
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +5 -5
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js +2 -2
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +12 -4
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/off-canvas-editor/appender.js +2 -7
- package/build/components/off-canvas-editor/appender.js.map +1 -1
- package/build/components/off-canvas-editor/leaf-more-menu.js +3 -1
- package/build/components/off-canvas-editor/leaf-more-menu.js.map +1 -1
- package/build/components/preview-options/index.js +6 -1
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/spacing-sizes-control/spacing-input-control.js +1 -1
- package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build/components/url-input/index.js +1 -2
- package/build/components/url-input/index.js.map +1 -1
- package/build/hooks/align.js +1 -1
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/border.js +1 -1
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +1 -1
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +8 -12
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/duotone.js +29 -4
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/index.native.js +8 -0
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout.js +2 -2
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +1 -1
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +1 -1
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/use-editor-wrapper-styles.native.js +255 -0
- package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -0
- package/build/hooks/use-typography-props.js +14 -10
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/utils.js +15 -3
- package/build/hooks/utils.js.map +1 -1
- package/build/index.native.js +31 -0
- package/build/index.native.js.map +1 -0
- package/build/private-apis.js +10 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +7 -0
- package/build/store/actions.js.map +1 -1
- package/build/utils/object.js +5 -5
- package/build/utils/object.js.map +1 -1
- package/build/utils/transform-styles/index.js +2 -2
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build/utils/use-should-contextual-toolbar-show.js +72 -0
- package/build/utils/use-should-contextual-toolbar-show.js.map +1 -0
- package/build-module/components/block-controls/slot.js +11 -4
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-controls/slot.native.js +9 -1
- package/build-module/components/block-controls/slot.native.js.map +1 -1
- package/build-module/components/block-draggable/index.js +10 -6
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.js +2 -2
- package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
- package/build-module/components/block-info-slot-fill/index.js +34 -0
- package/build-module/components/block-info-slot-fill/index.js.map +1 -0
- package/build-module/components/block-inspector/index.js +3 -2
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js +16 -8
- package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item-cell.native.js +13 -2
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +160 -190
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js +44 -0
- package/build-module/components/block-list/block-outline.native.js.map +1 -0
- package/build-module/components/block-list/block.native.js +341 -299
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.native.js +203 -293
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/insertion-point.native.js +4 -2
- package/build-module/components/block-list/insertion-point.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +8 -9
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +13 -5
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +2 -1
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +37 -11
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +8 -29
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +3 -2
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/editor-styles/index.js +4 -3
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +21 -14
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +74 -0
- package/build-module/components/global-styles/advanced-panel.js.map +1 -0
- package/build-module/components/global-styles/border-panel.js +2 -32
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +18 -15
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.native.js +150 -0
- package/build-module/components/global-styles/color-panel.native.js.map +1 -0
- package/build-module/components/global-styles/dimensions-panel.js +13 -13
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +2 -2
- package/build-module/components/global-styles/effects-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +78 -16
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +1 -2
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +3 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +11 -11
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +112 -81
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +25 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +24 -8
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/index.js +1 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +12 -6
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/index.js +2 -1
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +4 -0
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +1 -1
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +1 -1
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js +2 -0
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +4 -7
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js +1 -1
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +2 -0
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/line-height-control/index.js +7 -2
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/use-internal-input-value.js +9 -8
- package/build-module/components/link-control/use-internal-input-value.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +7 -3
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +9 -3
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +18 -26
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +36 -10
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +39 -19
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +2 -1
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +1 -1
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +160 -11
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +66 -7
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +5 -5
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +2 -2
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +12 -4
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/appender.js +1 -5
- package/build-module/components/off-canvas-editor/appender.js.map +1 -1
- package/build-module/components/off-canvas-editor/leaf-more-menu.js +3 -1
- package/build-module/components/off-canvas-editor/leaf-more-menu.js.map +1 -1
- package/build-module/components/preview-options/index.js +7 -2
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/spacing-input-control.js +1 -1
- package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/index.js +1 -2
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/hooks/align.js +1 -1
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/border.js +1 -1
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +1 -1
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +8 -11
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/duotone.js +28 -5
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/index.native.js +1 -0
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout.js +2 -2
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +1 -1
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +1 -1
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/use-editor-wrapper-styles.native.js +242 -0
- package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -0
- package/build-module/hooks/use-typography-props.js +14 -10
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/utils.js +16 -4
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/index.native.js +6 -0
- package/build-module/index.native.js.map +1 -0
- package/build-module/private-apis.js +7 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +7 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/object.js +4 -4
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +2 -2
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-module/utils/use-should-contextual-toolbar-show.js +60 -0
- package/build-module/utils/use-should-contextual-toolbar-show.js.map +1 -0
- package/build-style/content-rtl.css +9 -7
- package/build-style/content.css +9 -7
- package/build-style/style-rtl.css +257 -56
- package/build-style/style.css +257 -56
- package/package.json +32 -32
- package/src/components/block-breadcrumb/style.scss +2 -1
- package/src/components/block-controls/slot.js +8 -4
- package/src/components/block-controls/slot.native.js +6 -1
- package/src/components/block-draggable/index.js +10 -6
- package/src/components/block-draggable/use-scroll-when-dragging.js +8 -2
- package/src/components/block-info-slot-fill/index.js +24 -0
- package/src/components/block-inspector/index.js +3 -0
- package/src/components/block-list/block-invalid-warning.native.js +17 -9
- package/src/components/block-list/block-list-item-cell.native.js +10 -1
- package/src/components/block-list/block-list-item.native.js +180 -208
- package/src/components/block-list/block-outline.native.js +58 -0
- package/src/components/block-list/block.native.js +564 -524
- package/src/components/block-list/content.scss +16 -16
- package/src/components/block-list/index.native.js +229 -298
- package/src/components/block-list/insertion-point.native.js +2 -2
- package/src/components/block-list/test/block-invalid-warning.native.js +48 -0
- package/src/components/block-list/test/index.native.js +205 -0
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +3 -1
- package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +9 -9
- package/src/components/block-mover/style.scss +10 -4
- package/src/components/block-mover/test/index.native.js +4 -4
- package/src/components/block-pattern-setup/style.scss +1 -4
- package/src/components/block-patterns-list/style.scss +1 -4
- package/src/components/block-settings-menu/block-settings-dropdown.js +10 -17
- package/src/components/block-settings-menu-controls/index.js +24 -4
- package/src/components/block-styles/style.scss +4 -4
- package/src/components/block-toolbar/index.js +4 -3
- package/src/components/block-toolbar/style.scss +56 -33
- package/src/components/block-tools/block-contextual-toolbar.js +64 -15
- package/src/components/block-tools/selected-block-popover.js +11 -46
- package/src/components/block-tools/style.scss +165 -3
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +16 -2
- package/src/components/editor-styles/index.js +9 -5
- package/src/components/font-sizes/fluid-utils.js +31 -14
- package/src/components/font-sizes/test/fluid-utils.js +5 -16
- package/src/components/global-styles/advanced-panel.js +82 -0
- package/src/components/global-styles/border-panel.js +1 -30
- package/src/components/global-styles/color-panel.js +19 -14
- package/src/components/global-styles/color-panel.native.js +207 -0
- package/src/components/global-styles/dimensions-panel.js +23 -13
- package/src/components/global-styles/effects-panel.js +2 -2
- package/src/components/global-styles/filters-panel.js +90 -17
- package/src/components/global-styles/hooks.js +1 -5
- package/src/components/global-styles/index.js +6 -1
- package/src/components/global-styles/style.scss +16 -1
- package/src/components/global-styles/test/typography-utils.js +63 -22
- package/src/components/global-styles/test/use-global-styles-output.js +126 -4
- package/src/components/global-styles/test/utils.js +57 -1
- package/src/components/global-styles/typography-panel.js +38 -12
- package/src/components/global-styles/use-global-styles-output.js +85 -67
- package/src/components/global-styles/utils.js +27 -0
- package/src/components/image-editor/use-save-image.js +20 -9
- package/src/components/index.js +1 -0
- package/src/components/inserter/block-types-tab.js +9 -6
- package/src/components/inserter/index.js +1 -1
- package/src/components/inserter-draggable-blocks/index.js +4 -0
- package/src/components/inspector-controls/fill.js +1 -1
- package/src/components/inspector-controls/fill.native.js +1 -1
- package/src/components/inspector-controls/groups.js +2 -0
- package/src/components/inspector-controls/slot.js +4 -9
- package/src/components/inspector-controls/slot.native.js +1 -1
- package/src/components/inspector-controls-tabs/styles-tab.js +1 -0
- package/src/components/line-height-control/index.js +7 -2
- package/src/components/line-height-control/stories/index.js +1 -1
- package/src/components/link-control/test/index.js +42 -0
- package/src/components/link-control/use-internal-input-value.js +8 -7
- package/src/components/list-view/block-contents.js +26 -20
- package/src/components/list-view/block-select-button.js +11 -2
- package/src/components/list-view/block.js +28 -33
- package/src/components/list-view/drop-indicator.js +67 -22
- package/src/components/list-view/index.js +33 -14
- package/src/components/list-view/leaf.js +1 -0
- package/src/components/list-view/style.scss +18 -3
- package/src/components/list-view/test/use-list-view-drop-zone.js +88 -12
- package/src/components/list-view/use-block-selection.js +1 -1
- package/src/components/list-view/use-list-view-drop-zone.js +194 -11
- package/src/components/media-placeholder/index.js +74 -1
- package/src/components/media-replace-flow/README.md +3 -2
- package/src/components/media-replace-flow/index.js +4 -5
- package/src/components/multi-selection-inspector/index.js +2 -2
- package/src/components/navigable-toolbar/index.js +12 -3
- package/src/components/off-canvas-editor/appender.js +1 -4
- package/src/components/off-canvas-editor/leaf-more-menu.js +2 -1
- package/src/components/preview-options/index.js +9 -2
- package/src/components/spacing-sizes-control/spacing-input-control.js +1 -0
- package/src/components/url-input/index.js +1 -2
- package/src/components/url-popover/test/__snapshots__/index.js.snap +3 -3
- package/src/hooks/align.js +2 -1
- package/src/hooks/border.js +2 -1
- package/src/hooks/color.js +2 -1
- package/src/hooks/content-lock-ui.js +3 -15
- package/src/hooks/duotone.js +47 -25
- package/src/hooks/index.native.js +1 -0
- package/src/hooks/layout.js +4 -2
- package/src/hooks/position.js +2 -1
- package/src/hooks/style.js +2 -1
- package/src/hooks/test/anchor.js +113 -0
- package/src/hooks/test/color.js +0 -9
- package/src/hooks/test/use-editor-wrapper-styles.native.js +282 -0
- package/src/hooks/test/use-typography-props.js +49 -4
- package/src/hooks/test/utils.js +20 -101
- package/src/hooks/use-editor-wrapper-styles.native.js +250 -0
- package/src/hooks/use-editor-wrapper-styles.native.scss +11 -0
- package/src/hooks/use-typography-props.js +10 -11
- package/src/hooks/utils.js +20 -3
- package/src/index.native.js +6 -0
- package/src/private-apis.js +6 -0
- package/src/store/actions.js +7 -0
- package/src/utils/object.js +4 -4
- package/src/utils/test/object.js +21 -21
- package/src/utils/transform-styles/index.js +2 -2
- package/src/utils/use-should-contextual-toolbar-show.js +85 -0
- package/tsconfig.json +2 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/hooks/color-panel.native.js +0 -77
- package/build/hooks/color-panel.native.js.map +0 -1
- package/build-module/hooks/color-panel.native.js +0 -62
- package/build-module/hooks/color-panel.native.js.map +0 -1
- package/src/hooks/color-panel.native.js +0 -63
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 12.1.0 (2023-05-10)
|
|
6
|
+
|
|
7
|
+
- `MediaPlaceholder`: Remove the undocumented `onHTMLDrop` prop ([#49673](https://github.com/WordPress/gutenberg/pull/49673)).
|
|
8
|
+
|
|
9
|
+
## 12.0.0 (2023-04-26)
|
|
10
|
+
|
|
11
|
+
### Breaking Changes
|
|
12
|
+
|
|
13
|
+
- Renamed utility function `immutableSet` to `setImmutably` ([#50040](https://github.com/WordPress/gutenberg/pull/50040)).
|
|
14
|
+
|
|
5
15
|
## 11.8.0 (2023-04-12)
|
|
6
16
|
|
|
7
17
|
## 11.7.0 (2023-03-29)
|
package/README.md
CHANGED
|
@@ -398,7 +398,7 @@ _Returns_
|
|
|
398
398
|
|
|
399
399
|
Computes a fluid font-size value that uses clamp(). A minimum and maximum font size OR a single font size can be specified.
|
|
400
400
|
|
|
401
|
-
If a single font size is specified, it is scaled up and down
|
|
401
|
+
If a single font size is specified, it is scaled up and down using a logarithmic scale.
|
|
402
402
|
|
|
403
403
|
_Usage_
|
|
404
404
|
|
|
@@ -423,13 +423,25 @@ _Parameters_
|
|
|
423
423
|
- _args.maximumFontSize_ `?string`: Maximum font size for any clamp() calculation. Optional.
|
|
424
424
|
- _args.minimumFontSize_ `?string`: Minimum font size for any clamp() calculation. Optional.
|
|
425
425
|
- _args.scaleFactor_ `?number`: A scale factor to determine how fast a font scales within boundaries. Optional.
|
|
426
|
-
- _args.minimumFontSizeFactor_ `?number`: How much to scale defaultFontSize by to derive minimumFontSize. Optional.
|
|
427
426
|
- _args.minimumFontSizeLimit_ `?string`: The smallest a calculated font size may be. Optional.
|
|
428
427
|
|
|
429
428
|
_Returns_
|
|
430
429
|
|
|
431
430
|
- `string|null`: A font-size value using clamp().
|
|
432
431
|
|
|
432
|
+
### getCustomValueFromPreset
|
|
433
|
+
|
|
434
|
+
Converts a spacing preset into a custom value.
|
|
435
|
+
|
|
436
|
+
_Parameters_
|
|
437
|
+
|
|
438
|
+
- _value_ `string`: Value to convert
|
|
439
|
+
- _spacingSizes_ `Array`: Array of the current spacing preset objects
|
|
440
|
+
|
|
441
|
+
_Returns_
|
|
442
|
+
|
|
443
|
+
- `string`: Mapping of the spacing preset to its equivalent custom value.
|
|
444
|
+
|
|
433
445
|
### getFontSize
|
|
434
446
|
|
|
435
447
|
Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values. If namedFontSize is undefined or not found in fontSizes an object with just the size value based on customFontSize is returned.
|
|
@@ -527,7 +539,7 @@ Provides the CSS class names and inline styles for a block's typography support
|
|
|
527
539
|
_Parameters_
|
|
528
540
|
|
|
529
541
|
- _attributes_ `Object`: Block attributes.
|
|
530
|
-
-
|
|
542
|
+
- _settings_ `Object|boolean`: Merged theme.json settings
|
|
531
543
|
|
|
532
544
|
_Returns_
|
|
533
545
|
|
|
@@ -735,7 +747,7 @@ Applies a series of CSS rule transforms to wrap selectors inside a given class a
|
|
|
735
747
|
|
|
736
748
|
_Parameters_
|
|
737
749
|
|
|
738
|
-
- _styles_ `Array`: CSS rules.
|
|
750
|
+
- _styles_ `Object|Array`: CSS rules.
|
|
739
751
|
- _wrapperClassName_ `string`: Wrapper Class Name.
|
|
740
752
|
|
|
741
753
|
_Returns_
|
|
@@ -13,6 +13,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
13
|
|
|
14
14
|
var _components = require("@wordpress/components");
|
|
15
15
|
|
|
16
|
+
var _warning = _interopRequireDefault(require("@wordpress/warning"));
|
|
17
|
+
|
|
16
18
|
var _groups = _interopRequireDefault(require("./groups"));
|
|
17
19
|
|
|
18
20
|
/**
|
|
@@ -23,16 +25,22 @@ var _groups = _interopRequireDefault(require("./groups"));
|
|
|
23
25
|
* Internal dependencies
|
|
24
26
|
*/
|
|
25
27
|
function BlockControlsSlot(_ref) {
|
|
28
|
+
var _groups$group;
|
|
29
|
+
|
|
26
30
|
let {
|
|
27
31
|
group = 'default',
|
|
28
32
|
...props
|
|
29
33
|
} = _ref;
|
|
30
34
|
const accessibleToolbarState = (0, _element.useContext)(_components.__experimentalToolbarContext);
|
|
31
|
-
const Slot = _groups.default[group].Slot;
|
|
32
|
-
const fills = (0, _components.__experimentalUseSlotFills)(Slot.__unstableName);
|
|
33
|
-
|
|
35
|
+
const Slot = (_groups$group = _groups.default[group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Slot;
|
|
36
|
+
const fills = (0, _components.__experimentalUseSlotFills)(Slot === null || Slot === void 0 ? void 0 : Slot.__unstableName);
|
|
37
|
+
|
|
38
|
+
if (!Slot) {
|
|
39
|
+
typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? (0, _warning.default)(`Unknown BlockControls group "${group}" provided.`) : void 0;
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
34
42
|
|
|
35
|
-
if (!
|
|
43
|
+
if (!(fills !== null && fills !== void 0 && fills.length)) {
|
|
36
44
|
return null;
|
|
37
45
|
}
|
|
38
46
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-controls/slot.js"],"names":["BlockControlsSlot","group","props","accessibleToolbarState","ToolbarContext","Slot","groups","fills","__unstableName","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-controls/slot.js"],"names":["BlockControlsSlot","group","props","accessibleToolbarState","ToolbarContext","Slot","groups","fills","__unstableName","length"],"mappings":";;;;;;;;;AAGA;;;;AACA;;AAKA;;AAKA;;AAdA;AACA;AACA;;AASA;AACA;AACA;AAGe,SAASA,iBAAT,OAA8D;AAAA;;AAAA,MAAlC;AAAEC,IAAAA,KAAK,GAAG,SAAV;AAAqB,OAAGC;AAAxB,GAAkC;AAC5E,QAAMC,sBAAsB,GAAG,yBAAYC,wCAAZ,CAA/B;AACA,QAAMC,IAAI,oBAAGC,gBAAQL,KAAR,CAAH,kDAAG,cAAiBI,IAA9B;AACA,QAAME,KAAK,GAAG,4CAAcF,IAAd,aAAcA,IAAd,uBAAcA,IAAI,CAAEG,cAApB,CAAd;;AACA,MAAK,CAAEH,IAAP,EAAc;AACb,mHAAU,gCAAgCJ,KAAO,aAAjD;AACA,WAAO,IAAP;AACA;;AAED,MAAK,EAAEM,KAAF,aAAEA,KAAF,eAAEA,KAAK,CAAEE,MAAT,CAAL,EAAuB;AACtB,WAAO,IAAP;AACA;;AAED,MAAKR,KAAK,KAAK,SAAf,EAA2B;AAC1B,WACC,4BAAC,IAAD,6BACMC,KADN;AAEC,MAAA,gBAAgB,MAFjB;AAGC,MAAA,SAAS,EAAGC;AAHb,OADD;AAOA;;AAED,SACC,4BAAC,wBAAD,QACC,4BAAC,IAAD,6BACMD,KADN;AAEC,IAAA,gBAAgB,MAFjB;AAGC,IAAA,SAAS,EAAGC;AAHb,KADD,CADD;AASA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport {\n\t__experimentalToolbarContext as ToolbarContext,\n\tToolbarGroup,\n\t__experimentalUseSlotFills as useSlotFills,\n} from '@wordpress/components';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport groups from './groups';\n\nexport default function BlockControlsSlot( { group = 'default', ...props } ) {\n\tconst accessibleToolbarState = useContext( ToolbarContext );\n\tconst Slot = groups[ group ]?.Slot;\n\tconst fills = useSlotFills( Slot?.__unstableName );\n\tif ( ! Slot ) {\n\t\twarning( `Unknown BlockControls group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\n\tif ( ! fills?.length ) {\n\t\treturn null;\n\t}\n\n\tif ( group === 'default' ) {\n\t\treturn (\n\t\t\t<Slot\n\t\t\t\t{ ...props }\n\t\t\t\tbubblesVirtually\n\t\t\t\tfillProps={ accessibleToolbarState }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<Slot\n\t\t\t\t{ ...props }\n\t\t\t\tbubblesVirtually\n\t\t\t\tfillProps={ accessibleToolbarState }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n}\n"]}
|
|
@@ -13,6 +13,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
13
|
|
|
14
14
|
var _components = require("@wordpress/components");
|
|
15
15
|
|
|
16
|
+
var _warning = _interopRequireDefault(require("@wordpress/warning"));
|
|
17
|
+
|
|
16
18
|
var _groups = _interopRequireDefault(require("./groups"));
|
|
17
19
|
|
|
18
20
|
/**
|
|
@@ -23,12 +25,19 @@ var _groups = _interopRequireDefault(require("./groups"));
|
|
|
23
25
|
* Internal dependencies
|
|
24
26
|
*/
|
|
25
27
|
function BlockControlsSlot(_ref) {
|
|
28
|
+
var _groups$group;
|
|
29
|
+
|
|
26
30
|
let {
|
|
27
31
|
group = 'default',
|
|
28
32
|
...props
|
|
29
33
|
} = _ref;
|
|
30
34
|
const accessibleToolbarState = (0, _element.useContext)(_components.__experimentalToolbarContext);
|
|
31
|
-
const Slot = _groups.default[group].Slot;
|
|
35
|
+
const Slot = (_groups$group = _groups.default[group]) === null || _groups$group === void 0 ? void 0 : _groups$group.Slot;
|
|
36
|
+
|
|
37
|
+
if (!Slot) {
|
|
38
|
+
typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" ? (0, _warning.default)(`Unknown BlockControls group "${group}" provided.`) : void 0;
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
32
41
|
|
|
33
42
|
if (group === 'default') {
|
|
34
43
|
return (0, _element.createElement)(Slot, (0, _extends2.default)({}, props, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-controls/slot.native.js"],"names":["BlockControlsSlot","group","props","accessibleToolbarState","ToolbarContext","Slot","groups","fills","length"],"mappings":";;;;;;;;;AAGA;;;;AACA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-controls/slot.native.js"],"names":["BlockControlsSlot","group","props","accessibleToolbarState","ToolbarContext","Slot","groups","fills","length"],"mappings":";;;;;;;;;AAGA;;;;AACA;;AAIA;;AAKA;;AAbA;AACA;AACA;;AAQA;AACA;AACA;AAGe,SAASA,iBAAT,OAA8D;AAAA;;AAAA,MAAlC;AAAEC,IAAAA,KAAK,GAAG,SAAV;AAAqB,OAAGC;AAAxB,GAAkC;AAC5E,QAAMC,sBAAsB,GAAG,yBAAYC,wCAAZ,CAA/B;AACA,QAAMC,IAAI,oBAAGC,gBAAQL,KAAR,CAAH,kDAAG,cAAiBI,IAA9B;;AACA,MAAK,CAAEA,IAAP,EAAc;AACb,mHAAU,gCAAgCJ,KAAO,aAAjD;AACA,WAAO,IAAP;AACA;;AAED,MAAKA,KAAK,KAAK,SAAf,EAA2B;AAC1B,WAAO,4BAAC,IAAD,6BAAWC,KAAX;AAAmB,MAAA,SAAS,EAAGC;AAA/B,OAAP;AACA;;AAED,SACC,4BAAC,IAAD,6BAAWD,KAAX;AAAmB,IAAA,SAAS,EAAGC;AAA/B,MACKI,KAAF,IAAa;AACd,QAAK,CAAEA,KAAK,CAACC,MAAb,EAAsB;AACrB,aAAO,IAAP;AACA;;AACD,WAAO,4BAAC,wBAAD,QAAgBD,KAAhB,CAAP;AACA,GANF,CADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport {\n\t__experimentalToolbarContext as ToolbarContext,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport groups from './groups';\n\nexport default function BlockControlsSlot( { group = 'default', ...props } ) {\n\tconst accessibleToolbarState = useContext( ToolbarContext );\n\tconst Slot = groups[ group ]?.Slot;\n\tif ( ! Slot ) {\n\t\twarning( `Unknown BlockControls group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\n\tif ( group === 'default' ) {\n\t\treturn <Slot { ...props } fillProps={ accessibleToolbarState } />;\n\t}\n\n\treturn (\n\t\t<Slot { ...props } fillProps={ accessibleToolbarState }>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif ( ! fills.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn <ToolbarGroup>{ fills }</ToolbarGroup>;\n\t\t\t} }\n\t\t</Slot>\n\t);\n}\n"]}
|
|
@@ -87,13 +87,17 @@ const BlockDraggable = _ref => {
|
|
|
87
87
|
__experimentalTransferDataType: "wp-blocks",
|
|
88
88
|
transferData: transferData,
|
|
89
89
|
onDragStart: event => {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
90
|
+
// Defer hiding the dragged source element to the next
|
|
91
|
+
// frame to enable dragging.
|
|
92
|
+
window.requestAnimationFrame(() => {
|
|
93
|
+
startDraggingBlocks(clientIds);
|
|
94
|
+
isDragging.current = true;
|
|
95
|
+
startScrolling(event);
|
|
96
|
+
|
|
97
|
+
if (onDragStart) {
|
|
98
|
+
onDragStart();
|
|
99
|
+
}
|
|
100
|
+
});
|
|
97
101
|
},
|
|
98
102
|
onDragOver: scrollOnDragOver,
|
|
99
103
|
onDragEnd: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-draggable/index.js"],"names":["BlockDraggable","children","clientIds","cloneClassname","onDragStart","onDragEnd","srcRootClientId","isDraggable","icon","select","canMoveBlocks","getBlockRootClientId","getBlockName","blockEditorStore","rootClientId","blockName","isDragging","startScrolling","scrollOnDragOver","stopScrolling","startDraggingBlocks","stopDraggingBlocks","current","draggable","transferData","type","srcClientIds","event","length","onDraggableStart","onDraggableEnd"],"mappings":";;;;;;;;;AAMA;;AAHA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAbA;AACA;AACA;;AAMA;AACA;AACA;AAKA,MAAMA,cAAc,GAAG,QAMhB;AAAA,MANkB;AACxBC,IAAAA,QADwB;AAExBC,IAAAA,SAFwB;AAGxBC,IAAAA,cAHwB;AAIxBC,IAAAA,WAJwB;AAKxBC,IAAAA;AALwB,GAMlB;AACN,QAAM;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA,WAAnB;AAAgCC,IAAAA;AAAhC,MAAyC,qBAC5CC,MAAF,IAAc;AAAA;;AACb,UAAM;AAAEC,MAAAA,aAAF;AAAiBC,MAAAA,oBAAjB;AAAuCC,MAAAA;AAAvC,QACLH,MAAM,CAAEI,YAAF,CADP;AAEA,UAAMC,YAAY,GAAGH,oBAAoB,CAAET,SAAS,CAAE,CAAF,CAAX,CAAzC;AACA,UAAMa,SAAS,GAAGH,YAAY,CAAEV,SAAS,CAAE,CAAF,CAAX,CAA9B;AAEA,WAAO;AACNI,MAAAA,eAAe,EAAEQ,YADX;AAENP,MAAAA,WAAW,EAAEG,aAAa,CAAER,SAAF,EAAaY,YAAb,CAFpB;AAGNN,MAAAA,IAAI,mBAAE,0BAAcO,SAAd,CAAF,kDAAE,cAA2BP;AAH3B,KAAP;AAKA,GAZ6C,EAa9C,CAAEN,SAAF,CAb8C,CAA/C;AAeA,QAAMc,UAAU,GAAG,qBAAQ,KAAR,CAAnB;AACA,QAAM,CAAEC,cAAF,EAAkBC,gBAAlB,EAAoCC,aAApC,IACL,qCADD;AAGA,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MACL,uBAAaR,YAAb,CADD,CApBM,CAuBN;;AACA,0BAAW,MAAM;AAChB,WAAO,MAAM;AACZ,UAAKG,UAAU,CAACM,OAAhB,EAA0B;AACzBD,QAAAA,kBAAkB;AAClB;AACD,KAJD;AAKA,GAND,EAMG,EANH;;AAQA,MAAK,CAAEd,WAAP,EAAqB;AACpB,WAAON,QAAQ,CAAE;AAAEsB,MAAAA,SAAS,EAAE;AAAb,KAAF,CAAf;AACA;;AAED,QAAMC,YAAY,GAAG;AACpBC,IAAAA,IAAI,EAAE,OADc;AAEpBC,IAAAA,YAAY,EAAExB,SAFM;AAGpBI,IAAAA;AAHoB,GAArB;AAMA,SACC,4BAAC,qBAAD;AACC,IAAA,cAAc,EAAGH,cADlB;AAEC,IAAA,8BAA8B,EAAC,WAFhC;AAGC,IAAA,YAAY,EAAGqB,YAHhB;AAIC,IAAA,WAAW,EAAKG,KAAF,IAAa;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-draggable/index.js"],"names":["BlockDraggable","children","clientIds","cloneClassname","onDragStart","onDragEnd","srcRootClientId","isDraggable","icon","select","canMoveBlocks","getBlockRootClientId","getBlockName","blockEditorStore","rootClientId","blockName","isDragging","startScrolling","scrollOnDragOver","stopScrolling","startDraggingBlocks","stopDraggingBlocks","current","draggable","transferData","type","srcClientIds","event","window","requestAnimationFrame","length","onDraggableStart","onDraggableEnd"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { Draggable } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from './draggable-chip';\nimport useScrollWhenDragging from './use-scroll-when-dragging';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockDraggable = ( {\n\tchildren,\n\tclientIds,\n\tcloneClassname,\n\tonDragStart,\n\tonDragEnd,\n} ) => {\n\tconst { srcRootClientId, isDraggable, icon } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canMoveBlocks, getBlockRootClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\tconst blockName = getBlockName( clientIds[ 0 ] );\n\n\t\t\treturn {\n\t\t\t\tsrcRootClientId: rootClientId,\n\t\t\t\tisDraggable: canMoveBlocks( clientIds, rootClientId ),\n\t\t\t\ticon: getBlockType( blockName )?.icon,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst isDragging = useRef( false );\n\tconst [ startScrolling, scrollOnDragOver, stopScrolling ] =\n\t\tuseScrollWhenDragging();\n\n\tconst { startDraggingBlocks, stopDraggingBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Stop dragging blocks if the block draggable is unmounted.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( isDragging.current ) {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tif ( ! isDraggable ) {\n\t\treturn children( { draggable: false } );\n\t}\n\n\tconst transferData = {\n\t\ttype: 'block',\n\t\tsrcClientIds: clientIds,\n\t\tsrcRootClientId,\n\t};\n\n\treturn (\n\t\t<Draggable\n\t\t\tcloneClassname={ cloneClassname }\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ transferData }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t// Defer hiding the dragged source element to the next\n\t\t\t\t// frame to enable dragging.\n\t\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\t\tstartDraggingBlocks( clientIds );\n\t\t\t\t\tisDragging.current = true;\n\n\t\t\t\t\tstartScrolling( event );\n\n\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\tonDragStart();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonDragOver={ scrollOnDragOver }\n\t\t\tonDragEnd={ () => {\n\t\t\t\tstopDraggingBlocks();\n\t\t\t\tisDragging.current = false;\n\n\t\t\t\tstopScrolling();\n\n\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\tonDragEnd();\n\t\t\t\t}\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip count={ clientIds.length } icon={ icon } />\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\tonDragStart: onDraggableStart,\n\t\t\t\t\tonDragEnd: onDraggableEnd,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default BlockDraggable;\n"]}
|
|
@@ -64,13 +64,13 @@ function useScrollWhenDragging() {
|
|
|
64
64
|
// User is dragging downwards.
|
|
65
65
|
const moveableDistance = Math.max(scrollParentHeight - offsetDragStartPosition - SCROLL_INACTIVE_DISTANCE_PX, 0);
|
|
66
66
|
const dragDistance = Math.max(offsetDragPosition - offsetDragStartPosition - SCROLL_INACTIVE_DISTANCE_PX, 0);
|
|
67
|
-
const distancePercentage = dragDistance / moveableDistance;
|
|
67
|
+
const distancePercentage = moveableDistance === 0 || dragDistance === 0 ? 0 : dragDistance / moveableDistance;
|
|
68
68
|
velocityY.current = VELOCITY_MULTIPLIER * distancePercentage;
|
|
69
69
|
} else if (event.clientY < offsetDragStartPosition) {
|
|
70
70
|
// User is dragging upwards.
|
|
71
71
|
const moveableDistance = Math.max(offsetDragStartPosition - SCROLL_INACTIVE_DISTANCE_PX, 0);
|
|
72
72
|
const dragDistance = Math.max(offsetDragStartPosition - offsetDragPosition - SCROLL_INACTIVE_DISTANCE_PX, 0);
|
|
73
|
-
const distancePercentage = dragDistance / moveableDistance;
|
|
73
|
+
const distancePercentage = moveableDistance === 0 || dragDistance === 0 ? 0 : dragDistance / moveableDistance;
|
|
74
74
|
velocityY.current = -VELOCITY_MULTIPLIER * distancePercentage;
|
|
75
75
|
} else {
|
|
76
76
|
velocityY.current = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-draggable/use-scroll-when-dragging.js"],"names":["SCROLL_INACTIVE_DISTANCE_PX","SCROLL_INTERVAL_MS","PIXELS_PER_SECOND_PER_PERCENTAGE","VELOCITY_MULTIPLIER","useScrollWhenDragging","dragStartY","velocityY","scrollParentY","scrollEditorInterval","current","clearInterval","startScrolling","event","clientY","target","setInterval","newTop","scrollTop","scroll","top","scrollOnDragOver","scrollParentHeight","offsetHeight","offsetDragStartPosition","offsetTop","offsetDragPosition","moveableDistance","Math","max","dragDistance","distancePercentage","stopScrolling"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,MAAMA,2BAA2B,GAAG,EAApC;AACA,MAAMC,kBAAkB,GAAG,EAA3B;AACA,MAAMC,gCAAgC,GAAG,IAAzC;AACA,MAAMC,mBAAmB,GACxBD,gCAAgC,IAAKD,kBAAkB,GAAG,IAA1B,CADjC;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,SAASG,qBAAT,GAAiC;AAC/C,QAAMC,UAAU,GAAG,qBAAQ,IAAR,CAAnB;AACA,QAAMC,SAAS,GAAG,qBAAQ,IAAR,CAAlB;AACA,QAAMC,aAAa,GAAG,qBAAQ,IAAR,CAAtB;AACA,QAAMC,oBAAoB,GAAG,qBAAQ,IAAR,CAA7B,CAJ+C,CAM/C;;AACA,0BACC,MAAM,MAAM;AACX,QAAKA,oBAAoB,CAACC,OAA1B,EAAoC;AACnCC,MAAAA,aAAa,CAAEF,oBAAoB,CAACC,OAAvB,CAAb;AACAD,MAAAA,oBAAoB,CAACC,OAArB,GAA+B,IAA/B;AACA;AACD,GANF,EAOC,EAPD;AAUA,QAAME,cAAc,GAAG,0BAAeC,KAAF,IAAa;AAChDP,IAAAA,UAAU,CAACI,OAAX,GAAqBG,KAAK,CAACC,OAA3B,CADgD,CAGhD;;AACAN,IAAAA,aAAa,CAACE,OAAd,GAAwB,6BAAoBG,KAAK,CAACE,MAA1B,CAAxB;AAEAN,IAAAA,oBAAoB,CAACC,OAArB,GAA+BM,WAAW,CAAE,MAAM;AACjD,UAAKR,aAAa,CAACE,OAAd,IAAyBH,SAAS,CAACG,OAAxC,EAAkD;AACjD,cAAMO,MAAM,GACXT,aAAa,CAACE,OAAd,CAAsBQ,SAAtB,GAAkCX,SAAS,CAACG,OAD7C,CADiD,CAIjD;AACA;;AACAF,QAAAA,aAAa,CAACE,OAAd,CAAsBS,MAAtB,CAA8B;AAC7BC,UAAAA,GAAG,EAAEH;AADwB,SAA9B;AAGA;AACD,KAXyC,EAWvCf,kBAXuC,CAA1C;AAYA,GAlBsB,EAkBpB,EAlBoB,CAAvB;AAoBA,QAAMmB,gBAAgB,GAAG,0BAAeR,KAAF,IAAa;AAClD,QAAK,CAAEL,aAAa,CAACE,OAArB,EAA+B;AAC9B;AACA;;AACD,UAAMY,kBAAkB,GAAGd,aAAa,CAACE,OAAd,CAAsBa,YAAjD;AACA,UAAMC,uBAAuB,GAC5BlB,UAAU,CAACI,OAAX,GAAqBF,aAAa,CAACE,OAAd,CAAsBe,SAD5C;AAEA,UAAMC,kBAAkB,GACvBb,KAAK,CAACC,OAAN,GAAgBN,aAAa,CAACE,OAAd,CAAsBe,SADvC;;AAGA,QAAKZ,KAAK,CAACC,OAAN,GAAgBU,uBAArB,EAA+C;AAC9C;AACA,YAAMG,gBAAgB,GAAGC,IAAI,CAACC,GAAL,CACxBP,kBAAkB,GACjBE,uBADD,GAECvB,2BAHuB,EAIxB,CAJwB,CAAzB;AAMA,YAAM6B,YAAY,GAAGF,IAAI,CAACC,GAAL,CACpBH,kBAAkB,GACjBF,uBADD,GAECvB,2BAHmB,EAIpB,CAJoB,CAArB;AAMA,YAAM8B,kBAAkB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-draggable/use-scroll-when-dragging.js"],"names":["SCROLL_INACTIVE_DISTANCE_PX","SCROLL_INTERVAL_MS","PIXELS_PER_SECOND_PER_PERCENTAGE","VELOCITY_MULTIPLIER","useScrollWhenDragging","dragStartY","velocityY","scrollParentY","scrollEditorInterval","current","clearInterval","startScrolling","event","clientY","target","setInterval","newTop","scrollTop","scroll","top","scrollOnDragOver","scrollParentHeight","offsetHeight","offsetDragStartPosition","offsetTop","offsetDragPosition","moveableDistance","Math","max","dragDistance","distancePercentage","stopScrolling"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getScrollContainer } from '@wordpress/dom';\nimport { useCallback, useEffect, useRef } from '@wordpress/element';\n\nconst SCROLL_INACTIVE_DISTANCE_PX = 50;\nconst SCROLL_INTERVAL_MS = 25;\nconst PIXELS_PER_SECOND_PER_PERCENTAGE = 1000;\nconst VELOCITY_MULTIPLIER =\n\tPIXELS_PER_SECOND_PER_PERCENTAGE * ( SCROLL_INTERVAL_MS / 1000 );\n\n/**\n * React hook that scrolls the scroll container when a block is being dragged.\n *\n * @return {Function[]} `startScrolling`, `scrollOnDragOver`, `stopScrolling`\n * functions to be called in `onDragStart`, `onDragOver`\n * and `onDragEnd` events respectively.\n */\nexport default function useScrollWhenDragging() {\n\tconst dragStartY = useRef( null );\n\tconst velocityY = useRef( null );\n\tconst scrollParentY = useRef( null );\n\tconst scrollEditorInterval = useRef( null );\n\n\t// Clear interval when unmounting.\n\tuseEffect(\n\t\t() => () => {\n\t\t\tif ( scrollEditorInterval.current ) {\n\t\t\t\tclearInterval( scrollEditorInterval.current );\n\t\t\t\tscrollEditorInterval.current = null;\n\t\t\t}\n\t\t},\n\t\t[]\n\t);\n\n\tconst startScrolling = useCallback( ( event ) => {\n\t\tdragStartY.current = event.clientY;\n\n\t\t// Find nearest parent(s) to scroll.\n\t\tscrollParentY.current = getScrollContainer( event.target );\n\n\t\tscrollEditorInterval.current = setInterval( () => {\n\t\t\tif ( scrollParentY.current && velocityY.current ) {\n\t\t\t\tconst newTop =\n\t\t\t\t\tscrollParentY.current.scrollTop + velocityY.current;\n\n\t\t\t\t// Setting `behavior: 'smooth'` as a scroll property seems to hurt performance.\n\t\t\t\t// Better to use a small scroll interval.\n\t\t\t\tscrollParentY.current.scroll( {\n\t\t\t\t\ttop: newTop,\n\t\t\t\t} );\n\t\t\t}\n\t\t}, SCROLL_INTERVAL_MS );\n\t}, [] );\n\n\tconst scrollOnDragOver = useCallback( ( event ) => {\n\t\tif ( ! scrollParentY.current ) {\n\t\t\treturn;\n\t\t}\n\t\tconst scrollParentHeight = scrollParentY.current.offsetHeight;\n\t\tconst offsetDragStartPosition =\n\t\t\tdragStartY.current - scrollParentY.current.offsetTop;\n\t\tconst offsetDragPosition =\n\t\t\tevent.clientY - scrollParentY.current.offsetTop;\n\n\t\tif ( event.clientY > offsetDragStartPosition ) {\n\t\t\t// User is dragging downwards.\n\t\t\tconst moveableDistance = Math.max(\n\t\t\t\tscrollParentHeight -\n\t\t\t\t\toffsetDragStartPosition -\n\t\t\t\t\tSCROLL_INACTIVE_DISTANCE_PX,\n\t\t\t\t0\n\t\t\t);\n\t\t\tconst dragDistance = Math.max(\n\t\t\t\toffsetDragPosition -\n\t\t\t\t\toffsetDragStartPosition -\n\t\t\t\t\tSCROLL_INACTIVE_DISTANCE_PX,\n\t\t\t\t0\n\t\t\t);\n\t\t\tconst distancePercentage =\n\t\t\t\tmoveableDistance === 0 || dragDistance === 0\n\t\t\t\t\t? 0\n\t\t\t\t\t: dragDistance / moveableDistance;\n\t\t\tvelocityY.current = VELOCITY_MULTIPLIER * distancePercentage;\n\t\t} else if ( event.clientY < offsetDragStartPosition ) {\n\t\t\t// User is dragging upwards.\n\t\t\tconst moveableDistance = Math.max(\n\t\t\t\toffsetDragStartPosition - SCROLL_INACTIVE_DISTANCE_PX,\n\t\t\t\t0\n\t\t\t);\n\t\t\tconst dragDistance = Math.max(\n\t\t\t\toffsetDragStartPosition -\n\t\t\t\t\toffsetDragPosition -\n\t\t\t\t\tSCROLL_INACTIVE_DISTANCE_PX,\n\t\t\t\t0\n\t\t\t);\n\t\t\tconst distancePercentage =\n\t\t\t\tmoveableDistance === 0 || dragDistance === 0\n\t\t\t\t\t? 0\n\t\t\t\t\t: dragDistance / moveableDistance;\n\t\t\tvelocityY.current = -VELOCITY_MULTIPLIER * distancePercentage;\n\t\t} else {\n\t\t\tvelocityY.current = 0;\n\t\t}\n\t}, [] );\n\n\tconst stopScrolling = () => {\n\t\tdragStartY.current = null;\n\t\tscrollParentY.current = null;\n\n\t\tif ( scrollEditorInterval.current ) {\n\t\t\tclearInterval( scrollEditorInterval.current );\n\t\t\tscrollEditorInterval.current = null;\n\t\t}\n\t};\n\n\treturn [ startScrolling, scrollOnDragOver, stopScrolling ];\n}\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _element = require("@wordpress/element");
|
|
11
|
+
|
|
12
|
+
var _components = require("@wordpress/components");
|
|
13
|
+
|
|
14
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
15
|
+
|
|
16
|
+
var _useDisplayBlockControls = _interopRequireDefault(require("../use-display-block-controls"));
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* WordPress dependencies
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Internal dependencies
|
|
24
|
+
*/
|
|
25
|
+
const {
|
|
26
|
+
createPrivateSlotFill
|
|
27
|
+
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
28
|
+
const {
|
|
29
|
+
Fill,
|
|
30
|
+
Slot
|
|
31
|
+
} = createPrivateSlotFill('BlockInformation');
|
|
32
|
+
|
|
33
|
+
const BlockInfo = props => {
|
|
34
|
+
const isDisplayed = (0, _useDisplayBlockControls.default)();
|
|
35
|
+
|
|
36
|
+
if (!isDisplayed) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return (0, _element.createElement)(Fill, props);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
BlockInfo.Slot = props => (0, _element.createElement)(Slot, props);
|
|
44
|
+
|
|
45
|
+
var _default = BlockInfo;
|
|
46
|
+
exports.default = _default;
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-info-slot-fill/index.js"],"names":["createPrivateSlotFill","componentsPrivateApis","Fill","Slot","BlockInfo","props","isDisplayed"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAA4B,wBAAQC,uBAAR,CAAlC;AACA,MAAM;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IAAiBH,qBAAqB,CAAE,kBAAF,CAA5C;;AAEA,MAAMI,SAAS,GAAKC,KAAF,IAAa;AAC9B,QAAMC,WAAW,GAAG,uCAApB;;AACA,MAAK,CAAEA,WAAP,EAAqB;AACpB,WAAO,IAAP;AACA;;AACD,SAAO,4BAAC,IAAD,EAAWD,KAAX,CAAP;AACA,CAND;;AAOAD,SAAS,CAACD,IAAV,GAAmBE,KAAF,IAAa,4BAAC,IAAD,EAAWA,KAAX,CAA9B;;eAEeD,S","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport useDisplayBlockControls from '../use-display-block-controls';\n\nconst { createPrivateSlotFill } = unlock( componentsPrivateApis );\nconst { Fill, Slot } = createPrivateSlotFill( 'BlockInformation' );\n\nconst BlockInfo = ( props ) => {\n\tconst isDisplayed = useDisplayBlockControls();\n\tif ( ! isDisplayed ) {\n\t\treturn null;\n\t}\n\treturn <Fill { ...props } />;\n};\nBlockInfo.Slot = ( props ) => <Slot { ...props } />;\n\nexport default BlockInfo;\n"]}
|
|
@@ -49,6 +49,8 @@ var _positionControlsPanel = _interopRequireDefault(require("../inspector-contro
|
|
|
49
49
|
|
|
50
50
|
var _useBlockInspectorAnimationSettings = _interopRequireDefault(require("./useBlockInspectorAnimationSettings"));
|
|
51
51
|
|
|
52
|
+
var _blockInfoSlotFill = _interopRequireDefault(require("../block-info-slot-fill"));
|
|
53
|
+
|
|
52
54
|
/**
|
|
53
55
|
* WordPress dependencies
|
|
54
56
|
*/
|
|
@@ -142,7 +144,7 @@ function BlockInspectorLockedBlocks(_ref4) {
|
|
|
142
144
|
className: blockInformation.isSynced && 'is-synced'
|
|
143
145
|
})), (0, _element.createElement)(_blockVariationTransforms.default, {
|
|
144
146
|
blockClientId: topLevelLockedBlock
|
|
145
|
-
}), (0, _element.createElement)(_components.__experimentalVStack, {
|
|
147
|
+
}), (0, _element.createElement)(_blockInfoSlotFill.default.Slot, null), (0, _element.createElement)(_components.__experimentalVStack, {
|
|
146
148
|
spacing: 1,
|
|
147
149
|
padding: 4,
|
|
148
150
|
className: "block-editor-block-inspector__block-buttons-container"
|
|
@@ -310,7 +312,7 @@ const BlockInspectorSingleBlock = _ref8 => {
|
|
|
310
312
|
className: blockInformation.isSynced && 'is-synced'
|
|
311
313
|
})), (0, _element.createElement)(_blockVariationTransforms.default, {
|
|
312
314
|
blockClientId: clientId
|
|
313
|
-
}), showTabs && (0, _element.createElement)(_inspectorControlsTabs.default, {
|
|
315
|
+
}), (0, _element.createElement)(_blockInfoSlotFill.default.Slot, null), showTabs && (0, _element.createElement)(_inspectorControlsTabs.default, {
|
|
314
316
|
hasBlockStyles: hasBlockStyles,
|
|
315
317
|
clientId: clientId,
|
|
316
318
|
blockName: blockName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"names":["useContentBlocks","blockTypes","block","contentBlocksObjectAux","reduce","result","blockType","name","Object","entries","attributes","some","__experimentalRole","isContentBlock","blockName","getContentBlocks","blocks","push","innerBlocks","BlockNavigationButton","selectedBlock","selectBlock","blockEditorStore","find","isSelected","clientId","icon","title","BlockInspectorLockedBlocks","topLevelLockedBlock","select","blocksStore","getBlockTypes","getBlock","getSelectedBlock","blockInformation","contentBlocks","isSynced","map","contentBlock","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","showTabs","length","blockInspectorAnimationSettings","isSelectedBlockUnregistered","children","BlockInspectorSingleBlockWrapper","animate","wrapper","AnimatedContainer","animationOrigin","enterDirection","x","opacity","transition","ease","duration","BlockInspectorSingleBlock","hasBlockStyles","getBlockStyles","blockStyles"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\tFlexItem,\n\tPanelBody,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockStyles from '../block-styles';\nimport DefaultStylePicker from '../default-style-picker';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\n\nfunction useContentBlocks( blockTypes, block ) {\n\tconst contentBlocksObjectAux = useMemo( () => {\n\t\treturn blockTypes.reduce( ( result, blockType ) => {\n\t\t\tif (\n\t\t\t\tblockType.name !== 'core/list-item' &&\n\t\t\t\tObject.entries( blockType.attributes ).some(\n\t\t\t\t\t( [ , { __experimentalRole } ] ) =>\n\t\t\t\t\t\t__experimentalRole === 'content'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tresult[ blockType.name ] = true;\n\t\t\t}\n\t\t\treturn result;\n\t\t}, {} );\n\t}, [ blockTypes ] );\n\tconst isContentBlock = useCallback(\n\t\t( blockName ) => {\n\t\t\treturn !! contentBlocksObjectAux[ blockName ];\n\t\t},\n\t\t[ contentBlocksObjectAux ]\n\t);\n\treturn useMemo( () => {\n\t\treturn getContentBlocks( [ block ], isContentBlock );\n\t}, [ block, isContentBlock ] );\n}\n\nfunction getContentBlocks( blocks, isContentBlock ) {\n\tconst result = [];\n\tfor ( const block of blocks ) {\n\t\tif ( isContentBlock( block.name ) ) {\n\t\t\tresult.push( block );\n\t\t}\n\t\tresult.push( ...getContentBlocks( block.innerBlocks, isContentBlock ) );\n\t}\n\treturn result;\n}\n\nfunction BlockNavigationButton( { blockTypes, block, selectedBlock } ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst blockType = blockTypes.find( ( { name } ) => name === block.name );\n\tconst isSelected =\n\t\tselectedBlock && selectedBlock.clientId === block.clientId;\n\treturn (\n\t\t<Button\n\t\t\tisPressed={ isSelected }\n\t\t\tonClick={ () => selectBlock( block.clientId ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<BlockIcon icon={ blockType.icon } />\n\t\t\t\t<FlexItem>{ blockType.title }</FlexItem>\n\t\t\t</HStack>\n\t\t</Button>\n\t);\n}\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst { blockTypes, block, selectedBlock } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tblockTypes: select( blocksStore ).getBlockTypes(),\n\t\t\t\tblock: select( blockEditorStore ).getBlock(\n\t\t\t\t\ttopLevelLockedBlock\n\t\t\t\t),\n\t\t\t\tselectedBlock: select( blockEditorStore ).getSelectedBlock(),\n\t\t\t};\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\tconst contentBlocks = useContentBlocks( blockTypes, block );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<VStack\n\t\t\t\tspacing={ 1 }\n\t\t\t\tpadding={ 4 }\n\t\t\t\tclassName=\"block-editor-block-inspector__block-buttons-container\"\n\t\t\t>\n\t\t\t\t<h2 className=\"block-editor-block-card__title\">\n\t\t\t\t\t{ __( 'Content' ) }\n\t\t\t\t</h2>\n\t\t\t\t{ contentBlocks.map( ( contentBlock ) => (\n\t\t\t\t\t<BlockNavigationButton\n\t\t\t\t\t\tselectedBlock={ selectedBlock }\n\t\t\t\t\t\tkey={ contentBlock.clientId }\n\t\t\t\t\t\tblock={ contentBlock }\n\t\t\t\t\t\tblockTypes={ blockTypes }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\ttopLevelLockedBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\t__unstableGetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\ttopLevelLockedBlock:\n\t\t\t\t__unstableGetContentLockingParent( _selectedBlockClientId ) ||\n\t\t\t\t( getTemplateLock( _selectedBlockClientId ) === 'contentOnly'\n\t\t\t\t\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings = useBlockInspectorAnimationSettings(\n\t\tblockType,\n\t\tselectedBlockClientId\n\t);\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\tif ( topLevelLockedBlock ) {\n\t\treturn (\n\t\t\t<BlockInspectorLockedBlocks\n\t\t\t\ttopLevelLockedBlock={ topLevelLockedBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t) && (\n\t\t\t\t\t\t\t\t\t<DefaultStylePicker\n\t\t\t\t\t\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"names":["useContentBlocks","blockTypes","block","contentBlocksObjectAux","reduce","result","blockType","name","Object","entries","attributes","some","__experimentalRole","isContentBlock","blockName","getContentBlocks","blocks","push","innerBlocks","BlockNavigationButton","selectedBlock","selectBlock","blockEditorStore","find","isSelected","clientId","icon","title","BlockInspectorLockedBlocks","topLevelLockedBlock","select","blocksStore","getBlockTypes","getBlock","getSelectedBlock","blockInformation","contentBlocks","isSynced","map","contentBlock","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","showTabs","length","blockInspectorAnimationSettings","isSelectedBlockUnregistered","children","BlockInspectorSingleBlockWrapper","animate","wrapper","AnimatedContainer","animationOrigin","enterDirection","x","opacity","transition","ease","duration","BlockInspectorSingleBlock","hasBlockStyles","getBlockStyles","blockStyles"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\tFlexItem,\n\tPanelBody,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockStyles from '../block-styles';\nimport DefaultStylePicker from '../default-style-picker';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockInfo from '../block-info-slot-fill';\n\nfunction useContentBlocks( blockTypes, block ) {\n\tconst contentBlocksObjectAux = useMemo( () => {\n\t\treturn blockTypes.reduce( ( result, blockType ) => {\n\t\t\tif (\n\t\t\t\tblockType.name !== 'core/list-item' &&\n\t\t\t\tObject.entries( blockType.attributes ).some(\n\t\t\t\t\t( [ , { __experimentalRole } ] ) =>\n\t\t\t\t\t\t__experimentalRole === 'content'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tresult[ blockType.name ] = true;\n\t\t\t}\n\t\t\treturn result;\n\t\t}, {} );\n\t}, [ blockTypes ] );\n\tconst isContentBlock = useCallback(\n\t\t( blockName ) => {\n\t\t\treturn !! contentBlocksObjectAux[ blockName ];\n\t\t},\n\t\t[ contentBlocksObjectAux ]\n\t);\n\treturn useMemo( () => {\n\t\treturn getContentBlocks( [ block ], isContentBlock );\n\t}, [ block, isContentBlock ] );\n}\n\nfunction getContentBlocks( blocks, isContentBlock ) {\n\tconst result = [];\n\tfor ( const block of blocks ) {\n\t\tif ( isContentBlock( block.name ) ) {\n\t\t\tresult.push( block );\n\t\t}\n\t\tresult.push( ...getContentBlocks( block.innerBlocks, isContentBlock ) );\n\t}\n\treturn result;\n}\n\nfunction BlockNavigationButton( { blockTypes, block, selectedBlock } ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst blockType = blockTypes.find( ( { name } ) => name === block.name );\n\tconst isSelected =\n\t\tselectedBlock && selectedBlock.clientId === block.clientId;\n\treturn (\n\t\t<Button\n\t\t\tisPressed={ isSelected }\n\t\t\tonClick={ () => selectBlock( block.clientId ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<BlockIcon icon={ blockType.icon } />\n\t\t\t\t<FlexItem>{ blockType.title }</FlexItem>\n\t\t\t</HStack>\n\t\t</Button>\n\t);\n}\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst { blockTypes, block, selectedBlock } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tblockTypes: select( blocksStore ).getBlockTypes(),\n\t\t\t\tblock: select( blockEditorStore ).getBlock(\n\t\t\t\t\ttopLevelLockedBlock\n\t\t\t\t),\n\t\t\t\tselectedBlock: select( blockEditorStore ).getSelectedBlock(),\n\t\t\t};\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\tconst contentBlocks = useContentBlocks( blockTypes, block );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t<VStack\n\t\t\t\tspacing={ 1 }\n\t\t\t\tpadding={ 4 }\n\t\t\t\tclassName=\"block-editor-block-inspector__block-buttons-container\"\n\t\t\t>\n\t\t\t\t<h2 className=\"block-editor-block-card__title\">\n\t\t\t\t\t{ __( 'Content' ) }\n\t\t\t\t</h2>\n\t\t\t\t{ contentBlocks.map( ( contentBlock ) => (\n\t\t\t\t\t<BlockNavigationButton\n\t\t\t\t\t\tselectedBlock={ selectedBlock }\n\t\t\t\t\t\tkey={ contentBlock.clientId }\n\t\t\t\t\t\tblock={ contentBlock }\n\t\t\t\t\t\tblockTypes={ blockTypes }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\ttopLevelLockedBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\t__unstableGetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\ttopLevelLockedBlock:\n\t\t\t\t__unstableGetContentLockingParent( _selectedBlockClientId ) ||\n\t\t\t\t( getTemplateLock( _selectedBlockClientId ) === 'contentOnly'\n\t\t\t\t\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings = useBlockInspectorAnimationSettings(\n\t\tblockType,\n\t\tselectedBlockClientId\n\t);\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\tif ( topLevelLockedBlock ) {\n\t\treturn (\n\t\t\t<BlockInspectorLockedBlocks\n\t\t\t\ttopLevelLockedBlock={ topLevelLockedBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t) && (\n\t\t\t\t\t\t\t\t\t<DefaultStylePicker\n\t\t\t\t\t\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"]}
|
|
@@ -34,27 +34,35 @@ var _store = require("../../store");
|
|
|
34
34
|
*/
|
|
35
35
|
function BlockInvalidWarning(_ref) {
|
|
36
36
|
let {
|
|
37
|
-
blockTitle,
|
|
38
|
-
icon,
|
|
39
37
|
clientId
|
|
40
38
|
} = _ref;
|
|
41
|
-
const accessibilityLabel = (0, _i18n.sprintf)(
|
|
42
|
-
/* translators: accessibility text for blocks with invalid content. %d: localized block title */
|
|
43
|
-
(0, _i18n.__)('%s block. This block has invalid content'), blockTitle);
|
|
44
39
|
|
|
45
40
|
const selector = select => {
|
|
46
41
|
const {
|
|
47
42
|
getBlock
|
|
48
43
|
} = select(_store.store);
|
|
49
44
|
const block = getBlock(clientId);
|
|
45
|
+
const {
|
|
46
|
+
name
|
|
47
|
+
} = block || {};
|
|
48
|
+
const blockType = (0, _blocks.getBlockType)(name || 'core/missing');
|
|
49
|
+
const title = blockType === null || blockType === void 0 ? void 0 : blockType.title;
|
|
50
|
+
const blockIcon = blockType === null || blockType === void 0 ? void 0 : blockType.icon;
|
|
50
51
|
return {
|
|
51
|
-
block
|
|
52
|
+
block,
|
|
53
|
+
blockTitle: title,
|
|
54
|
+
icon: blockIcon
|
|
52
55
|
};
|
|
53
56
|
};
|
|
54
57
|
|
|
55
58
|
const {
|
|
56
|
-
block
|
|
59
|
+
block,
|
|
60
|
+
blockTitle,
|
|
61
|
+
icon
|
|
57
62
|
} = (0, _data.useSelect)(selector, [clientId]);
|
|
63
|
+
const accessibilityLabel = (0, _i18n.sprintf)(
|
|
64
|
+
/* translators: accessibility text for blocks with invalid content. %d: localized block title */
|
|
65
|
+
(0, _i18n.__)('%s block. This block has invalid content'), blockTitle);
|
|
58
66
|
const {
|
|
59
67
|
replaceBlock
|
|
60
68
|
} = (0, _data.useDispatch)(_store.store);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.native.js"],"names":["BlockInvalidWarning","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.native.js"],"names":["BlockInvalidWarning","clientId","selector","select","getBlock","blockEditorStore","block","name","blockType","title","blockIcon","icon","blockTitle","accessibilityLabel","replaceBlock","recoverBlock","attributes","innerBlocks","attemptBlockRecovery"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAKA;;AACA;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAIe,SAASA,mBAAT,OAA6C;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;;AAC3D,QAAMC,QAAQ,GAAKC,MAAF,IAAc;AAC9B,UAAM;AAAEC,MAAAA;AAAF,QAAeD,MAAM,CAAEE,YAAF,CAA3B;AACA,UAAMC,KAAK,GAAGF,QAAQ,CAAEH,QAAF,CAAtB;AACA,UAAM;AAAEM,MAAAA;AAAF,QAAWD,KAAK,IAAI,EAA1B;AAEA,UAAME,SAAS,GAAG,0BAAcD,IAAI,IAAI,cAAtB,CAAlB;AACA,UAAME,KAAK,GAAGD,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEC,KAAzB;AACA,UAAMC,SAAS,GAAGF,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEG,IAA7B;AAEA,WAAO;AACNL,MAAAA,KADM;AAENM,MAAAA,UAAU,EAAEH,KAFN;AAGNE,MAAAA,IAAI,EAAED;AAHA,KAAP;AAKA,GAdD;;AAgBA,QAAM;AAAEJ,IAAAA,KAAF;AAASM,IAAAA,UAAT;AAAqBD,IAAAA;AAArB,MAA8B,qBAAWT,QAAX,EAAqB,CAAED,QAAF,CAArB,CAApC;AAEA,QAAMY,kBAAkB,GAAG;AAC1B;AACA,gBAAI,0CAAJ,CAF0B,EAG1BD,UAH0B,CAA3B;AAMA,QAAM;AAAEE,IAAAA;AAAF,MAAmB,uBAAaT,YAAb,CAAzB;;AAEA,QAAMU,YAAY,GAAG;AAAA,QAAE;AAAER,MAAAA,IAAF;AAAQS,MAAAA,UAAR;AAAoBC,MAAAA;AAApB,KAAF;AAAA,WACpB,yBAAaV,IAAb,EAAmBS,UAAnB,EAA+BC,WAA/B,CADoB;AAAA,GAArB;;AAGA,QAAMC,oBAAoB,GAAG,MAAM;AAClCJ,IAAAA,YAAY,CAAER,KAAK,CAACL,QAAR,EAAkBc,YAAY,CAAET,KAAF,CAA9B,CAAZ;AACA,GAFD;;AAIA,SACC,4BAAC,qCAAD;AACC,IAAA,OAAO,EAAGY,oBADX;AAEC,IAAA,UAAU,EAAG,IAFd;AAGC,IAAA,iBAAiB,EAAG;AAHrB,KAKC,4BAAC,gBAAD;AACC,IAAA,KAAK,EAAGN,UADT,CAEC;AAFD;AAGC,IAAA,OAAO,EAAG,cACT,4DADS,CAHX;AAMC,IAAA,IAAI,EAAGD,IANR;AAOC,IAAA,kBAAkB,EAAGE;AAPtB,IALD,CADD;AAiBA","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock, getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst selector = ( select ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst { name } = block || {};\n\n\t\tconst blockType = getBlockType( name || 'core/missing' );\n\t\tconst title = blockType?.title;\n\t\tconst blockIcon = blockType?.icon;\n\n\t\treturn {\n\t\t\tblock,\n\t\t\tblockTitle: title,\n\t\t\ticon: blockIcon,\n\t\t};\n\t};\n\n\tconst { block, blockTitle, icon } = useSelect( selector, [ clientId ] );\n\n\tconst accessibilityLabel = sprintf(\n\t\t/* translators: accessibility text for blocks with invalid content. %d: localized block title */\n\t\t__( '%s block. This block has invalid content' ),\n\t\tblockTitle\n\t);\n\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst recoverBlock = ( { name, attributes, innerBlocks } ) =>\n\t\tcreateBlock( name, attributes, innerBlocks );\n\n\tconst attemptBlockRecovery = () => {\n\t\treplaceBlock( block.clientId, recoverBlock( block ) );\n\t};\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\tonPress={ attemptBlockRecovery }\n\t\t\taccessible={ true }\n\t\t\taccessibilityRole={ 'button' }\n\t\t>\n\t\t\t<Warning\n\t\t\t\ttitle={ blockTitle }\n\t\t\t\t// eslint-disable-next-line @wordpress/i18n-no-collapsible-whitespace\n\t\t\t\tmessage={ __(\n\t\t\t\t\t'Problem displaying block. \\nTap to attempt block recovery.'\n\t\t\t\t) }\n\t\t\t\ticon={ icon }\n\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t/>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\n"]}
|
|
@@ -9,8 +9,12 @@ var _element = require("@wordpress/element");
|
|
|
9
9
|
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
11
|
|
|
12
|
+
var _data = require("@wordpress/data");
|
|
13
|
+
|
|
12
14
|
var _blockListContext = require("./block-list-context");
|
|
13
15
|
|
|
16
|
+
var _store = require("../../store");
|
|
17
|
+
|
|
14
18
|
/**
|
|
15
19
|
* External dependencies
|
|
16
20
|
*/
|
|
@@ -25,14 +29,23 @@ var _blockListContext = require("./block-list-context");
|
|
|
25
29
|
function BlockListItemCell(_ref) {
|
|
26
30
|
let {
|
|
27
31
|
children,
|
|
28
|
-
clientId,
|
|
29
|
-
rootClientId,
|
|
32
|
+
item: clientId,
|
|
30
33
|
onLayout
|
|
31
34
|
} = _ref;
|
|
32
35
|
const {
|
|
33
36
|
blocksLayouts,
|
|
34
37
|
updateBlocksLayouts
|
|
35
38
|
} = (0, _blockListContext.useBlockListContext)();
|
|
39
|
+
const {
|
|
40
|
+
rootClientId
|
|
41
|
+
} = (0, _data.useSelect)(select => {
|
|
42
|
+
const {
|
|
43
|
+
getBlockRootClientId
|
|
44
|
+
} = select(_store.store);
|
|
45
|
+
return {
|
|
46
|
+
rootClientId: getBlockRootClientId(clientId)
|
|
47
|
+
};
|
|
48
|
+
}, [clientId]);
|
|
36
49
|
(0, _element.useEffect)(() => {
|
|
37
50
|
return () => {
|
|
38
51
|
updateBlocksLayouts(blocksLayouts, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-list-item-cell.native.js"],"names":["BlockListItemCell","children","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-list-item-cell.native.js"],"names":["BlockListItemCell","children","item","clientId","onLayout","blocksLayouts","updateBlocksLayouts","rootClientId","select","getBlockRootClientId","blockEditorStore","shouldRemove","onCellLayout","event","nativeEvent","layout"],"mappings":";;;;;;;AAQA;;AALA;;AAMA;;AAKA;;AACA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AAIA,SAASA,iBAAT,OAAqE;AAAA,MAAzC;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,IAAI,EAAEC,QAAlB;AAA4BC,IAAAA;AAA5B,GAAyC;AACpE,QAAM;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAyC,4CAA/C;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAmB,qBACtBC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAA2BD,MAAM,CAAEE,YAAF,CAAvC;AACA,WAAO;AAAEH,MAAAA,YAAY,EAAEE,oBAAoB,CAAEN,QAAF;AAApC,KAAP;AACA,GAJuB,EAKxB,CAAEA,QAAF,CALwB,CAAzB;AAQA,0BAAW,MAAM;AAChB,WAAO,MAAM;AACZG,MAAAA,mBAAmB,CAAED,aAAF,EAAiB;AACnCF,QAAAA,QADmC;AAEnCQ,QAAAA,YAAY,EAAE;AAFqB,OAAjB,CAAnB;AAIA,KALD;AAMA,GAPD,EAOG,EAPH;AASA,QAAMC,YAAY,GAAG,0BAClBC,KAAF,IAAa;AACZ,UAAM;AACLC,MAAAA,WAAW,EAAE;AAAEC,QAAAA;AAAF;AADR,QAEFF,KAFJ;AAGAP,IAAAA,mBAAmB,CAAED,aAAF,EAAiB;AACnCF,MAAAA,QADmC;AAEnCI,MAAAA,YAFmC;AAGnC,SAAGQ;AAHgC,KAAjB,CAAnB;;AAMA,QAAKX,QAAL,EAAgB;AACfA,MAAAA,QAAQ,CAAES,KAAF,CAAR;AACA;AACD,GAdmB,EAepB,CAAEV,QAAF,EAAYI,YAAZ,EAA0BD,mBAA1B,EAA+CF,QAA/C,CAfoB,CAArB;AAkBA,SAAO,4BAAC,iBAAD;AAAM,IAAA,QAAQ,EAAGQ;AAAjB,KAAkCX,QAAlC,CAAP;AACA;;eAEcD,iB","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockListContext } from './block-list-context';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockListItemCell( { children, item: clientId, onLayout } ) {\n\tconst { blocksLayouts, updateBlocksLayouts } = useBlockListContext();\n\tconst { rootClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId } = select( blockEditorStore );\n\t\t\treturn { rootClientId: getBlockRootClientId( clientId ) };\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tupdateBlocksLayouts( blocksLayouts, {\n\t\t\t\tclientId,\n\t\t\t\tshouldRemove: true,\n\t\t\t} );\n\t\t};\n\t}, [] );\n\n\tconst onCellLayout = useCallback(\n\t\t( event ) => {\n\t\t\tconst {\n\t\t\t\tnativeEvent: { layout },\n\t\t\t} = event;\n\t\t\tupdateBlocksLayouts( blocksLayouts, {\n\t\t\t\tclientId,\n\t\t\t\trootClientId,\n\t\t\t\t...layout,\n\t\t\t} );\n\n\t\t\tif ( onLayout ) {\n\t\t\t\tonLayout( event );\n\t\t\t}\n\t\t},\n\t\t[ clientId, rootClientId, updateBlocksLayouts, onLayout ]\n\t);\n\n\treturn <View onLayout={ onCellLayout }>{ children }</View>;\n}\n\nexport default BlockListItemCell;\n"]}
|