@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"names":["classnames","useSelect","useDispatch","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowMoversGestures","store","blockEditorStore","__unstableBlockNameContext","BlockToolbar","hideDragHandle","blockClientIds","blockClientId","blockType","hasFixedToolbar","isDistractionFree","isValid","isVisual","isContentLocked","select","getBlockName","getBlockMode","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getSettings","__unstableGetContentLockingParent","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","settings","rootClientId","every","id","toggleBlockHighlight","nodeRef","showMovers","gestures","showMoversGestures","ref","onChange","isFocused","displayHeaderToolbar","shouldShowMovers","length","shouldShowVisualToolbar","isMultiToolbar","isSynced","classes","name"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowMoversGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\n\nconst BlockToolbar = ( { hideDragHandle } ) => {\n\tconst {\n\t\tblockClientIds,\n\t\tblockClientId,\n\t\tblockType,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tisValid,\n\t\tisVisual,\n\t\tisContentLocked,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSettings,\n\t\t\t__unstableGetContentLockingParent,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockType:\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) ),\n\t\t\thasFixedToolbar: settings.hasFixedToolbar,\n\t\t\tisDistractionFree: settings.isDistractionFree,\n\t\t\trootClientId: blockRootClientId,\n\t\t\tisValid: selectedBlockClientIds.every( ( id ) =>\n\t\t\t\tisBlockValid( id )\n\t\t\t),\n\t\t\tisVisual: selectedBlockClientIds.every(\n\t\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t\t),\n\t\t\tisContentLocked: !! __unstableGetContentLockingParent(\n\t\t\t\tselectedBlockClientId\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\tconst nodeRef = useRef();\n\tconst { showMovers, gestures: showMoversGestures } = useShowMoversGestures(\n\t\t{\n\t\t\tref: nodeRef,\n\t\t\tonChange( isFocused ) {\n\t\t\t\tif ( isFocused && isDistractionFree ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttoggleBlockHighlight( blockClientId, isFocused );\n\t\t\t},\n\t\t}\n\t);\n\n\t// Account for the cases where the block toolbar is rendered within the\n\t// header area and not contextually to the block.\n\tconst displayHeaderToolbar =\n\t\tuseViewportMatch( 'medium', '<' ) || hasFixedToolbar;\n\n\tif ( blockType ) {\n\t\tif ( ! hasBlockSupport( blockType, '__experimentalToolbar', true ) ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconst shouldShowMovers = displayHeaderToolbar || showMovers;\n\n\tif ( blockClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst shouldShowVisualToolbar = isValid && isVisual;\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\tconst classes = classnames( 'block-editor-block-toolbar', {\n\t\t'is-showing-movers': shouldShowMovers,\n\t\t'is-synced': isSynced,\n\t} );\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t! displayHeaderToolbar &&\n\t\t\t\t! isContentLocked && <BlockParentSelector /> }\n\t\t\t<div ref={ nodeRef } { ...showMoversGestures }>\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! isContentLocked && (\n\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\tclientId={ blockClientIds[ 0 ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t<BlockGroupToolbar />\n\t\t\t) }\n\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t>\n\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t{ ! isContentLocked && (\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n */\nexport default BlockToolbar;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"names":["classnames","useSelect","useDispatch","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowMoversGestures","store","blockEditorStore","__unstableBlockNameContext","BlockToolbar","hideDragHandle","blockClientIds","blockClientId","blockType","hasFixedToolbar","isDistractionFree","isValid","isVisual","isContentLocked","select","getBlockName","getBlockMode","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getSettings","__unstableGetContentLockingParent","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","settings","rootClientId","every","id","toggleBlockHighlight","nodeRef","showMovers","gestures","showMoversGestures","ref","onChange","isFocused","displayHeaderToolbar","isLargeViewport","shouldShowMovers","length","shouldShowVisualToolbar","isMultiToolbar","isSynced","classes","name"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowMoversGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\n\nconst BlockToolbar = ( { hideDragHandle } ) => {\n\tconst {\n\t\tblockClientIds,\n\t\tblockClientId,\n\t\tblockType,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tisValid,\n\t\tisVisual,\n\t\tisContentLocked,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSettings,\n\t\t\t__unstableGetContentLockingParent,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockType:\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) ),\n\t\t\thasFixedToolbar: settings.hasFixedToolbar,\n\t\t\tisDistractionFree: settings.isDistractionFree,\n\t\t\trootClientId: blockRootClientId,\n\t\t\tisValid: selectedBlockClientIds.every( ( id ) =>\n\t\t\t\tisBlockValid( id )\n\t\t\t),\n\t\t\tisVisual: selectedBlockClientIds.every(\n\t\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t\t),\n\t\t\tisContentLocked: !! __unstableGetContentLockingParent(\n\t\t\t\tselectedBlockClientId\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\tconst nodeRef = useRef();\n\tconst { showMovers, gestures: showMoversGestures } = useShowMoversGestures(\n\t\t{\n\t\t\tref: nodeRef,\n\t\t\tonChange( isFocused ) {\n\t\t\t\tif ( isFocused && isDistractionFree ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttoggleBlockHighlight( blockClientId, isFocused );\n\t\t\t},\n\t\t}\n\t);\n\n\t// Account for the cases where the block toolbar is rendered within the\n\t// header area and not contextually to the block.\n\tconst displayHeaderToolbar =\n\t\tuseViewportMatch( 'medium', '<' ) || hasFixedToolbar;\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tif ( blockType ) {\n\t\tif ( ! hasBlockSupport( blockType, '__experimentalToolbar', true ) ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconst shouldShowMovers = displayHeaderToolbar || showMovers;\n\n\tif ( blockClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst shouldShowVisualToolbar = isValid && isVisual;\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\tconst classes = classnames( 'block-editor-block-toolbar', {\n\t\t'is-showing-movers': shouldShowMovers,\n\t\t'is-synced': isSynced,\n\t} );\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ ! isMultiToolbar && isLargeViewport && ! isContentLocked && (\n\t\t\t\t<BlockParentSelector />\n\t\t\t) }\n\t\t\t<div ref={ nodeRef } { ...showMoversGestures }>\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! isContentLocked && (\n\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\tclientId={ blockClientIds[ 0 ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t<BlockGroupToolbar />\n\t\t\t) }\n\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t>\n\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t{ ! isContentLocked && (\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n */\nexport default BlockToolbar;\n"]}
|
|
@@ -10,8 +10,12 @@ import classnames from 'classnames';
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
|
+
import { useEffect, useRef, useState } from '@wordpress/element';
|
|
13
14
|
import { hasBlockSupport, store as blocksStore } from '@wordpress/blocks';
|
|
14
15
|
import { useSelect } from '@wordpress/data';
|
|
16
|
+
import { ToolbarItem, ToolbarButton, ToolbarGroup } from '@wordpress/components';
|
|
17
|
+
import { levelUp } from '@wordpress/icons';
|
|
18
|
+
import { useViewportMatch } from '@wordpress/compose';
|
|
15
19
|
/**
|
|
16
20
|
* Internal dependencies
|
|
17
21
|
*/
|
|
@@ -19,6 +23,7 @@ import { useSelect } from '@wordpress/data';
|
|
|
19
23
|
import NavigableToolbar from '../navigable-toolbar';
|
|
20
24
|
import BlockToolbar from '../block-toolbar';
|
|
21
25
|
import { store as blockEditorStore } from '../../store';
|
|
26
|
+
import BlockIcon from '../block-icon';
|
|
22
27
|
|
|
23
28
|
function BlockContextualToolbar(_ref) {
|
|
24
29
|
let {
|
|
@@ -26,10 +31,15 @@ function BlockContextualToolbar(_ref) {
|
|
|
26
31
|
isFixed,
|
|
27
32
|
...props
|
|
28
33
|
} = _ref;
|
|
34
|
+
// When the toolbar is fixed it can be collapsed
|
|
35
|
+
const [isCollapsed, setIsCollapsed] = useState(false);
|
|
36
|
+
const toolbarButtonRef = useRef();
|
|
37
|
+
const isLargeViewport = useViewportMatch('medium');
|
|
29
38
|
const {
|
|
30
39
|
blockType,
|
|
31
40
|
hasParents,
|
|
32
|
-
showParentSelector
|
|
41
|
+
showParentSelector,
|
|
42
|
+
selectedBlockClientId
|
|
33
43
|
} = useSelect(select => {
|
|
34
44
|
const {
|
|
35
45
|
getBlockName,
|
|
@@ -41,28 +51,31 @@ function BlockContextualToolbar(_ref) {
|
|
|
41
51
|
getBlockType
|
|
42
52
|
} = select(blocksStore);
|
|
43
53
|
const selectedBlockClientIds = getSelectedBlockClientIds();
|
|
44
|
-
const
|
|
45
|
-
const parents = getBlockParents(
|
|
54
|
+
const _selectedBlockClientId = selectedBlockClientIds[0];
|
|
55
|
+
const parents = getBlockParents(_selectedBlockClientId);
|
|
46
56
|
const firstParentClientId = parents[parents.length - 1];
|
|
47
57
|
const parentBlockName = getBlockName(firstParentClientId);
|
|
48
58
|
const parentBlockType = getBlockType(parentBlockName);
|
|
49
59
|
return {
|
|
50
|
-
|
|
60
|
+
selectedBlockClientId: _selectedBlockClientId,
|
|
61
|
+
blockType: _selectedBlockClientId && getBlockType(getBlockName(_selectedBlockClientId)),
|
|
51
62
|
hasParents: parents.length,
|
|
52
|
-
showParentSelector: parentBlockType && hasBlockSupport(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length <= 1 && !__unstableGetContentLockingParent(
|
|
63
|
+
showParentSelector: parentBlockType && hasBlockSupport(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length <= 1 && !__unstableGetContentLockingParent(_selectedBlockClientId)
|
|
53
64
|
};
|
|
54
65
|
}, []);
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
setIsCollapsed(false);
|
|
68
|
+
}, [selectedBlockClientId]);
|
|
55
69
|
|
|
56
|
-
if (blockType) {
|
|
57
|
-
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
70
|
+
if (blockType && !hasBlockSupport(blockType, '__experimentalToolbar', true)) {
|
|
71
|
+
return null;
|
|
60
72
|
} // Shifts the toolbar to make room for the parent block selector.
|
|
61
73
|
|
|
62
74
|
|
|
63
75
|
const classes = classnames('block-editor-block-contextual-toolbar', {
|
|
64
76
|
'has-parent': hasParents && showParentSelector,
|
|
65
|
-
'is-fixed': isFixed
|
|
77
|
+
'is-fixed': isFixed,
|
|
78
|
+
'is-collapsed': isCollapsed
|
|
66
79
|
});
|
|
67
80
|
return createElement(NavigableToolbar, _extends({
|
|
68
81
|
focusOnMount: focusOnMount,
|
|
@@ -70,7 +83,20 @@ function BlockContextualToolbar(_ref) {
|
|
|
70
83
|
/* translators: accessibility text for the block toolbar */
|
|
71
84
|
,
|
|
72
85
|
"aria-label": __('Block tools')
|
|
73
|
-
}, props), createElement(
|
|
86
|
+
}, props), isFixed && isLargeViewport && blockType && createElement(ToolbarGroup, {
|
|
87
|
+
className: isCollapsed ? 'block-editor-block-toolbar__group-expand-fixed-toolbar' : 'block-editor-block-toolbar__group-collapse-fixed-toolbar'
|
|
88
|
+
}, createElement(ToolbarItem, {
|
|
89
|
+
as: ToolbarButton,
|
|
90
|
+
ref: toolbarButtonRef,
|
|
91
|
+
icon: isCollapsed ? createElement(BlockIcon, {
|
|
92
|
+
icon: blockType.icon
|
|
93
|
+
}) : levelUp,
|
|
94
|
+
onClick: () => {
|
|
95
|
+
setIsCollapsed(collapsed => !collapsed);
|
|
96
|
+
toolbarButtonRef.current.focus();
|
|
97
|
+
},
|
|
98
|
+
label: isCollapsed ? __('Show block tools') : __('Show document tools')
|
|
99
|
+
})), !isCollapsed && createElement(BlockToolbar, {
|
|
74
100
|
hideDragHandle: isFixed
|
|
75
101
|
}));
|
|
76
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/block-contextual-toolbar.js"],"names":["classnames","__","hasBlockSupport","store","blocksStore","useSelect","NavigableToolbar","BlockToolbar","blockEditorStore","BlockContextualToolbar","focusOnMount","isFixed","props","blockType","hasParents","showParentSelector","select","getBlockName","getBlockParents","getSelectedBlockClientIds","__unstableGetContentLockingParent","getBlockType","selectedBlockClientIds","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/block-contextual-toolbar.js"],"names":["classnames","__","useEffect","useRef","useState","hasBlockSupport","store","blocksStore","useSelect","ToolbarItem","ToolbarButton","ToolbarGroup","levelUp","useViewportMatch","NavigableToolbar","BlockToolbar","blockEditorStore","BlockIcon","BlockContextualToolbar","focusOnMount","isFixed","props","isCollapsed","setIsCollapsed","toolbarButtonRef","isLargeViewport","blockType","hasParents","showParentSelector","selectedBlockClientId","select","getBlockName","getBlockParents","getSelectedBlockClientIds","__unstableGetContentLockingParent","getBlockType","selectedBlockClientIds","_selectedBlockClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","classes","icon","collapsed","current","focus"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { hasBlockSupport, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tToolbarItem,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { levelUp } from '@wordpress/icons';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport NavigableToolbar from '../navigable-toolbar';\nimport BlockToolbar from '../block-toolbar';\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\n\nfunction BlockContextualToolbar( { focusOnMount, isFixed, ...props } ) {\n\t// When the toolbar is fixed it can be collapsed\n\tconst [ isCollapsed, setIsCollapsed ] = useState( false );\n\tconst toolbarButtonRef = useRef();\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { blockType, hasParents, showParentSelector, selectedBlockClientId } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetContentLockingParent,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst _selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst parents = getBlockParents( _selectedBlockClientId );\n\t\t\tconst firstParentClientId = parents[ parents.length - 1 ];\n\t\t\tconst parentBlockName = getBlockName( firstParentClientId );\n\t\t\tconst parentBlockType = getBlockType( parentBlockName );\n\n\t\t\treturn {\n\t\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\t\tblockType:\n\t\t\t\t\t_selectedBlockClientId &&\n\t\t\t\t\tgetBlockType( getBlockName( _selectedBlockClientId ) ),\n\t\t\t\thasParents: parents.length,\n\t\t\t\tshowParentSelector:\n\t\t\t\t\tparentBlockType &&\n\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\tparentBlockType,\n\t\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) &&\n\t\t\t\t\tselectedBlockClientIds.length <= 1 &&\n\t\t\t\t\t! __unstableGetContentLockingParent(\n\t\t\t\t\t\t_selectedBlockClientId\n\t\t\t\t\t),\n\t\t\t};\n\t\t}, [] );\n\n\tuseEffect( () => {\n\t\tsetIsCollapsed( false );\n\t}, [ selectedBlockClientId ] );\n\n\tif (\n\t\tblockType &&\n\t\t! hasBlockSupport( blockType, '__experimentalToolbar', true )\n\t) {\n\t\treturn null;\n\t}\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = classnames( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': hasParents && showParentSelector,\n\t\t'is-fixed': isFixed,\n\t\t'is-collapsed': isCollapsed,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ isFixed && isLargeViewport && blockType && (\n\t\t\t\t<ToolbarGroup\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tisCollapsed\n\t\t\t\t\t\t\t? 'block-editor-block-toolbar__group-expand-fixed-toolbar'\n\t\t\t\t\t\t\t: 'block-editor-block-toolbar__group-collapse-fixed-toolbar'\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tas={ ToolbarButton }\n\t\t\t\t\t\tref={ toolbarButtonRef }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tisCollapsed ? (\n\t\t\t\t\t\t\t\t<BlockIcon icon={ blockType.icon } />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tlevelUp\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsCollapsed( ( collapsed ) => ! collapsed );\n\t\t\t\t\t\t\ttoolbarButtonRef.current.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tisCollapsed\n\t\t\t\t\t\t\t\t? __( 'Show block tools' )\n\t\t\t\t\t\t\t\t: __( 'Show document tools' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t\t{ ! isCollapsed && <BlockToolbar hideDragHandle={ isFixed } /> }\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default BlockContextualToolbar;\n"]}
|
|
@@ -13,7 +13,6 @@ import { useRef, useEffect } from '@wordpress/element';
|
|
|
13
13
|
import { isUnmodifiedDefaultBlock } from '@wordpress/blocks';
|
|
14
14
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
15
15
|
import { useShortcut } from '@wordpress/keyboard-shortcuts';
|
|
16
|
-
import { useViewportMatch } from '@wordpress/compose';
|
|
17
16
|
/**
|
|
18
17
|
* Internal dependencies
|
|
19
18
|
*/
|
|
@@ -24,26 +23,19 @@ import { store as blockEditorStore } from '../../store';
|
|
|
24
23
|
import BlockPopover from '../block-popover';
|
|
25
24
|
import useBlockToolbarPopoverProps from './use-block-toolbar-popover-props';
|
|
26
25
|
import Inserter from '../inserter';
|
|
27
|
-
import {
|
|
26
|
+
import { useShouldContextualToolbarShow } from '../../utils/use-should-contextual-toolbar-show';
|
|
28
27
|
|
|
29
28
|
function selector(select) {
|
|
30
29
|
const {
|
|
31
30
|
__unstableGetEditorMode,
|
|
32
|
-
isMultiSelecting,
|
|
33
31
|
hasMultiSelection,
|
|
34
32
|
isTyping,
|
|
35
|
-
isBlockInterfaceHidden,
|
|
36
|
-
getSettings,
|
|
37
33
|
getLastMultiSelectedBlockClientId
|
|
38
|
-
} =
|
|
34
|
+
} = select(blockEditorStore);
|
|
39
35
|
return {
|
|
40
36
|
editorMode: __unstableGetEditorMode(),
|
|
41
37
|
hasMultiSelection: hasMultiSelection(),
|
|
42
|
-
isMultiSelecting: isMultiSelecting(),
|
|
43
38
|
isTyping: isTyping(),
|
|
44
|
-
isBlockInterfaceHidden: isBlockInterfaceHidden(),
|
|
45
|
-
hasFixedToolbar: getSettings().hasFixedToolbar,
|
|
46
|
-
isDistractionFree: getSettings().isDistractionFree,
|
|
47
39
|
lastClientId: hasMultiSelection() ? getLastMultiSelectedBlockClientId() : null
|
|
48
40
|
};
|
|
49
41
|
}
|
|
@@ -53,8 +45,6 @@ function SelectedBlockPopover(_ref) {
|
|
|
53
45
|
clientId,
|
|
54
46
|
rootClientId,
|
|
55
47
|
isEmptyDefaultBlock,
|
|
56
|
-
showContents,
|
|
57
|
-
// we may need to mount an empty popover because we reuse
|
|
58
48
|
capturingClientId,
|
|
59
49
|
__unstablePopoverSlot,
|
|
60
50
|
__unstableContentRef
|
|
@@ -62,11 +52,7 @@ function SelectedBlockPopover(_ref) {
|
|
|
62
52
|
const {
|
|
63
53
|
editorMode,
|
|
64
54
|
hasMultiSelection,
|
|
65
|
-
isMultiSelecting,
|
|
66
55
|
isTyping,
|
|
67
|
-
isBlockInterfaceHidden,
|
|
68
|
-
hasFixedToolbar,
|
|
69
|
-
isDistractionFree,
|
|
70
56
|
lastClientId
|
|
71
57
|
} = useSelect(selector, []);
|
|
72
58
|
const isInsertionPointVisible = useSelect(select => {
|
|
@@ -84,15 +70,16 @@ function SelectedBlockPopover(_ref) {
|
|
|
84
70
|
const order = getBlockOrder(insertionPoint.rootClientId);
|
|
85
71
|
return order[insertionPoint.index] === clientId;
|
|
86
72
|
}, [clientId]);
|
|
87
|
-
const isLargeViewport = useViewportMatch('medium');
|
|
88
73
|
const isToolbarForced = useRef(false);
|
|
74
|
+
const {
|
|
75
|
+
shouldShowContextualToolbar,
|
|
76
|
+
canFocusHiddenToolbar
|
|
77
|
+
} = useShouldContextualToolbarShow();
|
|
89
78
|
const {
|
|
90
79
|
stopTyping
|
|
91
80
|
} = useDispatch(blockEditorStore);
|
|
92
81
|
const showEmptyBlockSideInserter = !isTyping && editorMode === 'edit' && isEmptyDefaultBlock;
|
|
93
82
|
const shouldShowBreadcrumb = !hasMultiSelection && (editorMode === 'navigation' || editorMode === 'zoom-out');
|
|
94
|
-
const shouldShowContextualToolbar = editorMode === 'edit' && !hasFixedToolbar && isLargeViewport && !isMultiSelecting && !showEmptyBlockSideInserter && !isTyping && !isBlockInterfaceHidden;
|
|
95
|
-
const canFocusHiddenToolbar = editorMode === 'edit' && !shouldShowContextualToolbar && !hasFixedToolbar && !isDistractionFree && !isEmptyDefaultBlock;
|
|
96
83
|
useShortcut('core/block-editor/focus-toolbar', () => {
|
|
97
84
|
isToolbarForced.current = true;
|
|
98
85
|
stopTyping(true);
|
|
@@ -142,7 +129,7 @@ function SelectedBlockPopover(_ref) {
|
|
|
142
129
|
__unstablePopoverSlot: __unstablePopoverSlot,
|
|
143
130
|
__unstableContentRef: __unstableContentRef,
|
|
144
131
|
resize: false
|
|
145
|
-
}, popoverProps), shouldShowContextualToolbar &&
|
|
132
|
+
}, popoverProps), shouldShowContextualToolbar && createElement(BlockContextualToolbar // If the toolbar is being shown because of being forced
|
|
146
133
|
// it should focus the toolbar right after the mount.
|
|
147
134
|
, {
|
|
148
135
|
focusOnMount: isToolbarForced.current,
|
|
@@ -169,8 +156,6 @@ function wrapperSelector(select) {
|
|
|
169
156
|
getBlockRootClientId,
|
|
170
157
|
getBlock,
|
|
171
158
|
getBlockParents,
|
|
172
|
-
getSettings,
|
|
173
|
-
isNavigationMode: _isNavigationMode,
|
|
174
159
|
__experimentalGetBlockListSettingsForBlocks
|
|
175
160
|
} = select(blockEditorStore);
|
|
176
161
|
const clientId = getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();
|
|
@@ -193,13 +178,10 @@ function wrapperSelector(select) {
|
|
|
193
178
|
|
|
194
179
|
return (_parentBlockListSetti = parentBlockListSettings[parentClientId]) === null || _parentBlockListSetti === void 0 ? void 0 : _parentBlockListSetti.__experimentalCaptureToolbars;
|
|
195
180
|
});
|
|
196
|
-
const settings = getSettings();
|
|
197
181
|
return {
|
|
198
182
|
clientId,
|
|
199
183
|
rootClientId: getBlockRootClientId(clientId),
|
|
200
184
|
name,
|
|
201
|
-
isDistractionFree: settings.isDistractionFree,
|
|
202
|
-
isNavigationMode: _isNavigationMode(),
|
|
203
185
|
isEmptyDefaultBlock: name && isUnmodifiedDefaultBlock({
|
|
204
186
|
name,
|
|
205
187
|
attributes
|
|
@@ -224,9 +206,7 @@ export default function WrappedBlockPopover(_ref2) {
|
|
|
224
206
|
rootClientId,
|
|
225
207
|
name,
|
|
226
208
|
isEmptyDefaultBlock,
|
|
227
|
-
capturingClientId
|
|
228
|
-
isDistractionFree,
|
|
229
|
-
isNavigationMode
|
|
209
|
+
capturingClientId
|
|
230
210
|
} = selected;
|
|
231
211
|
|
|
232
212
|
if (!name) {
|
|
@@ -237,7 +217,6 @@ export default function WrappedBlockPopover(_ref2) {
|
|
|
237
217
|
clientId: clientId,
|
|
238
218
|
rootClientId: rootClientId,
|
|
239
219
|
isEmptyDefaultBlock: isEmptyDefaultBlock,
|
|
240
|
-
showContents: !isDistractionFree || isNavigationMode,
|
|
241
220
|
capturingClientId: capturingClientId,
|
|
242
221
|
__unstablePopoverSlot: __unstablePopoverSlot,
|
|
243
222
|
__unstableContentRef: __unstableContentRef
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/selected-block-popover.js"],"names":["classnames","useRef","useEffect","isUnmodifiedDefaultBlock","useDispatch","useSelect","useShortcut","useViewportMatch","BlockSelectionButton","BlockContextualToolbar","store","blockEditorStore","BlockPopover","useBlockToolbarPopoverProps","Inserter","unlock","selector","select","__unstableGetEditorMode","isMultiSelecting","hasMultiSelection","isTyping","isBlockInterfaceHidden","getSettings","getLastMultiSelectedBlockClientId","editorMode","hasFixedToolbar","isDistractionFree","lastClientId","SelectedBlockPopover","clientId","rootClientId","isEmptyDefaultBlock","showContents","capturingClientId","__unstablePopoverSlot","__unstableContentRef","isInsertionPointVisible","isBlockInsertionPointVisible","getBlockInsertionPoint","getBlockOrder","insertionPoint","order","index","isLargeViewport","isToolbarForced","stopTyping","showEmptyBlockSideInserter","shouldShowBreadcrumb","shouldShowContextualToolbar","canFocusHiddenToolbar","current","isDisabled","initialToolbarItemIndexRef","popoverProps","contentElement","wrapperSelector","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","getBlockRootClientId","getBlock","getBlockParents","isNavigationMode","_isNavigationMode","__experimentalGetBlockListSettingsForBlocks","name","attributes","blockParentsClientIds","parentBlockListSettings","find","parentClientId","__experimentalCaptureToolbars","settings","WrappedBlockPopover","selected"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useEffect } from '@wordpress/element';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockSelectionButton from './block-selection-button';\nimport BlockContextualToolbar from './block-contextual-toolbar';\nimport { store as blockEditorStore } from '../../store';\nimport BlockPopover from '../block-popover';\nimport useBlockToolbarPopoverProps from './use-block-toolbar-popover-props';\nimport Inserter from '../inserter';\nimport { unlock } from '../../lock-unlock';\n\nfunction selector( select ) {\n\tconst {\n\t\t__unstableGetEditorMode,\n\t\tisMultiSelecting,\n\t\thasMultiSelection,\n\t\tisTyping,\n\t\tisBlockInterfaceHidden,\n\t\tgetSettings,\n\t\tgetLastMultiSelectedBlockClientId,\n\t} = unlock( select( blockEditorStore ) );\n\n\treturn {\n\t\teditorMode: __unstableGetEditorMode(),\n\t\thasMultiSelection: hasMultiSelection(),\n\t\tisMultiSelecting: isMultiSelecting(),\n\t\tisTyping: isTyping(),\n\t\tisBlockInterfaceHidden: isBlockInterfaceHidden(),\n\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\tisDistractionFree: getSettings().isDistractionFree,\n\t\tlastClientId: hasMultiSelection()\n\t\t\t? getLastMultiSelectedBlockClientId()\n\t\t\t: null,\n\t};\n}\n\nfunction SelectedBlockPopover( {\n\tclientId,\n\trootClientId,\n\tisEmptyDefaultBlock,\n\tshowContents, // we may need to mount an empty popover because we reuse\n\tcapturingClientId,\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst {\n\t\teditorMode,\n\t\thasMultiSelection,\n\t\tisMultiSelecting,\n\t\tisTyping,\n\t\tisBlockInterfaceHidden,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tlastClientId,\n\t} = useSelect( selector, [] );\n\tconst isInsertionPointVisible = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tif ( ! isBlockInsertionPointVisible() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\t\tconst order = getBlockOrder( insertionPoint.rootClientId );\n\t\t\treturn order[ insertionPoint.index ] === clientId;\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isToolbarForced = useRef( false );\n\tconst { stopTyping } = useDispatch( blockEditorStore );\n\n\tconst showEmptyBlockSideInserter =\n\t\t! isTyping && editorMode === 'edit' && isEmptyDefaultBlock;\n\tconst shouldShowBreadcrumb =\n\t\t! hasMultiSelection &&\n\t\t( editorMode === 'navigation' || editorMode === 'zoom-out' );\n\tconst shouldShowContextualToolbar =\n\t\teditorMode === 'edit' &&\n\t\t! hasFixedToolbar &&\n\t\tisLargeViewport &&\n\t\t! isMultiSelecting &&\n\t\t! showEmptyBlockSideInserter &&\n\t\t! isTyping &&\n\t\t! isBlockInterfaceHidden;\n\tconst canFocusHiddenToolbar =\n\t\teditorMode === 'edit' &&\n\t\t! shouldShowContextualToolbar &&\n\t\t! hasFixedToolbar &&\n\t\t! isDistractionFree &&\n\t\t! isEmptyDefaultBlock;\n\n\tuseShortcut(\n\t\t'core/block-editor/focus-toolbar',\n\t\t() => {\n\t\t\tisToolbarForced.current = true;\n\t\t\tstopTyping( true );\n\t\t},\n\t\t{\n\t\t\tisDisabled: ! canFocusHiddenToolbar,\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tisToolbarForced.current = false;\n\t} );\n\n\t// Stores the active toolbar item index so the block toolbar can return focus\n\t// to it when re-mounting.\n\tconst initialToolbarItemIndexRef = useRef();\n\n\tconst popoverProps = useBlockToolbarPopoverProps( {\n\t\tcontentElement: __unstableContentRef?.current,\n\t\tclientId,\n\t} );\n\n\tif ( showEmptyBlockSideInserter ) {\n\t\treturn (\n\t\t\t<BlockPopover\n\t\t\t\tclientId={ capturingClientId || clientId }\n\t\t\t\t__unstableCoverTarget\n\t\t\t\tbottomClientId={ lastClientId }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-block-list__block-side-inserter-popover',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-insertion-point-visible': isInsertionPointVisible,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\tresize={ false }\n\t\t\t\tshift={ false }\n\t\t\t\t{ ...popoverProps }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-list__empty-block-inserter\">\n\t\t\t\t\t<Inserter\n\t\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</BlockPopover>\n\t\t);\n\t}\n\n\tif ( shouldShowBreadcrumb || shouldShowContextualToolbar ) {\n\t\treturn (\n\t\t\t<BlockPopover\n\t\t\t\tclientId={ capturingClientId || clientId }\n\t\t\t\tbottomClientId={ lastClientId }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-block-list__block-popover',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-insertion-point-visible': isInsertionPointVisible,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\tresize={ false }\n\t\t\t\t{ ...popoverProps }\n\t\t\t>\n\t\t\t\t{ shouldShowContextualToolbar && showContents && (\n\t\t\t\t\t<BlockContextualToolbar\n\t\t\t\t\t\t// If the toolbar is being shown because of being forced\n\t\t\t\t\t\t// it should focus the toolbar right after the mount.\n\t\t\t\t\t\tfocusOnMount={ isToolbarForced.current }\n\t\t\t\t\t\t__experimentalInitialIndex={\n\t\t\t\t\t\t\tinitialToolbarItemIndexRef.current\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalOnIndexChange={ ( index ) => {\n\t\t\t\t\t\t\tinitialToolbarItemIndexRef.current = index;\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t// Resets the index whenever the active block changes so\n\t\t\t\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\t\t\t\tkey={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ shouldShowBreadcrumb && (\n\t\t\t\t\t<BlockSelectionButton\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockPopover>\n\t\t);\n\t}\n\n\treturn null;\n}\n\nfunction wrapperSelector( select ) {\n\tconst {\n\t\tgetSelectedBlockClientId,\n\t\tgetFirstMultiSelectedBlockClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlock,\n\t\tgetBlockParents,\n\t\tgetSettings,\n\t\tisNavigationMode: _isNavigationMode,\n\t\t__experimentalGetBlockListSettingsForBlocks,\n\t} = select( blockEditorStore );\n\n\tconst clientId =\n\t\tgetSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();\n\n\tif ( ! clientId ) {\n\t\treturn;\n\t}\n\n\tconst { name, attributes = {} } = getBlock( clientId ) || {};\n\tconst blockParentsClientIds = getBlockParents( clientId );\n\n\t// Get Block List Settings for all ancestors of the current Block clientId.\n\tconst parentBlockListSettings = __experimentalGetBlockListSettingsForBlocks(\n\t\tblockParentsClientIds\n\t);\n\n\t// Get the clientId of the topmost parent with the capture toolbars setting.\n\tconst capturingClientId = blockParentsClientIds.find(\n\t\t( parentClientId ) =>\n\t\t\tparentBlockListSettings[ parentClientId ]\n\t\t\t\t?.__experimentalCaptureToolbars\n\t);\n\n\tconst settings = getSettings();\n\n\treturn {\n\t\tclientId,\n\t\trootClientId: getBlockRootClientId( clientId ),\n\t\tname,\n\t\tisDistractionFree: settings.isDistractionFree,\n\t\tisNavigationMode: _isNavigationMode(),\n\t\tisEmptyDefaultBlock:\n\t\t\tname && isUnmodifiedDefaultBlock( { name, attributes } ),\n\t\tcapturingClientId,\n\t};\n}\n\nexport default function WrappedBlockPopover( {\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst selected = useSelect( wrapperSelector, [] );\n\n\tif ( ! selected ) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\tclientId,\n\t\trootClientId,\n\t\tname,\n\t\tisEmptyDefaultBlock,\n\t\tcapturingClientId,\n\t\tisDistractionFree,\n\t\tisNavigationMode,\n\t} = selected;\n\n\tif ( ! name ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SelectedBlockPopover\n\t\t\tclientId={ clientId }\n\t\t\trootClientId={ rootClientId }\n\t\t\tisEmptyDefaultBlock={ isEmptyDefaultBlock }\n\t\t\tshowContents={ ! isDistractionFree || isNavigationMode }\n\t\t\tcapturingClientId={ capturingClientId }\n\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t/>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/selected-block-popover.js"],"names":["classnames","useRef","useEffect","isUnmodifiedDefaultBlock","useDispatch","useSelect","useShortcut","BlockSelectionButton","BlockContextualToolbar","store","blockEditorStore","BlockPopover","useBlockToolbarPopoverProps","Inserter","useShouldContextualToolbarShow","selector","select","__unstableGetEditorMode","hasMultiSelection","isTyping","getLastMultiSelectedBlockClientId","editorMode","lastClientId","SelectedBlockPopover","clientId","rootClientId","isEmptyDefaultBlock","capturingClientId","__unstablePopoverSlot","__unstableContentRef","isInsertionPointVisible","isBlockInsertionPointVisible","getBlockInsertionPoint","getBlockOrder","insertionPoint","order","index","isToolbarForced","shouldShowContextualToolbar","canFocusHiddenToolbar","stopTyping","showEmptyBlockSideInserter","shouldShowBreadcrumb","current","isDisabled","initialToolbarItemIndexRef","popoverProps","contentElement","wrapperSelector","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","getBlockRootClientId","getBlock","getBlockParents","__experimentalGetBlockListSettingsForBlocks","name","attributes","blockParentsClientIds","parentBlockListSettings","find","parentClientId","__experimentalCaptureToolbars","WrappedBlockPopover","selected"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useEffect } from '@wordpress/element';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport BlockSelectionButton from './block-selection-button';\nimport BlockContextualToolbar from './block-contextual-toolbar';\nimport { store as blockEditorStore } from '../../store';\nimport BlockPopover from '../block-popover';\nimport useBlockToolbarPopoverProps from './use-block-toolbar-popover-props';\nimport Inserter from '../inserter';\nimport { useShouldContextualToolbarShow } from '../../utils/use-should-contextual-toolbar-show';\n\nfunction selector( select ) {\n\tconst {\n\t\t__unstableGetEditorMode,\n\t\thasMultiSelection,\n\t\tisTyping,\n\t\tgetLastMultiSelectedBlockClientId,\n\t} = select( blockEditorStore );\n\n\treturn {\n\t\teditorMode: __unstableGetEditorMode(),\n\t\thasMultiSelection: hasMultiSelection(),\n\t\tisTyping: isTyping(),\n\t\tlastClientId: hasMultiSelection()\n\t\t\t? getLastMultiSelectedBlockClientId()\n\t\t\t: null,\n\t};\n}\n\nfunction SelectedBlockPopover( {\n\tclientId,\n\trootClientId,\n\tisEmptyDefaultBlock,\n\tcapturingClientId,\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst { editorMode, hasMultiSelection, isTyping, lastClientId } = useSelect(\n\t\tselector,\n\t\t[]\n\t);\n\n\tconst isInsertionPointVisible = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tif ( ! isBlockInsertionPointVisible() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\t\tconst order = getBlockOrder( insertionPoint.rootClientId );\n\t\t\treturn order[ insertionPoint.index ] === clientId;\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst isToolbarForced = useRef( false );\n\tconst { shouldShowContextualToolbar, canFocusHiddenToolbar } =\n\t\tuseShouldContextualToolbarShow();\n\n\tconst { stopTyping } = useDispatch( blockEditorStore );\n\n\tconst showEmptyBlockSideInserter =\n\t\t! isTyping && editorMode === 'edit' && isEmptyDefaultBlock;\n\tconst shouldShowBreadcrumb =\n\t\t! hasMultiSelection &&\n\t\t( editorMode === 'navigation' || editorMode === 'zoom-out' );\n\n\tuseShortcut(\n\t\t'core/block-editor/focus-toolbar',\n\t\t() => {\n\t\t\tisToolbarForced.current = true;\n\t\t\tstopTyping( true );\n\t\t},\n\t\t{\n\t\t\tisDisabled: ! canFocusHiddenToolbar,\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tisToolbarForced.current = false;\n\t} );\n\n\t// Stores the active toolbar item index so the block toolbar can return focus\n\t// to it when re-mounting.\n\tconst initialToolbarItemIndexRef = useRef();\n\n\tconst popoverProps = useBlockToolbarPopoverProps( {\n\t\tcontentElement: __unstableContentRef?.current,\n\t\tclientId,\n\t} );\n\n\tif ( showEmptyBlockSideInserter ) {\n\t\treturn (\n\t\t\t<BlockPopover\n\t\t\t\tclientId={ capturingClientId || clientId }\n\t\t\t\t__unstableCoverTarget\n\t\t\t\tbottomClientId={ lastClientId }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-block-list__block-side-inserter-popover',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-insertion-point-visible': isInsertionPointVisible,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\tresize={ false }\n\t\t\t\tshift={ false }\n\t\t\t\t{ ...popoverProps }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-list__empty-block-inserter\">\n\t\t\t\t\t<Inserter\n\t\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</BlockPopover>\n\t\t);\n\t}\n\n\tif ( shouldShowBreadcrumb || shouldShowContextualToolbar ) {\n\t\treturn (\n\t\t\t<BlockPopover\n\t\t\t\tclientId={ capturingClientId || clientId }\n\t\t\t\tbottomClientId={ lastClientId }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-block-list__block-popover',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-insertion-point-visible': isInsertionPointVisible,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\tresize={ false }\n\t\t\t\t{ ...popoverProps }\n\t\t\t>\n\t\t\t\t{ shouldShowContextualToolbar && (\n\t\t\t\t\t<BlockContextualToolbar\n\t\t\t\t\t\t// If the toolbar is being shown because of being forced\n\t\t\t\t\t\t// it should focus the toolbar right after the mount.\n\t\t\t\t\t\tfocusOnMount={ isToolbarForced.current }\n\t\t\t\t\t\t__experimentalInitialIndex={\n\t\t\t\t\t\t\tinitialToolbarItemIndexRef.current\n\t\t\t\t\t\t}\n\t\t\t\t\t\t__experimentalOnIndexChange={ ( index ) => {\n\t\t\t\t\t\t\tinitialToolbarItemIndexRef.current = index;\n\t\t\t\t\t\t} }\n\t\t\t\t\t\t// Resets the index whenever the active block changes so\n\t\t\t\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\t\t\t\tkey={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ shouldShowBreadcrumb && (\n\t\t\t\t\t<BlockSelectionButton\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockPopover>\n\t\t);\n\t}\n\n\treturn null;\n}\n\nfunction wrapperSelector( select ) {\n\tconst {\n\t\tgetSelectedBlockClientId,\n\t\tgetFirstMultiSelectedBlockClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlock,\n\t\tgetBlockParents,\n\t\t__experimentalGetBlockListSettingsForBlocks,\n\t} = select( blockEditorStore );\n\n\tconst clientId =\n\t\tgetSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();\n\n\tif ( ! clientId ) {\n\t\treturn;\n\t}\n\n\tconst { name, attributes = {} } = getBlock( clientId ) || {};\n\tconst blockParentsClientIds = getBlockParents( clientId );\n\n\t// Get Block List Settings for all ancestors of the current Block clientId.\n\tconst parentBlockListSettings = __experimentalGetBlockListSettingsForBlocks(\n\t\tblockParentsClientIds\n\t);\n\n\t// Get the clientId of the topmost parent with the capture toolbars setting.\n\tconst capturingClientId = blockParentsClientIds.find(\n\t\t( parentClientId ) =>\n\t\t\tparentBlockListSettings[ parentClientId ]\n\t\t\t\t?.__experimentalCaptureToolbars\n\t);\n\n\treturn {\n\t\tclientId,\n\t\trootClientId: getBlockRootClientId( clientId ),\n\t\tname,\n\t\tisEmptyDefaultBlock:\n\t\t\tname && isUnmodifiedDefaultBlock( { name, attributes } ),\n\t\tcapturingClientId,\n\t};\n}\n\nexport default function WrappedBlockPopover( {\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst selected = useSelect( wrapperSelector, [] );\n\n\tif ( ! selected ) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\tclientId,\n\t\trootClientId,\n\t\tname,\n\t\tisEmptyDefaultBlock,\n\t\tcapturingClientId,\n\t} = selected;\n\n\tif ( ! name ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SelectedBlockPopover\n\t\t\tclientId={ clientId }\n\t\t\trootClientId={ rootClientId }\n\t\t\tisEmptyDefaultBlock={ isEmptyDefaultBlock }\n\t\t\tcapturingClientId={ capturingClientId }\n\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t/>\n\t);\n}\n"]}
|
package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js
CHANGED
|
@@ -51,7 +51,7 @@ export default function useMultipleOriginColorsAndGradients() {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
return result;
|
|
54
|
-
}, [defaultColors, themeColors, customColors]);
|
|
54
|
+
}, [defaultColors, themeColors, customColors, shouldDisplayDefaultColors]);
|
|
55
55
|
const customGradients = useSetting('color.gradients.custom');
|
|
56
56
|
const themeGradients = useSetting('color.gradients.theme');
|
|
57
57
|
const defaultGradients = useSetting('color.gradients.default');
|
|
@@ -81,7 +81,8 @@ export default function useMultipleOriginColorsAndGradients() {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
return result;
|
|
84
|
-
}, [customGradients, themeGradients, defaultGradients]);
|
|
84
|
+
}, [customGradients, themeGradients, defaultGradients, shouldDisplayDefaultGradients]);
|
|
85
|
+
colorGradientSettings.hasColorsOrGradients = !!colorGradientSettings.colors.length || !!colorGradientSettings.gradients.length;
|
|
85
86
|
return colorGradientSettings;
|
|
86
87
|
}
|
|
87
88
|
//# sourceMappingURL=use-multiple-origin-colors-and-gradients.js.map
|
package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js"],"names":["useMemo","_x","useSetting","useMultipleOriginColorsAndGradients","colorGradientSettings","disableCustomColors","disableCustomGradients","customColors","themeColors","defaultColors","shouldDisplayDefaultColors","colors","result","length","push","name","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients","gradients"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,gBAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,mCAAT,GAA+C;AAC7D,QAAMC,qBAAqB,GAAG;AAC7BC,IAAAA,mBAAmB,EAAE,CAAEH,UAAU,CAAE,cAAF,CADJ;AAE7BI,IAAAA,sBAAsB,EAAE,CAAEJ,UAAU,CAAE,sBAAF;AAFP,GAA9B;AAIA,QAAMK,YAAY,GAAGL,UAAU,CAAE,sBAAF,CAA/B;AACA,QAAMM,WAAW,GAAGN,UAAU,CAAE,qBAAF,CAA9B;AACA,QAAMO,aAAa,GAAGP,UAAU,CAAE,uBAAF,CAAhC;AACA,QAAMQ,0BAA0B,GAAGR,UAAU,CAAE,sBAAF,CAA7C;AAEAE,EAAAA,qBAAqB,CAACO,MAAtB,GAA+BX,OAAO,CAAE,MAAM;AAC7C,UAAMY,MAAM,GAAG,EAAf;;AACA,QAAKJ,WAAW,IAAIA,WAAW,CAACK,MAAhC,EAAyC;AACxCD,MAAAA,MAAM,CAACE,IAAP,CAAa;AACZC,QAAAA,IAAI,EAAEd,EAAE,CACP,OADO,EAEP,8CAFO,CADI;AAKZU,QAAAA,MAAM,EAAEH;AALI,OAAb;AAOA;;AACD,QACCE,0BAA0B,IAC1BD,aADA,IAEAA,aAAa,CAACI,MAHf,EAIE;AACDD,MAAAA,MAAM,CAACE,IAAP,CAAa;AACZC,QAAAA,IAAI,EAAEd,EAAE,CACP,SADO,EAEP,8CAFO,CADI;AAKZU,QAAAA,MAAM,EAAEF;AALI,OAAb;AAOA;;AACD,QAAKF,YAAY,IAAIA,YAAY,CAACM,MAAlC,EAA2C;AAC1CD,MAAAA,MAAM,CAACE,IAAP,CAAa;AACZC,QAAAA,IAAI,EAAEd,EAAE,CACP,QADO,EAEP,8CAFO,CADI;AAKZU,QAAAA,MAAM,EAAEJ;AALI,OAAb;AAOA;;AACD,WAAOK,MAAP;AACA,GAlCqC,EAkCnC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js"],"names":["useMemo","_x","useSetting","useMultipleOriginColorsAndGradients","colorGradientSettings","disableCustomColors","disableCustomGradients","customColors","themeColors","defaultColors","shouldDisplayDefaultColors","colors","result","length","push","name","customGradients","themeGradients","defaultGradients","shouldDisplayDefaultGradients","gradients","hasColorsOrGradients"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\n/**\n * Retrieves color and gradient related settings.\n *\n * The arrays for colors and gradients are made up of color palettes from each\n * origin i.e. \"Core\", \"Theme\", and \"User\".\n *\n * @return {Object} Color and gradient related settings.\n */\nexport default function useMultipleOriginColorsAndGradients() {\n\tconst colorGradientSettings = {\n\t\tdisableCustomColors: ! useSetting( 'color.custom' ),\n\t\tdisableCustomGradients: ! useSetting( 'color.customGradient' ),\n\t};\n\tconst customColors = useSetting( 'color.palette.custom' );\n\tconst themeColors = useSetting( 'color.palette.theme' );\n\tconst defaultColors = useSetting( 'color.palette.default' );\n\tconst shouldDisplayDefaultColors = useSetting( 'color.defaultPalette' );\n\n\tcolorGradientSettings.colors = useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeColors && themeColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: themeColors,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultColors &&\n\t\t\tdefaultColors &&\n\t\t\tdefaultColors.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tcolors: defaultColors,\n\t\t\t} );\n\t\t}\n\t\tif ( customColors && customColors.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tcolors: customColors,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tdefaultColors,\n\t\tthemeColors,\n\t\tcustomColors,\n\t\tshouldDisplayDefaultColors,\n\t] );\n\n\tconst customGradients = useSetting( 'color.gradients.custom' );\n\tconst themeGradients = useSetting( 'color.gradients.theme' );\n\tconst defaultGradients = useSetting( 'color.gradients.default' );\n\tconst shouldDisplayDefaultGradients = useSetting(\n\t\t'color.defaultGradients'\n\t);\n\tcolorGradientSettings.gradients = useMemo( () => {\n\t\tconst result = [];\n\t\tif ( themeGradients && themeGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates this palette comes from the theme.'\n\t\t\t\t),\n\t\t\t\tgradients: themeGradients,\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tshouldDisplayDefaultGradients &&\n\t\t\tdefaultGradients &&\n\t\t\tdefaultGradients.length\n\t\t) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates this palette comes from WordPress.'\n\t\t\t\t),\n\t\t\t\tgradients: defaultGradients,\n\t\t\t} );\n\t\t}\n\t\tif ( customGradients && customGradients.length ) {\n\t\t\tresult.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates this palette is created by the user.'\n\t\t\t\t),\n\t\t\t\tgradients: customGradients,\n\t\t\t} );\n\t\t}\n\t\treturn result;\n\t}, [\n\t\tcustomGradients,\n\t\tthemeGradients,\n\t\tdefaultGradients,\n\t\tshouldDisplayDefaultGradients,\n\t] );\n\n\tcolorGradientSettings.hasColorsOrGradients =\n\t\t!! colorGradientSettings.colors.length ||\n\t\t!! colorGradientSettings.gradients.length;\n\n\treturn colorGradientSettings;\n}\n"]}
|
|
@@ -63,10 +63,11 @@ export default function EditorStyles(_ref) {
|
|
|
63
63
|
let {
|
|
64
64
|
styles
|
|
65
65
|
} = _ref;
|
|
66
|
-
const
|
|
67
|
-
const
|
|
66
|
+
const stylesArray = useMemo(() => Object.values(styles !== null && styles !== void 0 ? styles : []), [styles]);
|
|
67
|
+
const transformedStyles = useMemo(() => transformStyles(stylesArray.filter(style => style === null || style === void 0 ? void 0 : style.css), EDITOR_STYLES_SELECTOR), [stylesArray]);
|
|
68
|
+
const transformedSvgs = useMemo(() => stylesArray.filter(style => style.__unstableType === 'svgs').map(style => style.assets).join(''), [stylesArray]);
|
|
68
69
|
return createElement(Fragment, null, createElement("style", {
|
|
69
|
-
ref: useDarkThemeBodyClassName(
|
|
70
|
+
ref: useDarkThemeBodyClassName(stylesArray)
|
|
70
71
|
}), transformedStyles.map((css, index) => createElement("style", {
|
|
71
72
|
key: index
|
|
72
73
|
}, css)), createElement(SVG, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/editor-styles/index.js"],"names":["colord","extend","namesPlugin","a11yPlugin","SVG","useCallback","useMemo","transformStyles","EDITOR_STYLES_SELECTOR","useDarkThemeBodyClassName","styles","node","ownerDocument","defaultView","body","canvas","querySelector","backgroundColor","tempCanvas","createElement","classList","add","appendChild","getComputedStyle","getPropertyValue","removeChild","colordBackgroundColor","luminance","alpha","remove","EditorStyles","transformedStyles","filter","style","css","transformedSvgs","__unstableType","map","assets","join","index","visibility","position","left","overflow","__html"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,EAAiBC,MAAjB,QAA+B,QAA/B;AACA,OAAOC,WAAP,MAAwB,sBAAxB;AACA,OAAOC,UAAP,MAAuB,qBAAvB;AAEA;AACA;AACA;;AACA,SAASC,GAAT,QAAoB,uBAApB;AACA,SAASC,WAAT,EAAsBC,OAAtB,QAAqC,oBAArC;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,8BAA5B;AAEA,MAAMC,sBAAsB,GAAG,wBAA/B;AACAP,MAAM,CAAE,CAAEC,WAAF,EAAeC,UAAf,CAAF,CAAN;;AAEA,SAASM,yBAAT,CAAoCC,MAApC,EAA6C;AAC5C,SAAOL,WAAW,CACfM,IAAF,IAAY;AACX,QAAK,CAAEA,IAAP,EAAc;AACb;AACA;;AAED,UAAM;AAAEC,MAAAA;AAAF,QAAoBD,IAA1B;AACA,UAAM;AAAEE,MAAAA,WAAF;AAAeC,MAAAA;AAAf,QAAwBF,aAA9B;AACA,UAAMG,MAAM,GAAGH,aAAa,CAACI,aAAd,CACdR,sBADc,CAAf;AAIA,QAAIS,eAAJ;;AAEA,QAAK,CAAEF,MAAP,EAAgB;AACf;AACA;AACA;AACA,YAAMG,UAAU,GAAGN,aAAa,CAACO,aAAd,CAA6B,KAA7B,CAAnB;AACAD,MAAAA,UAAU,CAACE,SAAX,CAAqBC,GAArB,CAA0B,uBAA1B;AACAP,MAAAA,IAAI,CAACQ,WAAL,CAAkBJ,UAAlB;AAEAD,MAAAA,eAAe,GAAGJ,WAAW,CAC3BU,gBADgB,CACEL,UADF,EACc,IADd,EAEhBM,gBAFgB,CAEE,kBAFF,CAAlB;AAIAV,MAAAA,IAAI,CAACW,WAAL,CAAkBP,UAAlB;AACA,KAbD,MAaO;AACND,MAAAA,eAAe,GAAGJ,WAAW,CAC3BU,gBADgB,CACER,MADF,EACU,IADV,EAEhBS,gBAFgB,CAEE,kBAFF,CAAlB;AAGA;;AACD,UAAME,qBAAqB,GAAG1B,MAAM,CAAEiB,eAAF,CAApC,CA/BW,CAgCX;;AACA,QACCS,qBAAqB,CAACC,SAAtB,KAAoC,GAApC,IACAD,qBAAqB,CAACE,KAAtB,OAAkC,CAFnC,EAGE;AACDd,MAAAA,IAAI,CAACM,SAAL,CAAeS,MAAf,CAAuB,eAAvB;AACA,KALD,MAKO;AACNf,MAAAA,IAAI,CAACM,SAAL,CAAeC,GAAf,CAAoB,eAApB;AACA;AACD,GA1CgB,EA2CjB,CAAEX,MAAF,CA3CiB,CAAlB;AA6CA;;AAED,eAAe,SAASoB,YAAT,OAAoC;AAAA,MAAb;AAAEpB,IAAAA;AAAF,GAAa;AAClD,QAAMqB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/editor-styles/index.js"],"names":["colord","extend","namesPlugin","a11yPlugin","SVG","useCallback","useMemo","transformStyles","EDITOR_STYLES_SELECTOR","useDarkThemeBodyClassName","styles","node","ownerDocument","defaultView","body","canvas","querySelector","backgroundColor","tempCanvas","createElement","classList","add","appendChild","getComputedStyle","getPropertyValue","removeChild","colordBackgroundColor","luminance","alpha","remove","EditorStyles","stylesArray","Object","values","transformedStyles","filter","style","css","transformedSvgs","__unstableType","map","assets","join","index","visibility","position","left","overflow","__html"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\nimport a11yPlugin from 'colord/plugins/a11y';\n\n/**\n * WordPress dependencies\n */\nimport { SVG } from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport transformStyles from '../../utils/transform-styles';\n\nconst EDITOR_STYLES_SELECTOR = '.editor-styles-wrapper';\nextend( [ namesPlugin, a11yPlugin ] );\n\nfunction useDarkThemeBodyClassName( styles ) {\n\treturn useCallback(\n\t\t( node ) => {\n\t\t\tif ( ! node ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView, body } = ownerDocument;\n\t\t\tconst canvas = ownerDocument.querySelector(\n\t\t\t\tEDITOR_STYLES_SELECTOR\n\t\t\t);\n\n\t\t\tlet backgroundColor;\n\n\t\t\tif ( ! canvas ) {\n\t\t\t\t// The real .editor-styles-wrapper element might not exist in the\n\t\t\t\t// DOM, so calculate the background color by creating a fake\n\t\t\t\t// wrapper.\n\t\t\t\tconst tempCanvas = ownerDocument.createElement( 'div' );\n\t\t\t\ttempCanvas.classList.add( 'editor-styles-wrapper' );\n\t\t\t\tbody.appendChild( tempCanvas );\n\n\t\t\t\tbackgroundColor = defaultView\n\t\t\t\t\t.getComputedStyle( tempCanvas, null )\n\t\t\t\t\t.getPropertyValue( 'background-color' );\n\n\t\t\t\tbody.removeChild( tempCanvas );\n\t\t\t} else {\n\t\t\t\tbackgroundColor = defaultView\n\t\t\t\t\t.getComputedStyle( canvas, null )\n\t\t\t\t\t.getPropertyValue( 'background-color' );\n\t\t\t}\n\t\t\tconst colordBackgroundColor = colord( backgroundColor );\n\t\t\t// If background is transparent, it should be treated as light color.\n\t\t\tif (\n\t\t\t\tcolordBackgroundColor.luminance() > 0.5 ||\n\t\t\t\tcolordBackgroundColor.alpha() === 0\n\t\t\t) {\n\t\t\t\tbody.classList.remove( 'is-dark-theme' );\n\t\t\t} else {\n\t\t\t\tbody.classList.add( 'is-dark-theme' );\n\t\t\t}\n\t\t},\n\t\t[ styles ]\n\t);\n}\n\nexport default function EditorStyles( { styles } ) {\n\tconst stylesArray = useMemo(\n\t\t() => Object.values( styles ?? [] ),\n\t\t[ styles ]\n\t);\n\tconst transformedStyles = useMemo(\n\t\t() =>\n\t\t\ttransformStyles(\n\t\t\t\tstylesArray.filter( ( style ) => style?.css ),\n\t\t\t\tEDITOR_STYLES_SELECTOR\n\t\t\t),\n\t\t[ stylesArray ]\n\t);\n\n\tconst transformedSvgs = useMemo(\n\t\t() =>\n\t\t\tstylesArray\n\t\t\t\t.filter( ( style ) => style.__unstableType === 'svgs' )\n\t\t\t\t.map( ( style ) => style.assets )\n\t\t\t\t.join( '' ),\n\t\t[ stylesArray ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ /* Use an empty style element to have a document reference,\n\t\t\t but this could be any element. */ }\n\t\t\t<style ref={ useDarkThemeBodyClassName( stylesArray ) } />\n\t\t\t{ transformedStyles.map( ( css, index ) => (\n\t\t\t\t<style key={ index }>{ css }</style>\n\t\t\t) ) }\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tviewBox=\"0 0 0 0\"\n\t\t\t\twidth=\"0\"\n\t\t\t\theight=\"0\"\n\t\t\t\trole=\"none\"\n\t\t\t\tstyle={ {\n\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\tleft: '-9999px',\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t} }\n\t\t\t\tdangerouslySetInnerHTML={ { __html: transformedSvgs } }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -5,17 +5,16 @@
|
|
|
5
5
|
*/
|
|
6
6
|
// Defaults.
|
|
7
7
|
const DEFAULT_MAXIMUM_VIEWPORT_WIDTH = '1600px';
|
|
8
|
-
const DEFAULT_MINIMUM_VIEWPORT_WIDTH = '
|
|
8
|
+
const DEFAULT_MINIMUM_VIEWPORT_WIDTH = '320px';
|
|
9
9
|
const DEFAULT_SCALE_FACTOR = 1;
|
|
10
|
-
const
|
|
10
|
+
const DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN = 0.25;
|
|
11
|
+
const DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX = 0.75;
|
|
11
12
|
const DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px';
|
|
12
13
|
/**
|
|
13
14
|
* Computes a fluid font-size value that uses clamp(). A minimum and maximum
|
|
14
15
|
* font size OR a single font size can be specified.
|
|
15
16
|
*
|
|
16
|
-
* If a single font size is specified, it is scaled up and down
|
|
17
|
-
* minimumFontSizeFactor and maximumFontSizeFactor to arrive at the minimum and
|
|
18
|
-
* maximum sizes.
|
|
17
|
+
* If a single font size is specified, it is scaled up and down using a logarithmic scale.
|
|
19
18
|
*
|
|
20
19
|
* @example
|
|
21
20
|
* ```js
|
|
@@ -31,14 +30,13 @@ const DEFAULT_MINIMUM_FONT_SIZE_LIMIT = '14px';
|
|
|
31
30
|
* ```
|
|
32
31
|
*
|
|
33
32
|
* @param {Object} args
|
|
34
|
-
* @param {?string} args.minimumViewPortWidth
|
|
35
|
-
* @param {?string} args.maximumViewPortWidth
|
|
36
|
-
* @param {string|number} [args.fontSize]
|
|
37
|
-
* @param {?string} args.maximumFontSize
|
|
38
|
-
* @param {?string} args.minimumFontSize
|
|
39
|
-
* @param {?number} args.scaleFactor
|
|
40
|
-
* @param {?
|
|
41
|
-
* @param {?string} args.minimumFontSizeLimit The smallest a calculated font size may be. Optional.
|
|
33
|
+
* @param {?string} args.minimumViewPortWidth Minimum viewport size from which type will have fluidity. Optional if fontSize is specified.
|
|
34
|
+
* @param {?string} args.maximumViewPortWidth Maximum size up to which type will have fluidity. Optional if fontSize is specified.
|
|
35
|
+
* @param {string|number} [args.fontSize] Size to derive maximumFontSize and minimumFontSize from, if necessary. Optional if minimumFontSize and maximumFontSize are specified.
|
|
36
|
+
* @param {?string} args.maximumFontSize Maximum font size for any clamp() calculation. Optional.
|
|
37
|
+
* @param {?string} args.minimumFontSize Minimum font size for any clamp() calculation. Optional.
|
|
38
|
+
* @param {?number} args.scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.
|
|
39
|
+
* @param {?string} args.minimumFontSizeLimit The smallest a calculated font size may be. Optional.
|
|
42
40
|
*
|
|
43
41
|
* @return {string|null} A font-size value using clamp().
|
|
44
42
|
*/
|
|
@@ -51,7 +49,6 @@ export function getComputedFluidTypographyValue(_ref) {
|
|
|
51
49
|
minimumViewPortWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH,
|
|
52
50
|
maximumViewPortWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH,
|
|
53
51
|
scaleFactor = DEFAULT_SCALE_FACTOR,
|
|
54
|
-
minimumFontSizeFactor = DEFAULT_MINIMUM_FONT_SIZE_FACTOR,
|
|
55
52
|
minimumFontSizeLimit
|
|
56
53
|
} = _ref;
|
|
57
54
|
// Validate incoming settings and set defaults.
|
|
@@ -96,6 +93,16 @@ export function getComputedFluidTypographyValue(_ref) {
|
|
|
96
93
|
|
|
97
94
|
|
|
98
95
|
if (!minimumFontSize) {
|
|
96
|
+
const fontSizeValueInPx = fontSizeParsed.unit === 'px' ? fontSizeParsed.value : fontSizeParsed.value * 16;
|
|
97
|
+
/*
|
|
98
|
+
* The scale factor is a multiplier that affects how quickly the curve will move towards the minimum,
|
|
99
|
+
* that is, how quickly the size factor reaches 0 given increasing font size values.
|
|
100
|
+
* For a - b * log2(), lower values of b will make the curve move towards the minimum faster.
|
|
101
|
+
* The scale factor is constrained between min and max values.
|
|
102
|
+
*/
|
|
103
|
+
|
|
104
|
+
const minimumFontSizeFactor = Math.min(Math.max(1 - 0.075 * Math.log2(fontSizeValueInPx), DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN), DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX); // Calculates the minimum font size.
|
|
105
|
+
|
|
99
106
|
const calculatedMinimumFontSize = roundToPrecision(fontSizeParsed.value * minimumFontSizeFactor, 3); // Only use calculated min font size if it's > $minimum_font_size_limit value.
|
|
100
107
|
|
|
101
108
|
if (!!(minimumFontSizeLimitParsed !== null && minimumFontSizeLimitParsed !== void 0 && minimumFontSizeLimitParsed.value) && calculatedMinimumFontSize < (minimumFontSizeLimitParsed === null || minimumFontSizeLimitParsed === void 0 ? void 0 : minimumFontSizeLimitParsed.value)) {
|