@wordpress/block-editor 12.15.0 → 12.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +9 -4
- package/build/components/block-canvas/index.js +22 -6
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-card/index.js +1 -1
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-controls/hook.js +3 -23
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-edit/context.js +5 -1
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/index.js +18 -9
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-info-slot-fill/index.js +3 -4
- package/build/components/block-info-slot-fill/index.js.map +1 -1
- package/build/components/block-list/block.js +28 -9
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +14 -5
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +61 -18
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -29
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +4 -14
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-patterns-list/index.js +1 -1
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +2 -9
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-rename/modal.js +3 -0
- package/build/components/block-rename/modal.js.map +1 -1
- package/build/components/block-settings/container.native.js +6 -4
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-styles/index.js +1 -1
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +3 -2
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-toolbar/index.js +89 -27
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +49 -0
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
- package/build/components/block-tools/block-toolbar-popover.js +86 -0
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -0
- package/build/components/block-tools/index.js +27 -24
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js +4 -3
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +2 -1
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/colors-gradients/control.js +28 -17
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/duotone-control/index.js +1 -4
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/global-styles/color-panel.js +22 -20
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +9 -3
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +20 -31
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/image-link-destinations/index.native.js +118 -0
- package/build/components/image-link-destinations/index.native.js.map +1 -0
- package/build/components/index.native.js +8 -0
- package/build/components/index.native.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +2 -2
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/menu.js +14 -7
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/preview-panel.js +2 -2
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter-button/index.native.js +98 -0
- package/build/components/inserter-button/index.native.js.map +1 -0
- package/build/components/inserter-button/sparkles.js +23 -0
- package/build/components/inserter-button/sparkles.js.map +1 -0
- package/build/components/inserter-draggable-blocks/index.js +8 -4
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inspector-controls/fill.js +3 -3
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +3 -3
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +2 -2
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/preview-options/index.js +6 -62
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/rich-text/content.js +26 -23
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js +2 -1
- package/build/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build/components/rich-text/index.js +2 -30
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +9 -16
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/native/get-format-colors.native.js +22 -24
- package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +7 -34
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +5 -1
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/with-deprecations.js +50 -0
- package/build/components/rich-text/with-deprecations.js.map +1 -0
- package/build/components/use-block-drop-zone/index.js +70 -8
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +1 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js +4 -1
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/use-settings/index.js +14 -0
- package/build/components/use-settings/index.js.map +1 -1
- package/build/hooks/align.js +20 -68
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/align.native.js +11 -1
- package/build/hooks/align.native.js.map +1 -1
- package/build/hooks/anchor.js +13 -29
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/background.js +28 -31
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-hooks.js +24 -32
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-renaming.js +18 -22
- package/build/hooks/block-renaming.js.map +1 -1
- package/build/hooks/border.js +58 -80
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +76 -89
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +29 -29
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/custom-class-name.js +12 -29
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-fields.js +24 -38
- package/build/hooks/custom-fields.js.map +1 -1
- package/build/hooks/dimensions.js +21 -17
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +31 -61
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js +16 -25
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +51 -119
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.js +25 -14
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +10 -3
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout-child.js +68 -0
- package/build/hooks/layout-child.js.map +1 -0
- package/build/hooks/layout.js +16 -101
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/padding.js +2 -2
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/position.js +40 -62
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +51 -88
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/typography.js +34 -14
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/utils.js +154 -7
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +0 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/private-actions.js +8 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +34 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +8 -0
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +10 -60
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +66 -0
- package/build/store/utils.js.map +1 -0
- package/build/utils/object.js +21 -61
- package/build/utils/object.js.map +1 -1
- package/build/utils/selection.js +9 -1
- package/build/utils/selection.js.map +1 -1
- package/build-module/components/block-canvas/index.js +23 -7
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-card/index.js +1 -1
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-controls/hook.js +4 -24
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-edit/context.js +2 -0
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/index.js +19 -10
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-info-slot-fill/index.js +3 -3
- package/build-module/components/block-info-slot-fill/index.js.map +1 -1
- package/build-module/components/block-list/block.js +29 -10
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +14 -5
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +62 -19
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -29
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +4 -14
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +1 -1
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +3 -10
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-rename/modal.js +3 -0
- package/build-module/components/block-rename/modal.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +4 -2
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -1
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +3 -2
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +88 -25
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +41 -0
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
- package/build-module/components/block-tools/block-toolbar-popover.js +76 -0
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -0
- package/build-module/components/block-tools/index.js +27 -24
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +2 -1
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +2 -1
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +29 -18
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/duotone-control/index.js +1 -4
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +23 -21
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +10 -4
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +20 -31
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/image-link-destinations/index.native.js +109 -0
- package/build-module/components/image-link-destinations/index.native.js.map +1 -0
- package/build-module/components/index.native.js +1 -0
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/menu.js +14 -7
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +2 -2
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js +89 -0
- package/build-module/components/inserter-button/index.native.js.map +1 -0
- package/build-module/components/inserter-button/sparkles.js +15 -0
- package/build-module/components/inserter-button/sparkles.js.map +1 -0
- package/build-module/components/inserter-draggable-blocks/index.js +9 -5
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +3 -3
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +3 -3
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +2 -2
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/preview-options/index.js +6 -62
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/rich-text/content.js +25 -21
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js +2 -1
- package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build-module/components/rich-text/index.js +4 -32
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +10 -18
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/native/get-format-colors.native.js +22 -24
- package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +7 -34
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +5 -1
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/with-deprecations.js +42 -0
- package/build-module/components/rich-text/with-deprecations.js.map +1 -0
- package/build-module/components/use-block-drop-zone/index.js +69 -8
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +1 -1
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js +4 -1
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +13 -1
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/hooks/align.js +19 -66
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/align.native.js +1 -0
- package/build-module/hooks/align.native.js.map +1 -1
- package/build-module/hooks/anchor.js +11 -26
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/background.js +26 -28
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-hooks.js +22 -30
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-renaming.js +17 -21
- package/build-module/hooks/block-renaming.js.map +1 -1
- package/build-module/hooks/border.js +57 -78
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +74 -86
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +27 -27
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +11 -27
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-fields.js +20 -39
- package/build-module/hooks/custom-fields.js.map +1 -1
- package/build-module/hooks/dimensions.js +21 -16
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +30 -61
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-family.js +14 -23
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +49 -119
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.js +18 -14
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js +5 -3
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout-child.js +60 -0
- package/build-module/hooks/layout-child.js.map +1 -0
- package/build-module/hooks/layout.js +13 -98
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/padding.js +2 -2
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/position.js +38 -59
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +51 -84
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/typography.js +33 -12
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/utils.js +149 -6
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +0 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/private-actions.js +7 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +33 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +8 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +3 -53
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +56 -0
- package/build-module/store/utils.js.map +1 -0
- package/build-module/utils/object.js +21 -60
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/selection.js +9 -1
- package/build-module/utils/selection.js.map +1 -1
- package/build-style/style-rtl.css +113 -293
- package/build-style/style.css +113 -293
- package/package.json +31 -31
- package/src/components/block-canvas/index.js +31 -17
- package/src/components/block-caption/README.md +2 -2
- package/src/components/block-card/index.js +5 -3
- package/src/components/block-card/style.scss +7 -3
- package/src/components/block-controls/hook.js +8 -30
- package/src/components/block-controls/test/index.js +3 -3
- package/src/components/block-edit/context.js +3 -0
- package/src/components/block-edit/index.js +36 -10
- package/src/components/block-info-slot-fill/index.js +6 -3
- package/src/components/block-inspector/style.scss +0 -4
- package/src/components/block-list/block.js +39 -5
- package/src/components/block-list/block.native.js +18 -4
- package/src/components/block-list/use-block-props/index.js +74 -21
- package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -34
- package/src/components/block-list/use-block-props/use-is-hovered.js +2 -13
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +1 -5
- package/src/components/block-patterns-list/index.js +1 -1
- package/src/components/block-removal-warning-modal/index.js +7 -14
- package/src/components/block-rename/modal.js +7 -1
- package/src/components/block-settings/container.native.js +3 -5
- package/src/components/block-styles/index.js +1 -1
- package/src/components/block-styles/index.native.js +4 -2
- package/src/components/block-styles/style.scss +0 -11
- package/src/components/block-switcher/test/__snapshots__/index.js.snap +3 -1
- package/src/components/block-toolbar/index.js +180 -95
- package/src/components/block-toolbar/style.scss +50 -66
- package/src/components/block-tools/block-toolbar-breadcrumb.js +46 -0
- package/src/components/block-tools/block-toolbar-popover.js +90 -0
- package/src/components/block-tools/index.js +42 -29
- package/src/components/block-tools/style.scss +60 -172
- package/src/components/block-types-list/index.native.js +2 -1
- package/src/components/block-variation-picker/index.native.js +1 -1
- package/src/components/colors-gradients/control.js +49 -30
- package/src/components/colors-gradients/style.scss +0 -7
- package/src/components/duotone-control/index.js +2 -5
- package/src/components/duotone-control/style.scss +1 -6
- package/src/components/global-styles/color-panel.js +34 -25
- package/src/components/global-styles/filters-panel.js +8 -4
- package/src/components/global-styles/typography-panel.js +23 -43
- package/src/components/image-link-destinations/index.native.js +152 -0
- package/src/components/image-link-destinations/style.native.scss +16 -0
- package/src/components/index.native.js +1 -0
- package/src/components/inner-blocks/README.md +13 -2
- package/src/components/inserter/media-tab/media-panel.js +1 -1
- package/src/components/inserter/menu.js +16 -8
- package/src/components/inserter/preview-panel.js +2 -2
- package/src/components/inserter/style.scss +15 -17
- package/src/components/inserter-button/README.md +62 -0
- package/src/components/inserter-button/index.native.js +116 -0
- package/src/components/inserter-button/sparkles.js +15 -0
- package/src/components/inserter-button/style.native.scss +72 -0
- package/src/components/inserter-draggable-blocks/index.js +18 -5
- package/src/components/inspector-controls/fill.js +6 -3
- package/src/components/inspector-controls/fill.native.js +6 -3
- package/src/components/link-control/style.scss +1 -1
- package/src/components/link-control/test/index.js +1 -1
- package/src/components/navigable-toolbar/README.md +2 -0
- package/src/components/navigable-toolbar/index.js +2 -2
- package/src/components/preview-options/index.js +6 -86
- package/src/components/rich-text/content.js +27 -20
- package/src/components/rich-text/get-rich-text-values.js +6 -1
- package/src/components/rich-text/index.js +5 -46
- package/src/components/rich-text/index.native.js +8 -25
- package/src/components/rich-text/native/get-format-colors.native.js +33 -40
- package/src/components/rich-text/native/index.native.js +7 -48
- package/src/components/rich-text/use-input-rules.js +6 -1
- package/src/components/rich-text/with-deprecations.js +51 -0
- package/src/components/use-block-drop-zone/index.js +114 -14
- package/src/components/use-on-block-drop/index.js +2 -1
- package/src/components/use-resize-canvas/README.md +3 -3
- package/src/components/use-resize-canvas/index.js +4 -1
- package/src/components/use-settings/index.js +15 -1
- package/src/hooks/align.js +15 -76
- package/src/hooks/align.native.js +1 -0
- package/src/hooks/anchor.js +13 -33
- package/src/hooks/background.js +28 -23
- package/src/hooks/block-hooks.js +22 -51
- package/src/hooks/block-renaming.js +23 -37
- package/src/hooks/border.js +67 -118
- package/src/hooks/color.js +100 -132
- package/src/hooks/content-lock-ui.js +110 -122
- package/src/hooks/custom-class-name.js +8 -40
- package/src/hooks/custom-fields.js +20 -47
- package/src/hooks/dimensions.js +20 -16
- package/src/hooks/duotone.js +70 -127
- package/src/hooks/font-family.js +10 -29
- package/src/hooks/font-size.js +66 -162
- package/src/hooks/index.js +42 -14
- package/src/hooks/index.native.js +6 -3
- package/src/hooks/layout-child.js +53 -0
- package/src/hooks/layout.js +13 -102
- package/src/hooks/padding.js +2 -2
- package/src/hooks/position.js +50 -90
- package/src/hooks/style.js +117 -187
- package/src/hooks/test/align.js +1 -178
- package/src/hooks/typography.js +20 -16
- package/src/hooks/utils.js +187 -6
- package/src/private-apis.js +0 -2
- package/src/store/private-actions.js +8 -0
- package/src/store/private-selectors.js +45 -0
- package/src/store/reducer.js +8 -0
- package/src/store/selectors.js +5 -69
- package/src/store/utils.js +74 -0
- package/src/style.scss +0 -2
- package/src/utils/object.js +18 -69
- package/src/utils/selection.js +9 -2
- package/build/components/block-list/use-block-props/use-block-class-names.js +0 -67
- package/build/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js +0 -46
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
- package/build/components/block-list/use-block-props/use-block-default-class-name.js +0 -37
- package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
- package/build/components/block-tools/back-compat.js +0 -45
- package/build/components/block-tools/back-compat.js.map +0 -1
- package/build/components/block-tools/block-contextual-toolbar.js +0 -91
- package/build/components/block-tools/block-contextual-toolbar.js.map +0 -1
- package/build/components/block-tools/selected-block-tools.js +0 -113
- package/build/components/block-tools/selected-block-tools.js.map +0 -1
- package/build/components/inserter/hooks/use-debounced-input.js +0 -22
- package/build/components/inserter/hooks/use-debounced-input.js.map +0 -1
- package/build/components/use-display-block-controls/index.js +0 -39
- package/build/components/use-display-block-controls/index.js.map +0 -1
- package/build/components/use-display-block-controls/index.native.js +0 -39
- package/build/components/use-display-block-controls/index.native.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-class-names.js +0 -60
- package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +0 -40
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +0 -31
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
- package/build-module/components/block-tools/back-compat.js +0 -35
- package/build-module/components/block-tools/back-compat.js.map +0 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +0 -83
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +0 -1
- package/build-module/components/block-tools/selected-block-tools.js +0 -105
- package/build-module/components/block-tools/selected-block-tools.js.map +0 -1
- package/build-module/components/inserter/hooks/use-debounced-input.js +0 -15
- package/build-module/components/inserter/hooks/use-debounced-input.js.map +0 -1
- package/build-module/components/use-display-block-controls/index.js +0 -32
- package/build-module/components/use-display-block-controls/index.js.map +0 -1
- package/build-module/components/use-display-block-controls/index.native.js +0 -32
- package/build-module/components/use-display-block-controls/index.native.js.map +0 -1
- package/src/components/block-list/use-block-props/use-block-class-names.js +0 -66
- package/src/components/block-list/use-block-props/use-block-custom-class-name.js +0 -44
- package/src/components/block-list/use-block-props/use-block-default-class-name.js +0 -35
- package/src/components/block-parent-selector/style.scss +0 -11
- package/src/components/block-tools/back-compat.js +0 -35
- package/src/components/block-tools/block-contextual-toolbar.js +0 -100
- package/src/components/block-tools/selected-block-tools.js +0 -127
- package/src/components/inserter/hooks/use-debounced-input.js +0 -18
- package/src/components/preview-options/README.md +0 -94
- package/src/components/preview-options/style.scss +0 -64
- package/src/components/use-display-block-controls/index.js +0 -36
- package/src/components/use-display-block-controls/index.native.js +0 -37
- package/src/hooks/test/color.js +0 -112
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_blocks","_data","_element","_i18n","_utils","_preview","_interopRequireDefault","_style","_store","BlockStyles","clientId","url","selector","select","getBlock","blockEditorStore","getBlockStyles","blocksStore","block","styles","name","className","attributes","useSelect","updateBlockAttributes","useDispatch","renderedStyles","find","style","isDefault","label","_x","mappedRenderedStyles","useMemo","activeStyle","getActiveStyle","map","styleClassName","replaceActiveStyle","isActive","onStylePress","_react","createElement","default","onPress","key","length","ScrollView","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","containerStyles","content","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-styles/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ScrollView } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getActiveStyle, replaceActiveStyle } from './utils';\nimport StylePreview from './preview';\nimport containerStyles from './style.scss';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockStyles( { clientId, url } ) {\n\tconst selector = ( select ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\t\tconst { getBlockStyles } = select( blocksStore );\n\t\tconst block = getBlock( clientId );\n\t\treturn {\n\t\t\tstyles: getBlockStyles( block
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_blocks","_data","_element","_i18n","_utils","_preview","_interopRequireDefault","_style","_store","EMPTY_ARRAY","BlockStyles","clientId","url","selector","select","getBlock","blockEditorStore","getBlockStyles","blocksStore","block","styles","name","className","attributes","useSelect","updateBlockAttributes","useDispatch","renderedStyles","find","style","isDefault","label","_x","mappedRenderedStyles","useMemo","activeStyle","getActiveStyle","map","styleClassName","replaceActiveStyle","isActive","onStylePress","_react","createElement","default","onPress","key","length","ScrollView","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","containerStyles","content","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-styles/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ScrollView } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getActiveStyle, replaceActiveStyle } from './utils';\nimport StylePreview from './preview';\nimport containerStyles from './style.scss';\nimport { store as blockEditorStore } from '../../store';\n\nconst EMPTY_ARRAY = [];\n\nfunction BlockStyles( { clientId, url } ) {\n\tconst selector = ( select ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\t\tconst { getBlockStyles } = select( blocksStore );\n\t\tconst block = getBlock( clientId );\n\t\treturn {\n\t\t\tstyles: getBlockStyles( block?.name ) || EMPTY_ARRAY,\n\t\t\tclassName: block?.attributes?.className || '',\n\t\t};\n\t};\n\n\tconst { styles, className } = useSelect( selector, [ clientId ] );\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst renderedStyles = styles?.find( ( style ) => style.isDefault )\n\t\t? styles\n\t\t: [\n\t\t\t\t{\n\t\t\t\t\tname: 'default',\n\t\t\t\t\tlabel: _x( 'Default', 'block style' ),\n\t\t\t\t\tisDefault: true,\n\t\t\t\t},\n\t\t\t\t...styles,\n\t\t ];\n\n\tconst mappedRenderedStyles = useMemo( () => {\n\t\tconst activeStyle = getActiveStyle( renderedStyles, className );\n\n\t\treturn renderedStyles.map( ( style ) => {\n\t\t\tconst styleClassName = replaceActiveStyle(\n\t\t\t\tclassName,\n\t\t\t\tactiveStyle,\n\t\t\t\tstyle\n\t\t\t);\n\t\t\tconst isActive = activeStyle === style;\n\n\t\t\tconst onStylePress = () => {\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\tclassName: styleClassName,\n\t\t\t\t} );\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<StylePreview\n\t\t\t\t\tonPress={ onStylePress }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tkey={ style.name }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t\turl={ url }\n\t\t\t\t/>\n\t\t\t);\n\t\t} );\n\t}, [ renderedStyles, className, clientId ] );\n\n\tif ( ! styles || styles.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ScrollView\n\t\t\thorizontal\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tcontentContainerStyle={ containerStyles.content }\n\t\t>\n\t\t\t{ mappedRenderedStyles }\n\t\t</ScrollView>\n\t);\n}\n\nexport default BlockStyles;\n"],"mappings":"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"}
|
|
@@ -4,9 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.PrivateBlockToolbar = PrivateBlockToolbar;
|
|
8
|
+
exports.default = BlockToolbar;
|
|
8
9
|
var _react = require("react");
|
|
9
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
var _i18n = require("@wordpress/i18n");
|
|
10
12
|
var _data = require("@wordpress/data");
|
|
11
13
|
var _element = require("@wordpress/element");
|
|
12
14
|
var _compose = require("@wordpress/compose");
|
|
@@ -24,6 +26,8 @@ var _blockEditVisuallyButton = _interopRequireDefault(require("../block-edit-vis
|
|
|
24
26
|
var _utils = require("./utils");
|
|
25
27
|
var _store = require("../../store");
|
|
26
28
|
var _blockNameContext = _interopRequireDefault(require("./block-name-context"));
|
|
29
|
+
var _navigableToolbar = _interopRequireDefault(require("../navigable-toolbar"));
|
|
30
|
+
var _useHasBlockControls = require("../block-controls/use-has-block-controls");
|
|
27
31
|
/**
|
|
28
32
|
* External dependencies
|
|
29
33
|
*/
|
|
@@ -36,19 +40,37 @@ var _blockNameContext = _interopRequireDefault(require("./block-name-context"));
|
|
|
36
40
|
* Internal dependencies
|
|
37
41
|
*/
|
|
38
42
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Renders the block toolbar.
|
|
45
|
+
*
|
|
46
|
+
* @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md
|
|
47
|
+
*
|
|
48
|
+
* @param {Object} props Components props.
|
|
49
|
+
* @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.
|
|
50
|
+
* @param {boolean} props.focusOnMount Focus the toolbar when mounted.
|
|
51
|
+
* @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.
|
|
52
|
+
* @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.
|
|
53
|
+
* @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.
|
|
54
|
+
*/
|
|
55
|
+
function PrivateBlockToolbar({
|
|
56
|
+
hideDragHandle,
|
|
57
|
+
focusOnMount,
|
|
58
|
+
__experimentalInitialIndex,
|
|
59
|
+
__experimentalOnIndexChange,
|
|
60
|
+
variant = 'unstyled'
|
|
61
|
+
}) {
|
|
42
62
|
const {
|
|
63
|
+
blockClientId,
|
|
43
64
|
blockClientIds,
|
|
65
|
+
isDefaultEditingMode,
|
|
44
66
|
blockType,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
blockEditingMode
|
|
67
|
+
shouldShowVisualToolbar,
|
|
68
|
+
showParentSelector
|
|
48
69
|
} = (0, _data.useSelect)(select => {
|
|
49
70
|
const {
|
|
50
71
|
getBlockName,
|
|
51
72
|
getBlockMode,
|
|
73
|
+
getBlockParents,
|
|
52
74
|
getSelectedBlockClientIds,
|
|
53
75
|
isBlockValid,
|
|
54
76
|
getBlockRootClientId,
|
|
@@ -57,13 +79,21 @@ const BlockToolbar = ({
|
|
|
57
79
|
const selectedBlockClientIds = getSelectedBlockClientIds();
|
|
58
80
|
const selectedBlockClientId = selectedBlockClientIds[0];
|
|
59
81
|
const blockRootClientId = getBlockRootClientId(selectedBlockClientId);
|
|
82
|
+
const parents = getBlockParents(selectedBlockClientId);
|
|
83
|
+
const firstParentClientId = parents[parents.length - 1];
|
|
84
|
+
const parentBlockName = getBlockName(firstParentClientId);
|
|
85
|
+
const parentBlockType = (0, _blocks.getBlockType)(parentBlockName);
|
|
86
|
+
const _isDefaultEditingMode = getBlockEditingMode(selectedBlockClientId) === 'default';
|
|
87
|
+
const isValid = selectedBlockClientIds.every(id => isBlockValid(id));
|
|
88
|
+
const isVisual = selectedBlockClientIds.every(id => getBlockMode(id) === 'visual');
|
|
60
89
|
return {
|
|
90
|
+
blockClientId: selectedBlockClientId,
|
|
61
91
|
blockClientIds: selectedBlockClientIds,
|
|
92
|
+
isDefaultEditingMode: _isDefaultEditingMode,
|
|
62
93
|
blockType: selectedBlockClientId && (0, _blocks.getBlockType)(getBlockName(selectedBlockClientId)),
|
|
94
|
+
shouldShowVisualToolbar: isValid && isVisual,
|
|
63
95
|
rootClientId: blockRootClientId,
|
|
64
|
-
|
|
65
|
-
isVisual: selectedBlockClientIds.every(id => getBlockMode(id) === 'visual'),
|
|
66
|
-
blockEditingMode: getBlockEditingMode(selectedBlockClientId)
|
|
96
|
+
showParentSelector: parentBlockType && getBlockEditingMode(firstParentClientId) === 'default' && (0, _blocks.hasBlockSupport)(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length === 1 && _isDefaultEditingMode
|
|
67
97
|
};
|
|
68
98
|
}, []);
|
|
69
99
|
const toolbarWrapperRef = (0, _element.useRef)(null);
|
|
@@ -75,24 +105,40 @@ const BlockToolbar = ({
|
|
|
75
105
|
ref: nodeRef
|
|
76
106
|
});
|
|
77
107
|
const isLargeViewport = !(0, _compose.useViewportMatch)('medium', '<');
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (blockClientIds.length === 0) {
|
|
108
|
+
const isToolbarEnabled = blockType && (0, _blocks.hasBlockSupport)(blockType, '__experimentalToolbar', true);
|
|
109
|
+
const hasAnyBlockControls = (0, _useHasBlockControls.useHasAnyBlockControls)();
|
|
110
|
+
if (!isToolbarEnabled || !isDefaultEditingMode && !hasAnyBlockControls) {
|
|
84
111
|
return null;
|
|
85
112
|
}
|
|
86
|
-
const shouldShowVisualToolbar = isValid && isVisual;
|
|
87
113
|
const isMultiToolbar = blockClientIds.length > 1;
|
|
88
114
|
const isSynced = (0, _blocks.isReusableBlock)(blockType) || (0, _blocks.isTemplatePart)(blockType);
|
|
89
|
-
|
|
115
|
+
|
|
116
|
+
// Shifts the toolbar to make room for the parent block selector.
|
|
117
|
+
const classes = (0, _classnames.default)('block-editor-block-contextual-toolbar', {
|
|
118
|
+
'has-parent': showParentSelector
|
|
119
|
+
});
|
|
120
|
+
const innerClasses = (0, _classnames.default)('block-editor-block-toolbar', {
|
|
90
121
|
'is-synced': isSynced
|
|
91
122
|
});
|
|
92
|
-
return (0, _react.createElement)(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
123
|
+
return (0, _react.createElement)(_navigableToolbar.default, {
|
|
124
|
+
focusEditorOnEscape: true,
|
|
125
|
+
className: classes
|
|
126
|
+
/* translators: accessibility text for the block toolbar */,
|
|
127
|
+
"aria-label": (0, _i18n.__)('Block tools')
|
|
128
|
+
// The variant is applied as "toolbar" when undefined, which is the black border style of the dropdown from the toolbar popover.
|
|
129
|
+
,
|
|
130
|
+
variant: variant === 'toolbar' ? undefined : variant,
|
|
131
|
+
focusOnMount: focusOnMount,
|
|
132
|
+
__experimentalInitialIndex: __experimentalInitialIndex,
|
|
133
|
+
__experimentalOnIndexChange: __experimentalOnIndexChange
|
|
134
|
+
// Resets the index whenever the active block changes so
|
|
135
|
+
// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169
|
|
136
|
+
,
|
|
137
|
+
key: blockClientId
|
|
138
|
+
}, (0, _react.createElement)("div", {
|
|
139
|
+
ref: toolbarWrapperRef,
|
|
140
|
+
className: innerClasses
|
|
141
|
+
}, !isMultiToolbar && isLargeViewport && isDefaultEditingMode && (0, _react.createElement)(_blockParentSelector.default, null), (shouldShowVisualToolbar || isMultiToolbar) && isDefaultEditingMode && (0, _react.createElement)("div", {
|
|
96
142
|
ref: nodeRef,
|
|
97
143
|
...showHoveredOrFocusedGestures
|
|
98
144
|
}, (0, _react.createElement)(_components.ToolbarGroup, {
|
|
@@ -123,14 +169,30 @@ const BlockToolbar = ({
|
|
|
123
169
|
value: blockType?.name
|
|
124
170
|
}, (0, _react.createElement)(_blockToolbarLastItem.default.Slot, null))), (0, _react.createElement)(_blockEditVisuallyButton.default, {
|
|
125
171
|
clientIds: blockClientIds
|
|
126
|
-
}),
|
|
172
|
+
}), isDefaultEditingMode && (0, _react.createElement)(_blockSettingsMenu.default, {
|
|
127
173
|
clientIds: blockClientIds
|
|
128
|
-
}));
|
|
129
|
-
}
|
|
174
|
+
})));
|
|
175
|
+
}
|
|
130
176
|
|
|
131
177
|
/**
|
|
178
|
+
* Renders the block toolbar.
|
|
179
|
+
*
|
|
132
180
|
* @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md
|
|
181
|
+
*
|
|
182
|
+
* @param {Object} props Components props.
|
|
183
|
+
* @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.
|
|
184
|
+
* @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.
|
|
133
185
|
*/
|
|
134
|
-
|
|
135
|
-
|
|
186
|
+
function BlockToolbar({
|
|
187
|
+
hideDragHandle,
|
|
188
|
+
variant
|
|
189
|
+
}) {
|
|
190
|
+
return (0, _react.createElement)(PrivateBlockToolbar, {
|
|
191
|
+
hideDragHandle: hideDragHandle,
|
|
192
|
+
variant: variant,
|
|
193
|
+
focusOnMount: undefined,
|
|
194
|
+
__experimentalInitialIndex: undefined,
|
|
195
|
+
__experimentalOnIndexChange: undefined
|
|
196
|
+
});
|
|
197
|
+
}
|
|
136
198
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_compose","_blocks","_components","_blockMover","_blockParentSelector","_blockSwitcher","_blockControls","_blockToolbarLastItem","_blockSettingsMenu","_blockLock","_convertToGroupButtons","_blockEditVisuallyButton","_utils","_store","_blockNameContext","BlockToolbar","hideDragHandle","blockClientIds","blockType","isValid","isVisual","blockEditingMode","useSelect","select","getBlockName","getBlockMode","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getBlockEditingMode","blockEditorStore","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","getBlockType","rootClientId","every","id","toolbarWrapperRef","useRef","nodeRef","showHoveredOrFocusedGestures","useShowHoveredOrFocusedGestures","ref","isLargeViewport","useViewportMatch","hasBlockSupport","length","shouldShowVisualToolbar","isMultiToolbar","isSynced","isReusableBlock","isTemplatePart","classes","classnames","_react","createElement","className","default","ToolbarGroup","clientIds","BlockLockToolbar","clientId","wrapperRef","BlockGroupToolbar","Fragment","Slot","group","Provider","value","name","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } 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 { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\n\nconst BlockToolbar = ( { hideDragHandle } ) => {\n\tconst { blockClientIds, blockType, isValid, isVisual, blockEditingMode } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tisBlockValid,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst blockRootClientId = getBlockRootClientId(\n\t\t\t\tselectedBlockClientId\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\t\tblockType:\n\t\t\t\t\tselectedBlockClientId &&\n\t\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) ),\n\t\t\t\trootClientId: blockRootClientId,\n\t\t\t\tisValid: selectedBlockClientIds.every( ( id ) =>\n\t\t\t\t\tisBlockValid( id )\n\t\t\t\t),\n\t\t\t\tisVisual: selectedBlockClientIds.every(\n\t\t\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t\t\t),\n\t\t\t\tblockEditingMode: getBlockEditingMode( selectedBlockClientId ),\n\t\t\t};\n\t\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\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\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-synced': isSynced,\n\t} );\n\n\treturn (\n\t\t<div className={ classes } ref={ toolbarWrapperRef }>\n\t\t\t{ ! isMultiToolbar &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tblockEditingMode === 'default' && <BlockParentSelector /> }\n\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\tblockEditingMode === 'default' && (\n\t\t\t\t\t<div ref={ nodeRef } { ...showHoveredOrFocusedGestures }>\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\twrapperRef={ toolbarWrapperRef }\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</div>\n\t\t\t\t) }\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{ blockEditingMode === 'default' && (\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_data","_element","_compose","_blocks","_components","_blockMover","_blockParentSelector","_blockSwitcher","_blockControls","_blockToolbarLastItem","_blockSettingsMenu","_blockLock","_convertToGroupButtons","_blockEditVisuallyButton","_utils","_store","_blockNameContext","_navigableToolbar","_useHasBlockControls","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","shouldShowVisualToolbar","showParentSelector","useSelect","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getBlockEditingMode","blockEditorStore","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","getBlockType","_isDefaultEditingMode","isValid","every","id","isVisual","rootClientId","hasBlockSupport","toolbarWrapperRef","useRef","nodeRef","showHoveredOrFocusedGestures","useShowHoveredOrFocusedGestures","ref","isLargeViewport","useViewportMatch","isToolbarEnabled","hasAnyBlockControls","useHasAnyBlockControls","isMultiToolbar","isSynced","isReusableBlock","isTemplatePart","classes","classnames","innerClasses","_react","createElement","default","focusEditorOnEscape","className","__","undefined","key","ToolbarGroup","clientIds","BlockLockToolbar","clientId","wrapperRef","BlockGroupToolbar","Fragment","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } 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 { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport NavigableToolbar from '../navigable-toolbar';\nimport { useHasAnyBlockControls } from '../block-controls/use-has-block-controls';\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {boolean} props.focusOnMount Focus the toolbar when mounted.\n * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.\n * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport function PrivateBlockToolbar( {\n\thideDragHandle,\n\tfocusOnMount,\n\t__experimentalInitialIndex,\n\t__experimentalOnIndexChange,\n\tvariant = 'unstyled',\n} ) {\n\tconst {\n\t\tblockClientId,\n\t\tblockClientIds,\n\t\tisDefaultEditingMode,\n\t\tblockType,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockEditingMode,\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 parents = getBlockParents( selectedBlockClientId );\n\t\tconst firstParentClientId = parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( firstParentClientId );\n\t\tconst parentBlockType = getBlockType( parentBlockName );\n\t\tconst _isDefaultEditingMode =\n\t\t\tgetBlockEditingMode( selectedBlockClientId ) === 'default';\n\t\tconst isValid = selectedBlockClientIds.every( ( id ) =>\n\t\t\tisBlockValid( id )\n\t\t);\n\t\tconst isVisual = selectedBlockClientIds.every(\n\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t);\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockType:\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) ),\n\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\trootClientId: blockRootClientId,\n\t\t\tshowParentSelector:\n\t\t\t\tparentBlockType &&\n\t\t\t\tgetBlockEditingMode( firstParentClientId ) === 'default' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tparentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t) &&\n\t\t\t\tselectedBlockClientIds.length === 1 &&\n\t\t\t\t_isDefaultEditingMode,\n\t\t};\n\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tconst isToolbarEnabled =\n\t\tblockType &&\n\t\thasBlockSupport( blockType, '__experimentalToolbar', true );\n\tconst hasAnyBlockControls = useHasAnyBlockControls();\n\n\tif (\n\t\t! isToolbarEnabled ||\n\t\t( ! isDefaultEditingMode && ! hasAnyBlockControls )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\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': showParentSelector,\n\t} );\n\n\tconst innerClasses = classnames( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusEditorOnEscape\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// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant={ variant === 'toolbar' ? undefined : variant }\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t__experimentalInitialIndex={ __experimentalInitialIndex }\n\t\t\t__experimentalOnIndexChange={ __experimentalOnIndexChange }\n\t\t\t// Resets the index whenever the active block changes so\n\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\tkey={ blockClientId }\n\t\t>\n\t\t\t<div ref={ toolbarWrapperRef } className={ innerClasses }>\n\t\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t\tisLargeViewport &&\n\t\t\t\t\tisDefaultEditingMode && <BlockParentSelector /> }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\tisDefaultEditingMode && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ nodeRef }\n\t\t\t\t\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\tclientId={ blockClientIds[ 0 ] }\n\t\t\t\t\t\t\t\t\t\twrapperRef={ toolbarWrapperRef }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t\t<BlockGroupToolbar />\n\t\t\t\t) }\n\t\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t\t{ isDefaultEditingMode && (\n\t\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport default function BlockToolbar( { hideDragHandle, variant } ) {\n\treturn (\n\t\t<PrivateBlockToolbar\n\t\t\thideDragHandle={ hideDragHandle }\n\t\t\tvariant={ variant }\n\t\t\tfocusOnMount={ undefined }\n\t\t\t__experimentalInitialIndex={ undefined }\n\t\t\t__experimentalOnIndexChange={ undefined }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAMA,IAAAM,WAAA,GAAAN,OAAA;AAKA,IAAAO,WAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,oBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,cAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,cAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,qBAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,kBAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,UAAA,GAAAb,OAAA;AACA,IAAAc,sBAAA,GAAAd,OAAA;AACA,IAAAe,wBAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,MAAA,GAAAhB,OAAA;AACA,IAAAiB,MAAA,GAAAjB,OAAA;AACA,IAAAkB,iBAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,iBAAA,GAAApB,sBAAA,CAAAC,OAAA;AACA,IAAAoB,oBAAA,GAAApB,OAAA;AApCA;AACA;AACA;;AAGA;AACA;AACA;;AAaA;AACA;AACA;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASqB,mBAAmBA,CAAE;EACpCC,cAAc;EACdC,YAAY;EACZC,0BAA0B;EAC1BC,2BAA2B;EAC3BC,OAAO,GAAG;AACX,CAAC,EAAG;EACH,MAAM;IACLC,aAAa;IACbC,cAAc;IACdC,oBAAoB;IACpBC,SAAS;IACTC,uBAAuB;IACvBC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC5B,MAAM;MACLC,YAAY;MACZC,YAAY;MACZC,eAAe;MACfC,yBAAyB;MACzBC,YAAY;MACZC,oBAAoB;MACpBC;IACD,CAAC,GAAGP,MAAM,CAAEQ,YAAiB,CAAC;IAC9B,MAAMC,sBAAsB,GAAGL,yBAAyB,CAAC,CAAC;IAC1D,MAAMM,qBAAqB,GAAGD,sBAAsB,CAAE,CAAC,CAAE;IACzD,MAAME,iBAAiB,GAAGL,oBAAoB,CAAEI,qBAAsB,CAAC;IACvE,MAAME,OAAO,GAAGT,eAAe,CAAEO,qBAAsB,CAAC;IACxD,MAAMG,mBAAmB,GAAGD,OAAO,CAAEA,OAAO,CAACE,MAAM,GAAG,CAAC,CAAE;IACzD,MAAMC,eAAe,GAAGd,YAAY,CAAEY,mBAAoB,CAAC;IAC3D,MAAMG,eAAe,GAAG,IAAAC,oBAAY,EAAEF,eAAgB,CAAC;IACvD,MAAMG,qBAAqB,GAC1BX,mBAAmB,CAAEG,qBAAsB,CAAC,KAAK,SAAS;IAC3D,MAAMS,OAAO,GAAGV,sBAAsB,CAACW,KAAK,CAAIC,EAAE,IACjDhB,YAAY,CAAEgB,EAAG,CAClB,CAAC;IACD,MAAMC,QAAQ,GAAGb,sBAAsB,CAACW,KAAK,CAC1CC,EAAE,IAAMnB,YAAY,CAAEmB,EAAG,CAAC,KAAK,QAClC,CAAC;IACD,OAAO;MACN5B,aAAa,EAAEiB,qBAAqB;MACpChB,cAAc,EAAEe,sBAAsB;MACtCd,oBAAoB,EAAEuB,qBAAqB;MAC3CtB,SAAS,EACRc,qBAAqB,IACrB,IAAAO,oBAAY,EAAEhB,YAAY,CAAES,qBAAsB,CAAE,CAAC;MAEtDb,uBAAuB,EAAEsB,OAAO,IAAIG,QAAQ;MAC5CC,YAAY,EAAEZ,iBAAiB;MAC/Bb,kBAAkB,EACjBkB,eAAe,IACfT,mBAAmB,CAAEM,mBAAoB,CAAC,KAAK,SAAS,IACxD,IAAAW,uBAAe,EACdR,eAAe,EACf,8BAA8B,EAC9B,IACD,CAAC,IACDP,sBAAsB,CAACK,MAAM,KAAK,CAAC,IACnCI;IACF,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMO,iBAAiB,GAAG,IAAAC,eAAM,EAAE,IAAK,CAAC;;EAExC;EACA;EACA,MAAMC,OAAO,GAAG,IAAAD,eAAM,EAAC,CAAC;EACxB,MAAME,4BAA4B,GAAG,IAAAC,sCAA+B,EAAE;IACrEC,GAAG,EAAEH;EACN,CAAE,CAAC;EAEH,MAAMI,eAAe,GAAG,CAAE,IAAAC,yBAAgB,EAAE,QAAQ,EAAE,GAAI,CAAC;EAE3D,MAAMC,gBAAgB,GACrBrC,SAAS,IACT,IAAA4B,uBAAe,EAAE5B,SAAS,EAAE,uBAAuB,EAAE,IAAK,CAAC;EAC5D,MAAMsC,mBAAmB,GAAG,IAAAC,2CAAsB,EAAC,CAAC;EAEpD,IACC,CAAEF,gBAAgB,IAChB,CAAEtC,oBAAoB,IAAI,CAAEuC,mBAAqB,EAClD;IACD,OAAO,IAAI;EACZ;EAEA,MAAME,cAAc,GAAG1C,cAAc,CAACoB,MAAM,GAAG,CAAC;EAChD,MAAMuB,QAAQ,GACb,IAAAC,uBAAe,EAAE1C,SAAU,CAAC,IAAI,IAAA2C,sBAAc,EAAE3C,SAAU,CAAC;;EAE5D;EACA,MAAM4C,OAAO,GAAG,IAAAC,mBAAU,EAAE,uCAAuC,EAAE;IACpE,YAAY,EAAE3C;EACf,CAAE,CAAC;EAEH,MAAM4C,YAAY,GAAG,IAAAD,mBAAU,EAAE,4BAA4B,EAAE;IAC9D,WAAW,EAAEJ;EACd,CAAE,CAAC;EAEH,OACC,IAAAM,MAAA,CAAAC,aAAA,EAAC3D,iBAAA,CAAA4D,OAAgB;IAChBC,mBAAmB;IACnBC,SAAS,EAAGP;IACZ;IACA,cAAa,IAAAQ,QAAE,EAAE,aAAc;IAC/B;IAAA;IACAxD,OAAO,EAAGA,OAAO,KAAK,SAAS,GAAGyD,SAAS,GAAGzD,OAAS;IACvDH,YAAY,EAAGA,YAAc;IAC7BC,0BAA0B,EAAGA,0BAA4B;IACzDC,2BAA2B,EAAGA;IAC9B;IACA;IAAA;IACA2D,GAAG,EAAGzD;EAAe,GAErB,IAAAkD,MAAA,CAAAC,aAAA;IAAKd,GAAG,EAAGL,iBAAmB;IAACsB,SAAS,EAAGL;EAAc,GACtD,CAAEN,cAAc,IACjBL,eAAe,IACfpC,oBAAoB,IAAI,IAAAgD,MAAA,CAAAC,aAAA,EAACtE,oBAAA,CAAAuE,OAAmB,MAAE,CAAC,EAC9C,CAAEhD,uBAAuB,IAAIuC,cAAc,KAC5CzC,oBAAoB,IACnB,IAAAgD,MAAA,CAAAC,aAAA;IACCd,GAAG,EAAGH,OAAS;IAAA,GACVC;EAA4B,GAEjC,IAAAe,MAAA,CAAAC,aAAA,EAACxE,WAAA,CAAA+E,YAAY;IAACJ,SAAS,EAAC;EAA4C,GACnE,IAAAJ,MAAA,CAAAC,aAAA,EAACrE,cAAA,CAAAsE,OAAa;IAACO,SAAS,EAAG1D;EAAgB,CAAE,CAAC,EAC5C,CAAE0C,cAAc,IACjB,IAAAO,MAAA,CAAAC,aAAA,EAACjE,UAAA,CAAA0E,gBAAgB;IAChBC,QAAQ,EAAG5D,cAAc,CAAE,CAAC,CAAI;IAChC6D,UAAU,EAAG9B;EAAmB,CAChC,CACD,EACD,IAAAkB,MAAA,CAAAC,aAAA,EAACvE,WAAA,CAAAwE,OAAU;IACVO,SAAS,EAAG1D,cAAgB;IAC5BN,cAAc,EAAGA;EAAgB,CACjC,CACY,CACV,CACL,EACAS,uBAAuB,IAAIuC,cAAc,IAC1C,IAAAO,MAAA,CAAAC,aAAA,EAAChE,sBAAA,CAAA4E,iBAAiB,MAAE,CACpB,EACC3D,uBAAuB,IACxB,IAAA8C,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAc,QAAA,QACC,IAAAd,MAAA,CAAAC,aAAA,EAACpE,cAAA,CAAAqE,OAAa,CAACa,IAAI;IAClBC,KAAK,EAAC,QAAQ;IACdZ,SAAS,EAAC;EAAkC,CAC5C,CAAC,EACF,IAAAJ,MAAA,CAAAC,aAAA,EAACpE,cAAA,CAAAqE,OAAa,CAACa,IAAI;IAClBC,KAAK,EAAC,OAAO;IACbZ,SAAS,EAAC;EAAkC,CAC5C,CAAC,EACF,IAAAJ,MAAA,CAAAC,aAAA,EAACpE,cAAA,CAAAqE,OAAa,CAACa,IAAI;IAACX,SAAS,EAAC;EAAkC,CAAE,CAAC,EACnE,IAAAJ,MAAA,CAAAC,aAAA,EAACpE,cAAA,CAAAqE,OAAa,CAACa,IAAI;IAClBC,KAAK,EAAC,QAAQ;IACdZ,SAAS,EAAC;EAAkC,CAC5C,CAAC,EACF,IAAAJ,MAAA,CAAAC,aAAA,EAACpE,cAAA,CAAAqE,OAAa,CAACa,IAAI;IAClBC,KAAK,EAAC,OAAO;IACbZ,SAAS,EAAC;EAAkC,CAC5C,CAAC,EACF,IAAAJ,MAAA,CAAAC,aAAA,EAAC5D,iBAAA,CAAA6D,OAA0B,CAACe,QAAQ;IACnCC,KAAK,EAAGjE,SAAS,EAAEkE;EAAM,GAEzB,IAAAnB,MAAA,CAAAC,aAAA,EAACnE,qBAAA,CAAAoE,OAA8B,CAACa,IAAI,MAAE,CACF,CACpC,CACF,EACD,IAAAf,MAAA,CAAAC,aAAA,EAAC/D,wBAAA,CAAAgE,OAAuB;IAACO,SAAS,EAAG1D;EAAgB,CAAE,CAAC,EACtDC,oBAAoB,IACrB,IAAAgD,MAAA,CAAAC,aAAA,EAAClE,kBAAA,CAAAmE,OAAiB;IAACO,SAAS,EAAG1D;EAAgB,CAAE,CAE9C,CACY,CAAC;AAErB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASqE,YAAYA,CAAE;EAAE3E,cAAc;EAAEI;AAAQ,CAAC,EAAG;EACnE,OACC,IAAAmD,MAAA,CAAAC,aAAA,EAACzD,mBAAmB;IACnBC,cAAc,EAAGA,cAAgB;IACjCI,OAAO,EAAGA,OAAS;IACnBH,YAAY,EAAG4D,SAAW;IAC1B3D,0BAA0B,EAAG2D,SAAW;IACxC1D,2BAA2B,EAAG0D;EAAW,CACzC,CAAC;AAEJ"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = BlockToolbarBreadcrumb;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _blockSelectionButton = _interopRequireDefault(require("./block-selection-button"));
|
|
11
|
+
var _blockPopover = _interopRequireDefault(require("../block-popover"));
|
|
12
|
+
var _useBlockToolbarPopoverProps = _interopRequireDefault(require("./use-block-toolbar-popover-props"));
|
|
13
|
+
var _useSelectedBlockToolProps = _interopRequireDefault(require("./use-selected-block-tool-props"));
|
|
14
|
+
/**
|
|
15
|
+
* External dependencies
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Internal dependencies
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
function BlockToolbarBreadcrumb({
|
|
23
|
+
clientId,
|
|
24
|
+
__unstableContentRef
|
|
25
|
+
}) {
|
|
26
|
+
const {
|
|
27
|
+
capturingClientId,
|
|
28
|
+
isInsertionPointVisible,
|
|
29
|
+
lastClientId,
|
|
30
|
+
rootClientId
|
|
31
|
+
} = (0, _useSelectedBlockToolProps.default)(clientId);
|
|
32
|
+
const popoverProps = (0, _useBlockToolbarPopoverProps.default)({
|
|
33
|
+
contentElement: __unstableContentRef?.current,
|
|
34
|
+
clientId
|
|
35
|
+
});
|
|
36
|
+
return (0, _react.createElement)(_blockPopover.default, {
|
|
37
|
+
clientId: capturingClientId || clientId,
|
|
38
|
+
bottomClientId: lastClientId,
|
|
39
|
+
className: (0, _classnames.default)('block-editor-block-list__block-popover', {
|
|
40
|
+
'is-insertion-point-visible': isInsertionPointVisible
|
|
41
|
+
}),
|
|
42
|
+
resize: false,
|
|
43
|
+
...popoverProps
|
|
44
|
+
}, (0, _react.createElement)(_blockSelectionButton.default, {
|
|
45
|
+
clientId: clientId,
|
|
46
|
+
rootClientId: rootClientId
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=block-toolbar-breadcrumb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blockSelectionButton","_blockPopover","_useBlockToolbarPopoverProps","_useSelectedBlockToolProps","BlockToolbarBreadcrumb","clientId","__unstableContentRef","capturingClientId","isInsertionPointVisible","lastClientId","rootClientId","useSelectedBlockToolProps","popoverProps","useBlockToolbarPopoverProps","contentElement","current","_react","createElement","default","bottomClientId","className","classnames","resize"],"sources":["@wordpress/block-editor/src/components/block-tools/block-toolbar-breadcrumb.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport BlockSelectionButton from './block-selection-button';\nimport BlockPopover from '../block-popover';\nimport useBlockToolbarPopoverProps from './use-block-toolbar-popover-props';\nimport useSelectedBlockToolProps from './use-selected-block-tool-props';\n\nexport default function BlockToolbarBreadcrumb( {\n\tclientId,\n\t__unstableContentRef,\n} ) {\n\tconst {\n\t\tcapturingClientId,\n\t\tisInsertionPointVisible,\n\t\tlastClientId,\n\t\trootClientId,\n\t} = useSelectedBlockToolProps( clientId );\n\n\tconst popoverProps = useBlockToolbarPopoverProps( {\n\t\tcontentElement: __unstableContentRef?.current,\n\t\tclientId,\n\t} );\n\n\treturn (\n\t\t<BlockPopover\n\t\t\tclientId={ capturingClientId || clientId }\n\t\t\tbottomClientId={ lastClientId }\n\t\t\tclassName={ classnames( 'block-editor-block-list__block-popover', {\n\t\t\t\t'is-insertion-point-visible': isInsertionPointVisible,\n\t\t\t} ) }\n\t\t\tresize={ false }\n\t\t\t{ ...popoverProps }\n\t\t>\n\t\t\t<BlockSelectionButton\n\t\t\t\tclientId={ clientId }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t/>\n\t\t</BlockPopover>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,4BAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,0BAAA,GAAAL,sBAAA,CAAAC,OAAA;AAXA;AACA;AACA;;AAGA;AACA;AACA;;AAMe,SAASK,sBAAsBA,CAAE;EAC/CC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAM;IACLC,iBAAiB;IACjBC,uBAAuB;IACvBC,YAAY;IACZC;EACD,CAAC,GAAG,IAAAC,kCAAyB,EAAEN,QAAS,CAAC;EAEzC,MAAMO,YAAY,GAAG,IAAAC,oCAA2B,EAAE;IACjDC,cAAc,EAAER,oBAAoB,EAAES,OAAO;IAC7CV;EACD,CAAE,CAAC;EAEH,OACC,IAAAW,MAAA,CAAAC,aAAA,EAAChB,aAAA,CAAAiB,OAAY;IACZb,QAAQ,EAAGE,iBAAiB,IAAIF,QAAU;IAC1Cc,cAAc,EAAGV,YAAc;IAC/BW,SAAS,EAAG,IAAAC,mBAAU,EAAE,wCAAwC,EAAE;MACjE,4BAA4B,EAAEb;IAC/B,CAAE,CAAG;IACLc,MAAM,EAAG,KAAO;IAAA,GACXV;EAAY,GAEjB,IAAAI,MAAA,CAAAC,aAAA,EAACjB,qBAAA,CAAAkB,OAAoB;IACpBb,QAAQ,EAAGA,QAAU;IACrBK,YAAY,EAAGA;EAAc,CAC7B,CACY,CAAC;AAEjB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = BlockToolbarPopover;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _data = require("@wordpress/data");
|
|
11
|
+
var _element = require("@wordpress/element");
|
|
12
|
+
var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
|
|
13
|
+
var _blockPopover = _interopRequireDefault(require("../block-popover"));
|
|
14
|
+
var _useBlockToolbarPopoverProps = _interopRequireDefault(require("./use-block-toolbar-popover-props"));
|
|
15
|
+
var _useSelectedBlockToolProps = _interopRequireDefault(require("./use-selected-block-tool-props"));
|
|
16
|
+
var _store = require("../../store");
|
|
17
|
+
var _blockToolbar = require("../block-toolbar");
|
|
18
|
+
/**
|
|
19
|
+
* External dependencies
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* WordPress dependencies
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Internal dependencies
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
function BlockToolbarPopover({
|
|
31
|
+
clientId,
|
|
32
|
+
isTyping,
|
|
33
|
+
__unstableContentRef
|
|
34
|
+
}) {
|
|
35
|
+
const {
|
|
36
|
+
capturingClientId,
|
|
37
|
+
isInsertionPointVisible,
|
|
38
|
+
lastClientId
|
|
39
|
+
} = (0, _useSelectedBlockToolProps.default)(clientId);
|
|
40
|
+
|
|
41
|
+
// Stores the active toolbar item index so the block toolbar can return focus
|
|
42
|
+
// to it when re-mounting.
|
|
43
|
+
const initialToolbarItemIndexRef = (0, _element.useRef)();
|
|
44
|
+
(0, _element.useEffect)(() => {
|
|
45
|
+
// Resets the index whenever the active block changes so this is not
|
|
46
|
+
// persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169
|
|
47
|
+
initialToolbarItemIndexRef.current = undefined;
|
|
48
|
+
}, [clientId]);
|
|
49
|
+
const {
|
|
50
|
+
stopTyping
|
|
51
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
52
|
+
const isToolbarForced = (0, _element.useRef)(false);
|
|
53
|
+
(0, _keyboardShortcuts.useShortcut)('core/block-editor/focus-toolbar', () => {
|
|
54
|
+
isToolbarForced.current = true;
|
|
55
|
+
stopTyping(true);
|
|
56
|
+
}, {
|
|
57
|
+
isDisabled: false
|
|
58
|
+
});
|
|
59
|
+
(0, _element.useEffect)(() => {
|
|
60
|
+
isToolbarForced.current = false;
|
|
61
|
+
});
|
|
62
|
+
const popoverProps = (0, _useBlockToolbarPopoverProps.default)({
|
|
63
|
+
contentElement: __unstableContentRef?.current,
|
|
64
|
+
clientId
|
|
65
|
+
});
|
|
66
|
+
return !isTyping && (0, _react.createElement)(_blockPopover.default, {
|
|
67
|
+
clientId: capturingClientId || clientId,
|
|
68
|
+
bottomClientId: lastClientId,
|
|
69
|
+
className: (0, _classnames.default)('block-editor-block-list__block-popover', {
|
|
70
|
+
'is-insertion-point-visible': isInsertionPointVisible
|
|
71
|
+
}),
|
|
72
|
+
resize: false,
|
|
73
|
+
...popoverProps
|
|
74
|
+
}, (0, _react.createElement)(_blockToolbar.PrivateBlockToolbar
|
|
75
|
+
// If the toolbar is being shown because of being forced
|
|
76
|
+
// it should focus the toolbar right after the mount.
|
|
77
|
+
, {
|
|
78
|
+
focusOnMount: isToolbarForced.current,
|
|
79
|
+
__experimentalInitialIndex: initialToolbarItemIndexRef.current,
|
|
80
|
+
__experimentalOnIndexChange: index => {
|
|
81
|
+
initialToolbarItemIndexRef.current = index;
|
|
82
|
+
},
|
|
83
|
+
variant: "toolbar"
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=block-toolbar-popover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_keyboardShortcuts","_blockPopover","_useBlockToolbarPopoverProps","_useSelectedBlockToolProps","_store","_blockToolbar","BlockToolbarPopover","clientId","isTyping","__unstableContentRef","capturingClientId","isInsertionPointVisible","lastClientId","useSelectedBlockToolProps","initialToolbarItemIndexRef","useRef","useEffect","current","undefined","stopTyping","useDispatch","blockEditorStore","isToolbarForced","useShortcut","isDisabled","popoverProps","useBlockToolbarPopoverProps","contentElement","_react","createElement","default","bottomClientId","className","classnames","resize","PrivateBlockToolbar","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","index","variant"],"sources":["@wordpress/block-editor/src/components/block-tools/block-toolbar-popover.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\n/**\n * Internal dependencies\n */\nimport BlockPopover from '../block-popover';\nimport useBlockToolbarPopoverProps from './use-block-toolbar-popover-props';\nimport useSelectedBlockToolProps from './use-selected-block-tool-props';\nimport { store as blockEditorStore } from '../../store';\nimport { PrivateBlockToolbar } from '../block-toolbar';\n\nexport default function BlockToolbarPopover( {\n\tclientId,\n\tisTyping,\n\t__unstableContentRef,\n} ) {\n\tconst { capturingClientId, isInsertionPointVisible, lastClientId } =\n\t\tuseSelectedBlockToolProps( clientId );\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\tuseEffect( () => {\n\t\t// Resets the index whenever the active block changes so this is not\n\t\t// persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\tinitialToolbarItemIndexRef.current = undefined;\n\t}, [ clientId ] );\n\n\tconst { stopTyping } = useDispatch( blockEditorStore );\n\tconst isToolbarForced = useRef( false );\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: false,\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tisToolbarForced.current = false;\n\t} );\n\n\tconst popoverProps = useBlockToolbarPopoverProps( {\n\t\tcontentElement: __unstableContentRef?.current,\n\t\tclientId,\n\t} );\n\n\treturn (\n\t\t! isTyping && (\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\tresize={ false }\n\t\t\t\t{ ...popoverProps }\n\t\t\t>\n\t\t\t\t<PrivateBlockToolbar\n\t\t\t\t\t// If the toolbar is being shown because of being forced\n\t\t\t\t\t// it should focus the toolbar right after the mount.\n\t\t\t\t\tfocusOnMount={ isToolbarForced.current }\n\t\t\t\t\t__experimentalInitialIndex={\n\t\t\t\t\t\tinitialToolbarItemIndexRef.current\n\t\t\t\t\t}\n\t\t\t\t\t__experimentalOnIndexChange={ ( index ) => {\n\t\t\t\t\t\tinitialToolbarItemIndexRef.current = index;\n\t\t\t\t\t} }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t/>\n\t\t\t</BlockPopover>\n\t\t)\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AAIA,IAAAI,aAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,4BAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,0BAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAR,OAAA;AAjBA;AACA;AACA;;AAEA;AACA;AACA;;AAIA;AACA;AACA;;AAOe,SAASS,mBAAmBA,CAAE;EAC5CC,QAAQ;EACRC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,iBAAiB;IAAEC,uBAAuB;IAAEC;EAAa,CAAC,GACjE,IAAAC,kCAAyB,EAAEN,QAAS,CAAC;;EAEtC;EACA;EACA,MAAMO,0BAA0B,GAAG,IAAAC,eAAM,EAAC,CAAC;EAE3C,IAAAC,kBAAS,EAAE,MAAM;IAChB;IACA;IACAF,0BAA0B,CAACG,OAAO,GAAGC,SAAS;EAC/C,CAAC,EAAE,CAAEX,QAAQ,CAAG,CAAC;EAEjB,MAAM;IAAEY;EAAW,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAiB,CAAC;EACtD,MAAMC,eAAe,GAAG,IAAAP,eAAM,EAAE,KAAM,CAAC;EAEvC,IAAAQ,8BAAW,EACV,iCAAiC,EACjC,MAAM;IACLD,eAAe,CAACL,OAAO,GAAG,IAAI;IAC9BE,UAAU,CAAE,IAAK,CAAC;EACnB,CAAC,EACD;IACCK,UAAU,EAAE;EACb,CACD,CAAC;EAED,IAAAR,kBAAS,EAAE,MAAM;IAChBM,eAAe,CAACL,OAAO,GAAG,KAAK;EAChC,CAAE,CAAC;EAEH,MAAMQ,YAAY,GAAG,IAAAC,oCAA2B,EAAE;IACjDC,cAAc,EAAElB,oBAAoB,EAAEQ,OAAO;IAC7CV;EACD,CAAE,CAAC;EAEH,OACC,CAAEC,QAAQ,IACT,IAAAoB,MAAA,CAAAC,aAAA,EAAC5B,aAAA,CAAA6B,OAAY;IACZvB,QAAQ,EAAGG,iBAAiB,IAAIH,QAAU;IAC1CwB,cAAc,EAAGnB,YAAc;IAC/BoB,SAAS,EAAG,IAAAC,mBAAU,EACrB,wCAAwC,EACxC;MACC,4BAA4B,EAAEtB;IAC/B,CACD,CAAG;IACHuB,MAAM,EAAG,KAAO;IAAA,GACXT;EAAY,GAEjB,IAAAG,MAAA,CAAAC,aAAA,EAACxB,aAAA,CAAA8B;EACA;EACA;EAAA;IACAC,YAAY,EAAGd,eAAe,CAACL,OAAS;IACxCoB,0BAA0B,EACzBvB,0BAA0B,CAACG,OAC3B;IACDqB,2BAA2B,EAAKC,KAAK,IAAM;MAC1CzB,0BAA0B,CAACG,OAAO,GAAGsB,KAAK;IAC3C,CAAG;IACHC,OAAO,EAAC;EAAS,CACjB,CACY,CACd;AAEH"}
|
|
@@ -7,16 +7,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = BlockTools;
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _data = require("@wordpress/data");
|
|
10
|
-
var _compose = require("@wordpress/compose");
|
|
11
10
|
var _components = require("@wordpress/components");
|
|
12
11
|
var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
|
|
13
12
|
var _element = require("@wordpress/element");
|
|
14
13
|
var _blocks = require("@wordpress/blocks");
|
|
15
14
|
var _emptyBlockInserter = _interopRequireDefault(require("./empty-block-inserter"));
|
|
16
15
|
var _insertionPoint = _interopRequireWildcard(require("./insertion-point"));
|
|
17
|
-
var
|
|
16
|
+
var _blockToolbarPopover = _interopRequireDefault(require("./block-toolbar-popover"));
|
|
17
|
+
var _blockToolbarBreadcrumb = _interopRequireDefault(require("./block-toolbar-breadcrumb"));
|
|
18
18
|
var _store = require("../../store");
|
|
19
|
-
var _blockContextualToolbar = _interopRequireDefault(require("./block-contextual-toolbar"));
|
|
20
19
|
var _usePopoverScroll = _interopRequireDefault(require("../block-popover/use-popover-scroll"));
|
|
21
20
|
var _zoomOutModeInserters = _interopRequireDefault(require("./zoom-out-mode-inserters"));
|
|
22
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -35,6 +34,7 @@ function selector(select) {
|
|
|
35
34
|
getFirstMultiSelectedBlockClientId,
|
|
36
35
|
getBlock,
|
|
37
36
|
getSettings,
|
|
37
|
+
hasMultiSelection,
|
|
38
38
|
__unstableGetEditorMode,
|
|
39
39
|
isTyping
|
|
40
40
|
} = select(_store.store);
|
|
@@ -43,16 +43,25 @@ function selector(select) {
|
|
|
43
43
|
name = '',
|
|
44
44
|
attributes = {}
|
|
45
45
|
} = getBlock(clientId) || {};
|
|
46
|
+
const editorMode = __unstableGetEditorMode();
|
|
47
|
+
const hasSelectedBlock = clientId && name;
|
|
48
|
+
const isEmptyDefaultBlock = (0, _blocks.isUnmodifiedDefaultBlock)({
|
|
49
|
+
name,
|
|
50
|
+
attributes
|
|
51
|
+
});
|
|
52
|
+
const _showEmptyBlockSideInserter = clientId && !isTyping() && editorMode === 'edit' && (0, _blocks.isUnmodifiedDefaultBlock)({
|
|
53
|
+
name,
|
|
54
|
+
attributes
|
|
55
|
+
});
|
|
56
|
+
const maybeShowBreadcrumb = hasSelectedBlock && !hasMultiSelection() && (editorMode === 'navigation' || editorMode === 'zoom-out');
|
|
46
57
|
return {
|
|
47
58
|
clientId,
|
|
48
59
|
hasFixedToolbar: getSettings().hasFixedToolbar,
|
|
49
|
-
hasSelectedBlock: clientId && name,
|
|
50
60
|
isTyping: isTyping(),
|
|
51
|
-
isZoomOutMode:
|
|
52
|
-
showEmptyBlockSideInserter:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
})
|
|
61
|
+
isZoomOutMode: editorMode === 'zoom-out',
|
|
62
|
+
showEmptyBlockSideInserter: _showEmptyBlockSideInserter,
|
|
63
|
+
showBreadcrumb: !_showEmptyBlockSideInserter && maybeShowBreadcrumb,
|
|
64
|
+
showBlockToolbar: !getSettings().hasFixedToolbar && !_showEmptyBlockSideInserter && hasSelectedBlock && !isEmptyDefaultBlock && !maybeShowBreadcrumb
|
|
56
65
|
};
|
|
57
66
|
}
|
|
58
67
|
|
|
@@ -70,14 +79,14 @@ function BlockTools({
|
|
|
70
79
|
__unstableContentRef,
|
|
71
80
|
...props
|
|
72
81
|
}) {
|
|
73
|
-
const isLargeViewport = (0, _compose.useViewportMatch)('medium');
|
|
74
82
|
const {
|
|
75
83
|
clientId,
|
|
76
84
|
hasFixedToolbar,
|
|
77
|
-
hasSelectedBlock,
|
|
78
85
|
isTyping,
|
|
79
86
|
isZoomOutMode,
|
|
80
|
-
showEmptyBlockSideInserter
|
|
87
|
+
showEmptyBlockSideInserter,
|
|
88
|
+
showBreadcrumb,
|
|
89
|
+
showBlockToolbar
|
|
81
90
|
} = (0, _data.useSelect)(selector, []);
|
|
82
91
|
const isMatch = (0, _keyboardShortcuts.__unstableUseShortcutEventMatch)();
|
|
83
92
|
const {
|
|
@@ -162,12 +171,6 @@ function BlockTools({
|
|
|
162
171
|
}
|
|
163
172
|
const blockToolbarRef = (0, _usePopoverScroll.default)(__unstableContentRef);
|
|
164
173
|
const blockToolbarAfterRef = (0, _usePopoverScroll.default)(__unstableContentRef);
|
|
165
|
-
|
|
166
|
-
// Conditions for fixed toolbar
|
|
167
|
-
// 1. Not zoom out mode
|
|
168
|
-
// 2. It's a large viewport. If it's a smaller viewport, let the floating toolbar handle it as it already has styles attached to make it render that way.
|
|
169
|
-
// 3. Fixed toolbar is enabled
|
|
170
|
-
const isTopToolbar = !isZoomOutMode && hasFixedToolbar && isLargeViewport;
|
|
171
174
|
return (
|
|
172
175
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
173
176
|
(0, _react.createElement)("div", {
|
|
@@ -177,17 +180,17 @@ function BlockTools({
|
|
|
177
180
|
value: (0, _element.useRef)(false)
|
|
178
181
|
}, !isTyping && (0, _react.createElement)(_insertionPoint.default, {
|
|
179
182
|
__unstableContentRef: __unstableContentRef
|
|
180
|
-
}), !isLargeViewport &&
|
|
181
|
-
// Small viewports always get a fixed toolbar
|
|
182
|
-
(0, _react.createElement)(_blockContextualToolbar.default, {
|
|
183
|
-
isFixed: true
|
|
184
183
|
}), showEmptyBlockSideInserter && (0, _react.createElement)(_emptyBlockInserter.default, {
|
|
185
184
|
__unstableContentRef: __unstableContentRef,
|
|
186
185
|
clientId: clientId
|
|
187
|
-
}),
|
|
186
|
+
}), showBlockToolbar && (0, _react.createElement)(_blockToolbarPopover.default, {
|
|
187
|
+
__unstableContentRef: __unstableContentRef,
|
|
188
|
+
clientId: clientId,
|
|
189
|
+
isTyping: isTyping
|
|
190
|
+
}), showBreadcrumb && (0, _react.createElement)(_blockToolbarBreadcrumb.default, {
|
|
188
191
|
__unstableContentRef: __unstableContentRef,
|
|
189
192
|
clientId: clientId
|
|
190
|
-
}), !
|
|
193
|
+
}), !isZoomOutMode && !hasFixedToolbar && (0, _react.createElement)(_components.Popover.Slot, {
|
|
191
194
|
name: "block-toolbar",
|
|
192
195
|
ref: blockToolbarRef
|
|
193
196
|
}), children, (0, _react.createElement)(_components.Popover.Slot, {
|