@wordpress/block-editor 12.16.0 → 12.17.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/LICENSE.md +1 -1
- package/README.md +3 -6
- package/build/components/block-canvas/index.js +0 -2
- 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-draggable/draggable-chip.js +6 -1
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-draggable/index.js +76 -6
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +0 -6
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
- package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
- package/build/components/block-editing-mode/index.js +2 -3
- package/build/components/block-editing-mode/index.js.map +1 -1
- package/build/components/block-inspector/index.js +1 -1
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-list-item-cell.native.js +1 -0
- package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build/components/block-list/block.js +245 -102
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +46 -20
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.native.js +3 -5
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/private-block-context.js +14 -0
- package/build/components/block-list/private-block-context.js.map +1 -0
- package/build/components/block-list/use-block-props/index.js +33 -96
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +3 -2
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list/use-scroll-upon-insertion.native.js +41 -0
- package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
- package/build/components/block-lock/toolbar.js +15 -27
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-mover/index.js +2 -1
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +4 -4
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-switcher/index.js +4 -4
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +1 -2
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-toolbar-popover.js +0 -2
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +29 -2
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +1 -1
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/colors/utils.js +10 -2
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js +6 -2
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/font-sizes/utils.js +10 -2
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/global-styles/border-panel.js +2 -1
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +2 -1
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +4 -3
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +2 -1
- package/build/components/global-styles/effects-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +1 -4
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/get-global-styles-changes.js +192 -0
- package/build/components/global-styles/get-global-styles-changes.js.map +1 -0
- package/build/components/global-styles/hooks.js +1 -1
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js +7 -1
- package/build/components/global-styles/image-settings-panel.js.map +1 -1
- package/build/components/global-styles/index.js +7 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +2 -1
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +22 -8
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +8 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/height-control/index.js +6 -2
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/image-size-control/index.js +2 -2
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.native.js +6 -5
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/index.js +61 -22
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +18 -4
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js +5 -6
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +5 -9
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +10 -9
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js +10 -10
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +9 -9
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/utils.js +10 -14
- package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +4 -14
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +1 -2
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/library.js +3 -7
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js +14 -28
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/tabs.js +21 -21
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +1 -1
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inserter-list-item/index.js +2 -4
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +3 -1
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +34 -23
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/list-view/block-select-button.js +4 -0
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +57 -3
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/media-upload-progress/constants.js +19 -0
- package/build/components/media-upload-progress/constants.js.map +1 -0
- package/build/components/media-upload-progress/index.native.js +42 -17
- package/build/components/media-upload-progress/index.native.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +9 -14
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +8 -3
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/provider/index.js +3 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +7 -1
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/rich-text/index.js +17 -7
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +16 -24
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +2 -2
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js +1 -1
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/url-input/index.js +9 -6
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +14 -18
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +51 -22
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +100 -92
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +8 -11
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/writing-flow/index.js +0 -1
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +15 -4
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js +73 -27
- package/build/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +7 -4
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/align.js +1 -1
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/anchor.js +1 -1
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/aria-label.js +9 -1
- package/build/hooks/aria-label.js.map +1 -1
- package/build/hooks/background.js +185 -20
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/border.js +5 -10
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +13 -11
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/custom-class-name.js +1 -1
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +9 -1
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/dimensions.js +4 -9
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/font-family.js +7 -3
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +1 -1
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.js +4 -3
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +5 -3
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout.js +10 -4
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/style.js +1 -1
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/typography.js +4 -9
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +43 -18
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/use-typography-props.js +10 -2
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/utils.js +44 -4
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +2 -4
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +0 -2
- package/build/private-apis.native.js.map +1 -1
- package/build/store/actions.js +0 -16
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +51 -5
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +12 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +14 -6
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +1 -13
- package/build/store/selectors.js.map +1 -1
- package/build/store/undo-ignore.js +12 -0
- package/build/store/undo-ignore.js.map +1 -0
- package/build/store/utils.js +1 -1
- package/build/store/utils.js.map +1 -1
- package/build/utils/get-px-from-css-unit.js +16 -0
- package/build/utils/get-px-from-css-unit.js.map +1 -0
- package/build/utils/index.js +2 -2
- package/build/utils/index.js.map +1 -1
- package/build/utils/object.js +0 -38
- package/build/utils/object.js.map +1 -1
- package/build/utils/use-can-block-toolbar-be-focused.js +46 -0
- package/build/utils/use-can-block-toolbar-be-focused.js.map +1 -0
- package/build-module/components/block-canvas/index.js +0 -2
- 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-draggable/draggable-chip.js +6 -1
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-draggable/index.js +76 -6
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +1 -7
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
- package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
- package/build-module/components/block-editing-mode/index.js +3 -4
- package/build-module/components/block-editing-mode/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +1 -1
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-list-item-cell.native.js +1 -0
- package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
- package/build-module/components/block-list/block.js +249 -106
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +48 -22
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.native.js +3 -5
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/private-block-context.js +6 -0
- package/build-module/components/block-list/private-block-context.js.map +1 -0
- package/build-module/components/block-list/use-block-props/index.js +34 -97
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +3 -2
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list/use-scroll-upon-insertion.native.js +33 -0
- package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
- package/build-module/components/block-lock/toolbar.js +16 -28
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-mover/index.js +2 -1
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +5 -5
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +4 -4
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +1 -2
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-popover.js +0 -2
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +30 -3
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +1 -1
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/colors/utils.js +9 -1
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js +5 -1
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/font-sizes/utils.js +9 -1
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +3 -2
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +3 -2
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +5 -4
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +3 -2
- package/build-module/components/global-styles/effects-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +2 -5
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/get-global-styles-changes.js +184 -0
- package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +1 -1
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +7 -1
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
- package/build-module/components/global-styles/index.js +1 -0
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +3 -2
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +15 -1
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +7 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/height-control/index.js +6 -2
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/image-size-control/index.js +2 -2
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/index.native.js +2 -1
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +62 -23
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +18 -4
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js +5 -6
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +6 -10
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +11 -10
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +11 -11
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +11 -11
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/utils.js +7 -11
- package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +4 -14
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +2 -2
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +1 -2
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/library.js +3 -7
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js +14 -28
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/tabs.js +22 -22
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +2 -2
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +2 -4
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +35 -24
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +4 -0
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +58 -4
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/media-upload-progress/constants.js +7 -0
- package/build-module/components/media-upload-progress/constants.js.map +1 -0
- package/build-module/components/media-upload-progress/index.native.js +37 -8
- package/build-module/components/media-upload-progress/index.native.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +9 -14
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +6 -1
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/provider/index.js +3 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +7 -1
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/rich-text/index.js +17 -7
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +16 -23
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +2 -2
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/index.js +9 -6
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +14 -18
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +51 -23
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +102 -94
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +8 -11
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +0 -1
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +15 -4
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js +73 -27
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +7 -4
- package/build-module/components/writing-flow/use-tab-nav.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/anchor.js +1 -1
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/aria-label.js +7 -1
- package/build-module/hooks/aria-label.js.map +1 -1
- package/build-module/hooks/background.js +181 -19
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/border.js +2 -8
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +11 -9
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +1 -1
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +7 -1
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/dimensions.js +1 -7
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/font-family.js +6 -2
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +1 -1
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.js +5 -4
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js +6 -4
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout.js +9 -3
- package/build-module/hooks/layout.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/typography.js +1 -7
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js +43 -17
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +9 -1
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/utils.js +43 -4
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +2 -4
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +0 -2
- package/build-module/private-apis.native.js.map +1 -1
- package/build-module/store/actions.js +0 -15
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +49 -4
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +11 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +14 -6
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +1 -12
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/undo-ignore.js +5 -0
- package/build-module/store/undo-ignore.js.map +1 -0
- package/build-module/store/utils.js +2 -2
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/get-px-from-css-unit.js +9 -0
- package/build-module/utils/get-px-from-css-unit.js.map +1 -0
- package/build-module/utils/index.js +1 -1
- package/build-module/utils/index.js.map +1 -1
- package/build-module/utils/object.js +0 -37
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/use-can-block-toolbar-be-focused.js +40 -0
- package/build-module/utils/use-can-block-toolbar-be-focused.js.map +1 -0
- package/build-style/content-rtl.css +7 -6
- package/build-style/content.css +7 -6
- package/build-style/style-rtl.css +51 -8
- package/build-style/style.css +51 -8
- package/package.json +31 -31
- package/src/components/alignment-control/README.md +0 -5
- package/src/components/block-alignment-control/README.md +0 -5
- package/src/components/block-alignment-matrix-control/README.md +0 -10
- package/src/components/block-breadcrumb/README.md +0 -5
- package/src/components/block-canvas/index.js +0 -2
- package/src/components/block-canvas/style.scss +6 -0
- package/src/components/block-caption/README.md +0 -5
- package/src/components/block-card/README.md +0 -5
- package/src/components/block-card/index.js +1 -1
- package/src/components/block-draggable/draggable-chip.js +11 -1
- package/src/components/block-draggable/index.js +116 -4
- package/src/components/block-draggable/index.native.js +0 -5
- package/src/components/block-draggable/style.scss +35 -0
- package/src/components/block-draggable/test/helpers.native.js +8 -7
- package/src/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
- package/src/components/block-editing-mode/index.js +3 -3
- package/src/components/block-icon/README.md +0 -5
- package/src/components/block-inspector/README.md +0 -5
- package/src/components/block-inspector/index.js +3 -1
- package/src/components/block-list/block-list-item-cell.native.js +5 -1
- package/src/components/block-list/block.js +290 -119
- package/src/components/block-list/block.native.js +55 -21
- package/src/components/block-list/content.scss +14 -10
- package/src/components/block-list/index.native.js +3 -5
- package/src/components/block-list/{block-list-block-context.js → private-block-context.js} +1 -1
- package/src/components/block-list/use-block-props/index.js +32 -128
- package/src/components/block-list/use-in-between-inserter.js +4 -1
- package/src/components/block-list/use-scroll-upon-insertion.native.js +52 -0
- package/src/components/block-lock/toolbar.js +15 -34
- package/src/components/block-mover/README.md +0 -5
- package/src/components/block-mover/index.js +1 -1
- package/src/components/block-parent-selector/README.md +0 -5
- package/src/components/block-patterns-list/README.md +0 -5
- package/src/components/block-patterns-list/index.js +8 -5
- package/src/components/block-switcher/index.js +49 -59
- package/src/components/block-toolbar/README.md +0 -5
- package/src/components/block-toolbar/index.js +1 -2
- package/src/components/block-tools/block-toolbar-popover.js +4 -10
- package/src/components/block-types-list/README.md +0 -5
- package/src/components/block-variation-picker/README.md +0 -5
- package/src/components/block-variation-transforms/README.md +0 -5
- package/src/components/block-variation-transforms/index.js +49 -3
- package/src/components/border-radius-control/linked-button.js +1 -1
- package/src/components/caption/README.md +0 -5
- package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -1
- package/src/components/colors/utils.js +8 -1
- package/src/components/colors/with-colors.js +3 -1
- package/src/components/contrast-checker/README.md +0 -4
- package/src/components/copy-handler/README.md +0 -10
- package/src/components/font-sizes/utils.js +7 -1
- package/src/components/global-styles/border-panel.js +2 -1
- package/src/components/global-styles/color-panel.js +2 -1
- package/src/components/global-styles/dimensions-panel.js +4 -3
- package/src/components/global-styles/effects-panel.js +2 -1
- package/src/components/global-styles/filters-panel.js +2 -5
- package/src/components/global-styles/get-global-styles-changes.js +210 -0
- package/src/components/global-styles/hooks.js +3 -0
- package/src/components/global-styles/image-settings-panel.js +6 -0
- package/src/components/global-styles/index.js +1 -0
- package/src/components/global-styles/test/get-global-styles-changes.js +234 -0
- package/src/components/global-styles/typography-panel.js +2 -1
- package/src/components/global-styles/use-global-styles-output.js +9 -5
- package/src/components/global-styles/utils.js +7 -0
- package/src/components/height-control/README.md +2 -7
- package/src/components/height-control/index.js +4 -0
- package/src/components/image-size-control/index.js +5 -2
- package/src/components/index.native.js +2 -2
- package/src/components/inner-blocks/index.js +68 -29
- package/src/components/inner-blocks/index.native.js +19 -7
- package/src/components/inner-blocks/use-inner-block-template-sync.js +5 -7
- package/src/components/inner-blocks/use-nested-settings-update.js +6 -13
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +15 -15
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +15 -13
- package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +15 -18
- package/src/components/inserter/block-patterns-tab/utils.js +11 -12
- package/src/components/inserter/hooks/use-block-types-state.js +9 -11
- package/src/components/inserter/hooks/use-patterns-state.js +2 -2
- package/src/components/inserter/index.js +0 -1
- package/src/components/inserter/library.js +2 -8
- package/src/components/inserter/menu.js +13 -31
- package/src/components/inserter/style.scss +6 -4
- package/src/components/inserter/tabs.js +34 -25
- package/src/components/inserter-draggable-blocks/index.js +2 -2
- package/src/components/inserter-list-item/index.js +6 -6
- package/src/components/inspector-controls/block-support-tools-panel.js +2 -0
- package/src/components/inspector-controls-tabs/index.js +39 -28
- package/src/components/inspector-controls-tabs/style.scss +3 -2
- package/src/components/letter-spacing-control/README.md +0 -5
- package/src/components/line-height-control/README.md +0 -5
- package/src/components/list-view/README.md +0 -5
- package/src/components/list-view/block-select-button.js +4 -0
- package/src/components/list-view/block.js +73 -2
- package/src/components/list-view/style.scss +6 -0
- package/src/components/media-upload-progress/constants.js +6 -0
- package/src/components/media-upload-progress/index.native.js +66 -14
- package/src/components/media-upload-progress/test/index.native.js +2 -2
- package/src/components/multi-selection-inspector/README.md +0 -5
- package/src/components/navigable-toolbar/index.js +13 -11
- package/src/components/plain-text/index.native.js +6 -1
- package/src/components/provider/index.js +1 -1
- package/src/components/provider/test/use-block-sync.js +20 -17
- package/src/components/provider/use-block-sync.js +6 -0
- package/src/components/rich-text/index.js +18 -6
- package/src/components/rich-text/native/index.native.js +16 -24
- package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +3 -3
- package/src/components/rich-text/native/test/index.native.js +72 -5
- package/src/components/rich-text/use-input-rules.js +2 -2
- package/src/components/rich-text/use-mark-persistent.js +1 -2
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
- package/src/components/text-decoration-control/README.md +40 -0
- package/src/components/text-transform-control/README.md +0 -4
- package/src/components/ungroup-button/README.md +0 -5
- package/src/components/unit-control/README.md +0 -4
- package/src/components/url-input/index.js +11 -11
- package/src/components/use-block-commands/index.js +18 -21
- package/src/components/use-block-drop-zone/index.js +85 -34
- package/src/components/use-moving-animation/index.js +107 -103
- package/src/components/use-on-block-drop/index.js +7 -23
- package/src/components/use-on-block-drop/test/index.js +12 -26
- package/src/components/use-resize-canvas/README.md +0 -4
- package/src/components/use-settings/README.md +0 -4
- package/src/components/writing-flow/index.js +0 -1
- package/src/components/writing-flow/use-drag-selection.js +18 -4
- package/src/components/writing-flow/use-selection-observer.js +99 -37
- package/src/components/writing-flow/use-tab-nav.js +7 -7
- package/src/hooks/align.js +1 -5
- package/src/hooks/anchor.js +1 -5
- package/src/hooks/aria-label.js +8 -5
- package/src/hooks/background.js +253 -21
- package/src/hooks/border.js +2 -13
- package/src/hooks/color.js +19 -14
- package/src/hooks/custom-class-name.js +1 -5
- package/src/hooks/custom-class-name.native.js +8 -5
- package/src/hooks/dimensions.js +1 -7
- package/src/hooks/font-family.js +4 -7
- package/src/hooks/font-size.js +1 -6
- package/src/hooks/index.js +19 -3
- package/src/hooks/index.native.js +17 -4
- package/src/hooks/layout.js +5 -2
- package/src/hooks/style.js +1 -6
- package/src/hooks/test/anchor.js +4 -9
- package/src/hooks/test/custom-class-name.js +3 -8
- package/src/hooks/test/style.js +4 -14
- package/src/hooks/typography.js +1 -7
- package/src/hooks/typography.native.js +31 -33
- package/src/hooks/use-typography-props.js +7 -1
- package/src/hooks/utils.js +60 -2
- package/src/private-apis.js +2 -4
- package/src/private-apis.native.js +0 -2
- package/src/store/actions.js +0 -15
- package/src/store/private-actions.js +44 -4
- package/src/store/private-selectors.js +11 -0
- package/src/store/reducer.js +16 -5
- package/src/store/selectors.js +5 -13
- package/src/store/undo-ignore.js +4 -0
- package/src/store/utils.js +2 -2
- package/src/style.scss +1 -0
- package/src/utils/get-px-from-css-unit.js +8 -0
- package/src/utils/index.js +1 -1
- package/src/utils/object.js +0 -35
- package/src/utils/test/object.js +1 -96
- package/src/utils/use-can-block-toolbar-be-focused.js +48 -0
- package/build/components/block-list/block-list-block-context.js +0 -14
- package/build/components/block-list/block-list-block-context.js.map +0 -1
- package/build/utils/parse-css-unit-to-px.js +0 -302
- package/build/utils/parse-css-unit-to-px.js.map +0 -1
- package/build/utils/use-should-contextual-toolbar-show.js +0 -63
- package/build/utils/use-should-contextual-toolbar-show.js.map +0 -1
- package/build-module/components/block-list/block-list-block-context.js +0 -6
- package/build-module/components/block-list/block-list-block-context.js.map +0 -1
- package/build-module/utils/parse-css-unit-to-px.js +0 -294
- package/build-module/utils/parse-css-unit-to-px.js.map +0 -1
- package/build-module/utils/use-should-contextual-toolbar-show.js +0 -57
- package/build-module/utils/use-should-contextual-toolbar-show.js.map +0 -1
- package/src/utils/parse-css-unit-to-px.js +0 -329
- package/src/utils/test/parse-css-unit-to-px.js +0 -172
- package/src/utils/use-should-contextual-toolbar-show.js +0 -85
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useEffect","useState","forwardRef","VisuallyHidden","Tooltip","privateApis","componentsPrivateApis","__experimentalHStack","HStack","useInstanceId","__","Icon","symbol","unlock","BlockPreview","InserterDraggableBlocks","BlockPatternsPaging","PATTERN_TYPES","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","WithToolTip","showTooltip","title","children","createElement","text","Fragment","BlockPattern","id","isDraggable","pattern","onClick","onHover","isDragging","setIsDragging","blocks","viewportWidth","instanceId","descriptionId","isEnabled","draggable","onDragStart","onDragEnd","className","event","type","user","render","role","description","undefined","syncStatus","onMouseEnter","onMouseLeave","icon","BlockPatternPlaceholder","BlockPatternsList","blockPatterns","shownPatterns","onClickPattern","orientation","label","showTitlesAsTooltip","pagingProps","ref","compositeStore","setActiveId","store","map","isShown","includes","key","name"],"sources":["@wordpress/block-editor/src/components/block-patterns-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState, forwardRef } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\tTooltip,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, symbol } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport BlockPreview from '../block-preview';\nimport InserterDraggableBlocks from '../inserter-draggable-blocks';\nimport BlockPatternsPaging from '../block-patterns-paging';\nimport { PATTERN_TYPES } from '../inserter/block-patterns-tab/utils';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\nconst WithToolTip = ( { showTooltip, title, children } ) => {\n\tif ( showTooltip ) {\n\t\treturn <Tooltip text={ title }>{ children }</Tooltip>;\n\t}\n\treturn <>{ children }</>;\n};\n\nfunction BlockPattern( {\n\tid,\n\tisDraggable,\n\tpattern,\n\tonClick,\n\tonHover,\n\tshowTooltip,\n} ) {\n\tconst [ isDragging, setIsDragging ] = useState( false );\n\tconst { blocks, viewportWidth } = pattern;\n\tconst instanceId = useInstanceId( BlockPattern );\n\tconst descriptionId = `block-editor-block-patterns-list__item-description-${ instanceId }`;\n\n\treturn (\n\t\t<InserterDraggableBlocks\n\t\t\tisEnabled={ isDraggable }\n\t\t\tblocks={ blocks }\n\t\t\tpattern={ pattern }\n\t\t>\n\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"block-editor-block-patterns-list__list-item\"\n\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( true );\n\t\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\tonDragStart( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonDragEnd={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( false );\n\t\t\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\t\t\tonDragEnd( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<WithToolTip\n\t\t\t\t\t\tshowTooltip={\n\t\t\t\t\t\t\tshowTooltip && ! pattern.type !== PATTERN_TYPES.user\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitle={ pattern.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\tpattern.description\n\t\t\t\t\t\t\t\t\t\t\t? descriptionId\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'block-editor-block-patterns-list__item',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-block-patterns-list__list-item-synced':\n\t\t\t\t\t\t\t\t\t\t\t\tpattern.type ===\n\t\t\t\t\t\t\t\t\t\t\t\t\tPATTERN_TYPES.user &&\n\t\t\t\t\t\t\t\t\t\t\t\t! pattern.syncStatus,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonClick( pattern, blocks );\n\t\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseEnter={ () => {\n\t\t\t\t\t\t\t\tif ( isDragging ) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonHover?.( pattern );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseLeave={ () => onHover?.( null ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<HStack className=\"block-editor-patterns__pattern-details\">\n\t\t\t\t\t\t\t\t{ pattern.type === PATTERN_TYPES.user &&\n\t\t\t\t\t\t\t\t\t! pattern.syncStatus && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-patterns__pattern-icon-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-patterns__pattern-icon\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ symbol }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ( ! showTooltip ||\n\t\t\t\t\t\t\t\t\tpattern.type === PATTERN_TYPES.user ) && (\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-block-patterns-list__item-title\">\n\t\t\t\t\t\t\t\t\t\t{ pattern.title }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</HStack>\n\n\t\t\t\t\t\t\t{ !! pattern.description && (\n\t\t\t\t\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t\t\t\t\t{ pattern.description }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t</WithToolTip>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</InserterDraggableBlocks>\n\t);\n}\n\nfunction BlockPatternPlaceholder() {\n\treturn (\n\t\t<div className=\"block-editor-block-patterns-list__item is-placeholder\" />\n\t);\n}\n\nfunction BlockPatternsList(\n\t{\n\t\tisDraggable,\n\t\tblockPatterns,\n\t\tshownPatterns,\n\t\tonHover,\n\t\tonClickPattern,\n\t\torientation,\n\t\tlabel = __( 'Block patterns' ),\n\t\tshowTitlesAsTooltip,\n\t\tpagingProps,\n\t},\n\tref\n) {\n\tconst compositeStore = useCompositeStore( { orientation } );\n\tconst { setActiveId } = compositeStore;\n\n\tuseEffect( () => {\n\t\t// We reset the active composite item whenever the\n\t\t// available patterns change, to make sure that\n\t\t// focus is put back to the start.\n\t\tsetActiveId( undefined );\n\t}, [ setActiveId, shownPatterns, blockPatterns ] );\n\n\treturn (\n\t\t<Composite\n\t\t\tstore={ compositeStore }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-patterns-list\"\n\t\t\taria-label={ label }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t{ blockPatterns.map( ( pattern ) => {\n\t\t\t\tconst isShown = shownPatterns.includes( pattern );\n\t\t\t\treturn isShown ? (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tid={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonClick={ onClickPattern }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t\t\tshowTooltip={ showTitlesAsTooltip }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<BlockPatternPlaceholder key={ pattern.name } />\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ pagingProps && <BlockPatternsPaging { ...pagingProps } /> }\n\t\t</Composite>\n\t);\n}\n\nexport default forwardRef( BlockPatternsList );\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,SAAS,EAAEC,QAAQ,EAAEC,UAAU,QAAQ,oBAAoB;AACpE,SACCC,cAAc,EACdC,OAAO,EACPC,WAAW,IAAIC,qBAAqB,EACpCC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,MAAM,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,SAASC,aAAa,QAAQ,sCAAsC;AAEpE,MAAM;EACLC,WAAW,EAAEC,SAAS;EACtBC,eAAe,EAAEC,aAAa;EAC9BC,mBAAmB,EAAEC;AACtB,CAAC,GAAGV,MAAM,CAAEP,qBAAsB,CAAC;AAEnC,MAAMkB,WAAW,GAAGA,CAAE;EAAEC,WAAW;EAAEC,KAAK;EAAEC;AAAS,CAAC,KAAM;EAC3D,IAAKF,WAAW,EAAG;IAClB,OAAOG,aAAA,CAACxB,OAAO;MAACyB,IAAI,EAAGH;IAAO,GAAGC,QAAmB,CAAC;EACtD;EACA,OAAOC,aAAA,CAAAE,QAAA,QAAIH,QAAY,CAAC;AACzB,CAAC;AAED,SAASI,YAAYA,CAAE;EACtBC,EAAE;EACFC,WAAW;EACXC,OAAO;EACPC,OAAO;EACPC,OAAO;EACPX;AACD,CAAC,EAAG;EACH,MAAM,CAAEY,UAAU,EAAEC,aAAa,CAAE,GAAGrC,QAAQ,CAAE,KAAM,CAAC;EACvD,MAAM;IAAEsC,MAAM;IAAEC;EAAc,CAAC,GAAGN,OAAO;EACzC,MAAMO,UAAU,GAAGhC,aAAa,CAAEsB,YAAa,CAAC;EAChD,MAAMW,aAAa,GAAI,sDAAsDD,UAAY,EAAC;EAE1F,OACCb,aAAA,CAACb,uBAAuB;IACvB4B,SAAS,EAAGV,WAAa;IACzBM,MAAM,EAAGA,MAAQ;IACjBL,OAAO,EAAGA;EAAS,GAEjB,CAAE;IAAEU,SAAS;IAAEC,WAAW;IAAEC;EAAU,CAAC,KACxClB,aAAA;IACCmB,SAAS,EAAC,6CAA6C;IACvDH,SAAS,EAAGA,SAAW;IACvBC,WAAW,EAAKG,KAAK,IAAM;MAC1BV,aAAa,CAAE,IAAK,CAAC;MACrB,IAAKO,WAAW,EAAG;QAClBT,OAAO,GAAI,IAAK,CAAC;QACjBS,WAAW,CAAEG,KAAM,CAAC;MACrB;IACD,CAAG;IACHF,SAAS,EAAKE,KAAK,IAAM;MACxBV,aAAa,CAAE,KAAM,CAAC;MACtB,IAAKQ,SAAS,EAAG;QAChBA,SAAS,CAAEE,KAAM,CAAC;MACnB;IACD;EAAG,GAEHpB,aAAA,CAACJ,WAAW;IACXC,WAAW,EACVA,WAAW,IAAI,CAAES,OAAO,CAACe,IAAI,KAAKhC,aAAa,CAACiC,IAChD;IACDxB,KAAK,EAAGQ,OAAO,CAACR;EAAO,GAEvBE,aAAA,CAACP,aAAa;IACb8B,MAAM,EACLvB,aAAA;MACCwB,IAAI,EAAC,QAAQ;MACb,cAAalB,OAAO,CAACR,KAAO;MAC5B,oBACCQ,OAAO,CAACmB,WAAW,GAChBX,aAAa,GACbY,SACH;MACDP,SAAS,EAAGhD,UAAU,CACrB,wCAAwC,EACxC;QACC,oDAAoD,EACnDmC,OAAO,CAACe,IAAI,KACXhC,aAAa,CAACiC,IAAI,IACnB,CAAEhB,OAAO,CAACqB;MACZ,CACD;IAAG,CACH,CACD;IACDvB,EAAE,EAAGA,EAAI;IACTG,OAAO,EAAGA,CAAA,KAAM;MACfA,OAAO,CAAED,OAAO,EAAEK,MAAO,CAAC;MAC1BH,OAAO,GAAI,IAAK,CAAC;IAClB,CAAG;IACHoB,YAAY,EAAGA,CAAA,KAAM;MACpB,IAAKnB,UAAU,EAAG;QACjB;MACD;MACAD,OAAO,GAAIF,OAAQ,CAAC;IACrB,CAAG;IACHuB,YAAY,EAAGA,CAAA,KAAMrB,OAAO,GAAI,IAAK;EAAG,GAExCR,aAAA,CAACd,YAAY;IACZyB,MAAM,EAAGA,MAAQ;IACjBC,aAAa,EAAGA;EAAe,CAC/B,CAAC,EAEFZ,aAAA,CAACpB,MAAM;IAACuC,SAAS,EAAC;EAAwC,GACvDb,OAAO,CAACe,IAAI,KAAKhC,aAAa,CAACiC,IAAI,IACpC,CAAEhB,OAAO,CAACqB,UAAU,IACnB3B,aAAA;IAAKmB,SAAS,EAAC;EAA6C,GAC3DnB,aAAA,CAACjB,IAAI;IACJoC,SAAS,EAAC,qCAAqC;IAC/CW,IAAI,EAAG9C;EAAQ,CACf,CACG,CACL,EACA,CAAE,CAAEa,WAAW,IAChBS,OAAO,CAACe,IAAI,KAAKhC,aAAa,CAACiC,IAAI,KACnCtB,aAAA;IAAKmB,SAAS,EAAC;EAA8C,GAC1Db,OAAO,CAACR,KACN,CAEC,CAAC,EAEP,CAAC,CAAEQ,OAAO,CAACmB,WAAW,IACvBzB,aAAA,CAACzB,cAAc;IAAC6B,EAAE,EAAGU;EAAe,GACjCR,OAAO,CAACmB,WACK,CAEH,CACH,CACT,CAEkB,CAAC;AAE5B;AAEA,SAASM,uBAAuBA,CAAA,EAAG;EAClC,OACC/B,aAAA;IAAKmB,SAAS,EAAC;EAAuD,CAAE,CAAC;AAE3E;AAEA,SAASa,iBAAiBA,CACzB;EACC3B,WAAW;EACX4B,aAAa;EACbC,aAAa;EACb1B,OAAO;EACP2B,cAAc;EACdC,WAAW;EACXC,KAAK,GAAGvD,EAAE,CAAE,gBAAiB,CAAC;EAC9BwD,mBAAmB;EACnBC;AACD,CAAC,EACDC,GAAG,EACF;EACD,MAAMC,cAAc,GAAG9C,iBAAiB,CAAE;IAAEyC;EAAY,CAAE,CAAC;EAC3D,MAAM;IAAEM;EAAY,CAAC,GAAGD,cAAc;EAEtCrE,SAAS,CAAE,MAAM;IAChB;IACA;IACA;IACAsE,WAAW,CAAEhB,SAAU,CAAC;EACzB,CAAC,EAAE,CAAEgB,WAAW,EAAER,aAAa,EAAED,aAAa,CAAG,CAAC;EAElD,OACCjC,aAAA,CAACT,SAAS;IACToD,KAAK,EAAGF,cAAgB;IACxBjB,IAAI,EAAC,SAAS;IACdL,SAAS,EAAC,kCAAkC;IAC5C,cAAakB,KAAO;IACpBG,GAAG,EAAGA;EAAK,GAETP,aAAa,CAACW,GAAG,CAAItC,OAAO,IAAM;IACnC,MAAMuC,OAAO,GAAGX,aAAa,CAACY,QAAQ,CAAExC,OAAQ,CAAC;IACjD,OAAOuC,OAAO,GACb7C,aAAA,CAACG,YAAY;MACZ4C,GAAG,EAAGzC,OAAO,CAAC0C,IAAM;MACpB5C,EAAE,EAAGE,OAAO,CAAC0C,IAAM;MACnB1C,OAAO,EAAGA,OAAS;MACnBC,OAAO,EAAG4B,cAAgB;MAC1B3B,OAAO,EAAGA,OAAS;MACnBH,WAAW,EAAGA,WAAa;MAC3BR,WAAW,EAAGyC;IAAqB,CACnC,CAAC,GAEFtC,aAAA,CAAC+B,uBAAuB;MAACgB,GAAG,EAAGzC,OAAO,CAAC0C;IAAM,CAAE,CAC/C;EACF,CAAE,CAAC,EACDT,WAAW,IAAIvC,aAAA,CAACZ,mBAAmB;IAAA,GAAMmD;EAAW,CAAI,CAChD,CAAC;AAEd;AAEA,eAAejE,UAAU,CAAE0D,iBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"names":["classnames","useEffect","useState","forwardRef","VisuallyHidden","Tooltip","privateApis","componentsPrivateApis","__experimentalHStack","HStack","useInstanceId","__","Icon","symbol","unlock","BlockPreview","InserterDraggableBlocks","BlockPatternsPaging","INSERTER_PATTERN_TYPES","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","WithToolTip","showTooltip","title","children","createElement","text","Fragment","BlockPattern","id","isDraggable","pattern","onClick","onHover","isDragging","setIsDragging","blocks","viewportWidth","instanceId","descriptionId","isEnabled","draggable","onDragStart","onDragEnd","className","event","type","user","render","role","description","undefined","syncStatus","onMouseEnter","onMouseLeave","icon","BlockPatternPlaceholder","BlockPatternsList","blockPatterns","shownPatterns","onClickPattern","orientation","label","showTitlesAsTooltip","pagingProps","ref","compositeStore","setActiveId","store","map","isShown","includes","key","name"],"sources":["@wordpress/block-editor/src/components/block-patterns-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState, forwardRef } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\tTooltip,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, symbol } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport BlockPreview from '../block-preview';\nimport InserterDraggableBlocks from '../inserter-draggable-blocks';\nimport BlockPatternsPaging from '../block-patterns-paging';\nimport { INSERTER_PATTERN_TYPES } from '../inserter/block-patterns-tab/utils';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\nconst WithToolTip = ( { showTooltip, title, children } ) => {\n\tif ( showTooltip ) {\n\t\treturn <Tooltip text={ title }>{ children }</Tooltip>;\n\t}\n\treturn <>{ children }</>;\n};\n\nfunction BlockPattern( {\n\tid,\n\tisDraggable,\n\tpattern,\n\tonClick,\n\tonHover,\n\tshowTooltip,\n} ) {\n\tconst [ isDragging, setIsDragging ] = useState( false );\n\tconst { blocks, viewportWidth } = pattern;\n\tconst instanceId = useInstanceId( BlockPattern );\n\tconst descriptionId = `block-editor-block-patterns-list__item-description-${ instanceId }`;\n\n\treturn (\n\t\t<InserterDraggableBlocks\n\t\t\tisEnabled={ isDraggable }\n\t\t\tblocks={ blocks }\n\t\t\tpattern={ pattern }\n\t\t>\n\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"block-editor-block-patterns-list__list-item\"\n\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\tonDragStart={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( true );\n\t\t\t\t\t\tif ( onDragStart ) {\n\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\tonDragStart( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonDragEnd={ ( event ) => {\n\t\t\t\t\t\tsetIsDragging( false );\n\t\t\t\t\t\tif ( onDragEnd ) {\n\t\t\t\t\t\t\tonDragEnd( event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<WithToolTip\n\t\t\t\t\t\tshowTooltip={\n\t\t\t\t\t\t\tshowTooltip &&\n\t\t\t\t\t\t\t! pattern.type !== INSERTER_PATTERN_TYPES.user\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitle={ pattern.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\tpattern.description\n\t\t\t\t\t\t\t\t\t\t\t? descriptionId\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'block-editor-block-patterns-list__item',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-block-patterns-list__list-item-synced':\n\t\t\t\t\t\t\t\t\t\t\t\tpattern.type ===\n\t\t\t\t\t\t\t\t\t\t\t\t\tINSERTER_PATTERN_TYPES.user &&\n\t\t\t\t\t\t\t\t\t\t\t\t! pattern.syncStatus,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonClick( pattern, blocks );\n\t\t\t\t\t\t\t\tonHover?.( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseEnter={ () => {\n\t\t\t\t\t\t\t\tif ( isDragging ) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonHover?.( pattern );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonMouseLeave={ () => onHover?.( null ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<HStack className=\"block-editor-patterns__pattern-details\">\n\t\t\t\t\t\t\t\t{ pattern.type ===\n\t\t\t\t\t\t\t\t\tINSERTER_PATTERN_TYPES.user &&\n\t\t\t\t\t\t\t\t\t! pattern.syncStatus && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-patterns__pattern-icon-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-patterns__pattern-icon\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ symbol }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ( ! showTooltip ||\n\t\t\t\t\t\t\t\t\tpattern.type ===\n\t\t\t\t\t\t\t\t\t\tINSERTER_PATTERN_TYPES.user ) && (\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-block-patterns-list__item-title\">\n\t\t\t\t\t\t\t\t\t\t{ pattern.title }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</HStack>\n\n\t\t\t\t\t\t\t{ !! pattern.description && (\n\t\t\t\t\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t\t\t\t\t{ pattern.description }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t</WithToolTip>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</InserterDraggableBlocks>\n\t);\n}\n\nfunction BlockPatternPlaceholder() {\n\treturn (\n\t\t<div className=\"block-editor-block-patterns-list__item is-placeholder\" />\n\t);\n}\n\nfunction BlockPatternsList(\n\t{\n\t\tisDraggable,\n\t\tblockPatterns,\n\t\tshownPatterns,\n\t\tonHover,\n\t\tonClickPattern,\n\t\torientation,\n\t\tlabel = __( 'Block patterns' ),\n\t\tshowTitlesAsTooltip,\n\t\tpagingProps,\n\t},\n\tref\n) {\n\tconst compositeStore = useCompositeStore( { orientation } );\n\tconst { setActiveId } = compositeStore;\n\n\tuseEffect( () => {\n\t\t// We reset the active composite item whenever the\n\t\t// available patterns change, to make sure that\n\t\t// focus is put back to the start.\n\t\tsetActiveId( undefined );\n\t}, [ setActiveId, shownPatterns, blockPatterns ] );\n\n\treturn (\n\t\t<Composite\n\t\t\tstore={ compositeStore }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-patterns-list\"\n\t\t\taria-label={ label }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t{ blockPatterns.map( ( pattern ) => {\n\t\t\t\tconst isShown = shownPatterns.includes( pattern );\n\t\t\t\treturn isShown ? (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tid={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonClick={ onClickPattern }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t\t\tshowTooltip={ showTitlesAsTooltip }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<BlockPatternPlaceholder key={ pattern.name } />\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ pagingProps && <BlockPatternsPaging { ...pagingProps } /> }\n\t\t</Composite>\n\t);\n}\n\nexport default forwardRef( BlockPatternsList );\n"],"mappings":"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"}
|
|
@@ -116,7 +116,9 @@ export const BlockSwitcherDropdownMenu = ({
|
|
|
116
116
|
const hasPossibleBlockTransformations = !!possibleBlockTransformations.length && canRemove && !isTemplate;
|
|
117
117
|
const hasPossibleBlockVariationTransformations = !!blockVariationTransformations?.length;
|
|
118
118
|
const hasPatternTransformation = !!patterns?.length && canRemove;
|
|
119
|
-
|
|
119
|
+
const hasBlockOrBlockVariationTransforms = hasPossibleBlockTransformations || hasPossibleBlockVariationTransformations;
|
|
120
|
+
const showDropdown = hasBlockStyles || hasBlockOrBlockVariationTransforms || hasPatternTransformation;
|
|
121
|
+
if (!showDropdown) {
|
|
120
122
|
return createElement(ToolbarGroup, null, createElement(ToolbarButton, {
|
|
121
123
|
disabled: true,
|
|
122
124
|
className: "block-editor-block-switcher__no-switcher-icon",
|
|
@@ -132,8 +134,6 @@ export const BlockSwitcherDropdownMenu = ({
|
|
|
132
134
|
const blockSwitcherLabel = isSingleBlock ? blockTitle : __('Multiple blocks selected');
|
|
133
135
|
const blockSwitcherDescription = isSingleBlock ? __('Change block type or style') : sprintf( /* translators: %d: number of blocks. */
|
|
134
136
|
_n('Change type of %d block', 'Change type of %d blocks', blocks.length), blocks.length);
|
|
135
|
-
const hasBlockOrBlockVariationTransforms = hasPossibleBlockTransformations || hasPossibleBlockVariationTransformations;
|
|
136
|
-
const showDropDown = hasBlockStyles || hasBlockOrBlockVariationTransforms || hasPatternTransformation;
|
|
137
137
|
return createElement(ToolbarGroup, null, createElement(ToolbarItem, null, toggleProps => createElement(DropdownMenu, {
|
|
138
138
|
className: "block-editor-block-switcher",
|
|
139
139
|
label: blockSwitcherLabel,
|
|
@@ -157,7 +157,7 @@ export const BlockSwitcherDropdownMenu = ({
|
|
|
157
157
|
}
|
|
158
158
|
}, ({
|
|
159
159
|
onClose
|
|
160
|
-
}) =>
|
|
160
|
+
}) => createElement("div", {
|
|
161
161
|
className: "block-editor-block-switcher__container"
|
|
162
162
|
}, hasPatternTransformation && createElement(PatternTransformationsMenu, {
|
|
163
163
|
blocks: blocks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","_n","sprintf","DropdownMenu","ToolbarButton","ToolbarGroup","ToolbarItem","switchToBlockType","store","blocksStore","isReusableBlock","isTemplatePart","useSelect","useDispatch","copy","blockEditorStore","useBlockDisplayInformation","BlockIcon","BlockTransformationsMenu","useBlockVariationTransforms","BlockStylesMenu","PatternTransformationsMenu","useBlockDisplayTitle","BlockSwitcherDropdownMenu","clientIds","blocks","replaceBlocks","multiSelect","updateBlockAttributes","blockInformation","clientId","possibleBlockTransformations","canRemove","hasBlockStyles","icon","patterns","select","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","canRemoveBlocks","getBlockStyles","getBlockType","rootClientId","Array","isArray","name","firstBlockName","_isSingleBlockSelected","length","styles","_icon","isSelectionOfSameType","Set","map","size","blockVariationTransformations","blockTitle","maximumLength","isSingleBlock","isReusable","isTemplate","selectForMultipleBlocks","insertedBlocks","onBlockTransform","newBlocks","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","createElement","disabled","className","title","Fragment","showColors","blockSwitcherLabel","blockSwitcherDescription","hasBlockOrBlockVariationTransforms","showDropDown","toggleProps","label","popoverProps","placement","describedBy","menuProps","orientation","onClose","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","BlockSwitcher","getBlocksByClientId","some","block"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nexport const BlockSwitcherDropdownMenu = ( { clientIds, blocks } ) => {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst blockInformation = useBlockDisplayInformation( blocks[ 0 ].clientId );\n\tconst {\n\t\tpossibleBlockTransformations,\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tpatterns,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType } = select( blocksStore );\n\t\t\tconst rootClientId = getBlockRootClientId(\n\t\t\t\tArray.isArray( clientIds ) ? clientIds[ 0 ] : clientIds\n\t\t\t);\n\t\t\tconst [ { name: firstBlockName } ] = blocks;\n\t\t\tconst _isSingleBlockSelected = blocks.length === 1;\n\t\t\tconst styles =\n\t\t\t\t_isSingleBlockSelected && getBlockStyles( firstBlockName );\n\t\t\tlet _icon;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\t_icon = blockInformation?.icon; // Take into account active block variations.\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType\n\t\t\t\t\t? getBlockType( firstBlockName )?.icon\n\t\t\t\t\t: copy;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\tblocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds, rootClientId ),\n\t\t\t\thasBlockStyles: !! styles?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\tblocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, blocks, blockInformation?.icon ]\n\t);\n\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\n\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: Array.isArray( clientIds ) ? clientIds[ 0 ] : clientIds,\n\t\tmaximumLength: 35,\n\t} );\n\n\tconst isSingleBlock = blocks.length === 1;\n\tconst isReusable = isSingleBlock && isReusableBlock( blocks[ 0 ] );\n\tconst isTemplate = isSingleBlock && isTemplatePart( blocks[ 0 ] );\n\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\n\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tif (\n\t\t! hasBlockStyles &&\n\t\t! hasPossibleBlockTransformations &&\n\t\t! hasPossibleBlockVariationTransformations\n\t) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockTitle }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tblocks.length\n\t\t\t\t),\n\t\t\t\tblocks.length\n\t\t );\n\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst showDropDown =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescribedBy: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) =>\n\t\t\t\t\t\t\tshowDropDown && (\n\t\t\t\t\t\t\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t\t\t\t\t\t\t{ hasPatternTransformation && (\n\t\t\t\t\t\t\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\t\t\t\t\t\tonSelect={ (\n\t\t\t\t\t\t\t\t\t\t\t\ttransformedBlocks\n\t\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\t\tonPatternTransform(\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransformedBlocks\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t\t\t\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\t\t\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\t\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\t\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\t\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\t\t\t\t\t\t\tonBlockVariationTransform(\n\t\t\t\t\t\t\t\t\t\t\t\t\tname\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t\t\t\t\t<BlockStylesMenu\n\t\t\t\t\t\t\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\t\t\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport const BlockSwitcher = ( { clientIds } ) => {\n\tconst blocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocksByClientId( clientIds ),\n\t\t[ clientIds ]\n\t);\n\n\tif ( ! blocks.length || blocks.some( ( block ) => ! block ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockSwitcherDropdownMenu clientIds={ clientIds } blocks={ blocks } />\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SACCC,YAAY,EACZC,aAAa,EACbC,YAAY,EACZC,WAAW,QACL,uBAAuB;AAC9B,SACCC,iBAAiB,EACjBC,KAAK,IAAIC,WAAW,EACpBC,eAAe,EACfC,cAAc,QACR,mBAAmB;AAC1B,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,IAAI,QAAQ,kBAAkB;;AAEvC;AACA;AACA;AACA,SAASN,KAAK,IAAIO,gBAAgB,QAAQ,aAAa;AACvD,OAAOC,0BAA0B,MAAM,kCAAkC;AACzE,OAAOC,SAAS,MAAM,eAAe;AACrC,OAAOC,wBAAwB,MAAM,8BAA8B;AACnE,SAASC,2BAA2B,QAAQ,mCAAmC;AAC/E,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,0BAA0B,MAAM,gCAAgC;AACvE,OAAOC,oBAAoB,MAAM,wCAAwC;AAEzE,OAAO,MAAMC,yBAAyB,GAAGA,CAAE;EAAEC,SAAS;EAAEC;AAAO,CAAC,KAAM;EACrE,MAAM;IAAEC,aAAa;IAAEC,WAAW;IAAEC;EAAsB,CAAC,GAC1Df,WAAW,CAAEE,gBAAiB,CAAC;EAChC,MAAMc,gBAAgB,GAAGb,0BAA0B,CAAES,MAAM,CAAE,CAAC,CAAE,CAACK,QAAS,CAAC;EAC3E,MAAM;IACLC,4BAA4B;IAC5BC,SAAS;IACTC,cAAc;IACdC,IAAI;IACJC;EACD,CAAC,GAAGvB,SAAS,CACVwB,MAAM,IAAM;IACb,MAAM;MACLC,oBAAoB;MACpBC,sBAAsB;MACtBC,sCAAsC;MACtCC;IACD,CAAC,GAAGJ,MAAM,CAAErB,gBAAiB,CAAC;IAC9B,MAAM;MAAE0B,cAAc;MAAEC;IAAa,CAAC,GAAGN,MAAM,CAAE3B,WAAY,CAAC;IAC9D,MAAMkC,YAAY,GAAGN,oBAAoB,CACxCO,KAAK,CAACC,OAAO,CAAErB,SAAU,CAAC,GAAGA,SAAS,CAAE,CAAC,CAAE,GAAGA,SAC/C,CAAC;IACD,MAAM,CAAE;MAAEsB,IAAI,EAAEC;IAAe,CAAC,CAAE,GAAGtB,MAAM;IAC3C,MAAMuB,sBAAsB,GAAGvB,MAAM,CAACwB,MAAM,KAAK,CAAC;IAClD,MAAMC,MAAM,GACXF,sBAAsB,IAAIP,cAAc,CAAEM,cAAe,CAAC;IAC3D,IAAII,KAAK;IACT,IAAKH,sBAAsB,EAAG;MAC7BG,KAAK,GAAGtB,gBAAgB,EAAEK,IAAI,CAAC,CAAC;IACjC,CAAC,MAAM;MACN,MAAMkB,qBAAqB,GAC1B,IAAIC,GAAG,CAAE5B,MAAM,CAAC6B,GAAG,CAAE,CAAE;QAAER;MAAK,CAAC,KAAMA,IAAK,CAAE,CAAC,CAACS,IAAI,KAAK,CAAC;MACzD;MACA;MACAJ,KAAK,GAAGC,qBAAqB,GAC1BV,YAAY,CAAEK,cAAe,CAAC,EAAEb,IAAI,GACpCpB,IAAI;IACR;IACA,OAAO;MACNiB,4BAA4B,EAAEO,sBAAsB,CACnDb,MAAM,EACNkB,YACD,CAAC;MACDX,SAAS,EAAEQ,eAAe,CAAEhB,SAAS,EAAEmB,YAAa,CAAC;MACrDV,cAAc,EAAE,CAAC,CAAEiB,MAAM,EAAED,MAAM;MACjCf,IAAI,EAAEiB,KAAK;MACXhB,QAAQ,EAAEI,sCAAsC,CAC/Cd,MAAM,EACNkB,YACD;IACD,CAAC;EACF,CAAC,EACD,CAAEnB,SAAS,EAAEC,MAAM,EAAEI,gBAAgB,EAAEK,IAAI,CAC5C,CAAC;EAED,MAAMsB,6BAA6B,GAAGrC,2BAA2B,CAAE;IAClEK,SAAS;IACTC;EACD,CAAE,CAAC;EAEH,MAAMgC,UAAU,GAAGnC,oBAAoB,CAAE;IACxCQ,QAAQ,EAAEc,KAAK,CAACC,OAAO,CAAErB,SAAU,CAAC,GAAGA,SAAS,CAAE,CAAC,CAAE,GAAGA,SAAS;IACjEkC,aAAa,EAAE;EAChB,CAAE,CAAC;EAEH,MAAMC,aAAa,GAAGlC,MAAM,CAACwB,MAAM,KAAK,CAAC;EACzC,MAAMW,UAAU,GAAGD,aAAa,IAAIjD,eAAe,CAAEe,MAAM,CAAE,CAAC,CAAG,CAAC;EAClE,MAAMoC,UAAU,GAAGF,aAAa,IAAIhD,cAAc,CAAEc,MAAM,CAAE,CAAC,CAAG,CAAC;EAEjE,SAASqC,uBAAuBA,CAAEC,cAAc,EAAG;IAClD,IAAKA,cAAc,CAACd,MAAM,GAAG,CAAC,EAAG;MAChCtB,WAAW,CACVoC,cAAc,CAAE,CAAC,CAAE,CAACjC,QAAQ,EAC5BiC,cAAc,CAAEA,cAAc,CAACd,MAAM,GAAG,CAAC,CAAE,CAACnB,QAC7C,CAAC;IACF;EACD;;EAEA;EACA,SAASkC,gBAAgBA,CAAElB,IAAI,EAAG;IACjC,MAAMmB,SAAS,GAAG1D,iBAAiB,CAAEkB,MAAM,EAAEqB,IAAK,CAAC;IACnDpB,aAAa,CAAEF,SAAS,EAAEyC,SAAU,CAAC;IACrCH,uBAAuB,CAAEG,SAAU,CAAC;EACrC;EAEA,SAASC,yBAAyBA,CAAEpB,IAAI,EAAG;IAC1ClB,qBAAqB,CAAEH,MAAM,CAAE,CAAC,CAAE,CAACK,QAAQ,EAAE;MAC5C,GAAG0B,6BAA6B,CAACW,IAAI,CACpC,CAAE;QAAErB,IAAI,EAAEsB;MAAc,CAAC,KAAMA,aAAa,KAAKtB,IAClD,CAAC,CAACuB;IACH,CAAE,CAAC;EACJ;;EAEA;EACA,SAASC,kBAAkBA,CAAEC,iBAAiB,EAAG;IAChD7C,aAAa,CAAEF,SAAS,EAAE+C,iBAAkB,CAAC;IAC7CT,uBAAuB,CAAES,iBAAkB,CAAC;EAC7C;;EAEA;AACD;AACA;AACA;AACA;EACC,MAAMC,+BAA+B,GACpC,CAAC,CAAEzC,4BAA4B,CAACkB,MAAM,IAAIjB,SAAS,IAAI,CAAE6B,UAAU;EACpE,MAAMY,wCAAwC,GAC7C,CAAC,CAAEjB,6BAA6B,EAAEP,MAAM;EACzC,MAAMyB,wBAAwB,GAAG,CAAC,CAAEvC,QAAQ,EAAEc,MAAM,IAAIjB,SAAS;EACjE,IACC,CAAEC,cAAc,IAChB,CAAEuC,+BAA+B,IACjC,CAAEC,wCAAwC,EACzC;IACD,OACCE,aAAA,CAACtE,YAAY,QACZsE,aAAA,CAACvE,aAAa;MACbwE,QAAQ;MACRC,SAAS,EAAC,+CAA+C;MACzDC,KAAK,EAAGrB,UAAY;MACpBvB,IAAI,EACHyC,aAAA,CAAAI,QAAA,QACCJ,aAAA,CAAC1D,SAAS;QAACiB,IAAI,EAAGA,IAAM;QAAC8C,UAAU;MAAA,CAAE,CAAC,EACpC,CAAEpB,UAAU,IAAIC,UAAU,KAC3Bc,aAAA;QAAME,SAAS,EAAC;MAA0C,GACvDpB,UACG,CAEN;IACF,CACD,CACY,CAAC;EAEjB;EAEA,MAAMwB,kBAAkB,GAAGtB,aAAa,GACrCF,UAAU,GACVzD,EAAE,CAAE,0BAA2B,CAAC;EAEnC,MAAMkF,wBAAwB,GAAGvB,aAAa,GAC3C3D,EAAE,CAAE,4BAA6B,CAAC,GAClCE,OAAO,EACP;EACAD,EAAE,CACD,yBAAyB,EACzB,0BAA0B,EAC1BwB,MAAM,CAACwB,MACR,CAAC,EACDxB,MAAM,CAACwB,MACP,CAAC;EAEJ,MAAMkC,kCAAkC,GACvCX,+BAA+B,IAC/BC,wCAAwC;EACzC,MAAMW,YAAY,GACjBnD,cAAc,IACdkD,kCAAkC,IAClCT,wBAAwB;EACzB,OACCC,aAAA,CAACtE,YAAY,QACZsE,aAAA,CAACrE,WAAW,QACP+E,WAAW,IACdV,aAAA,CAACxE,YAAY;IACZ0E,SAAS,EAAC,6BAA6B;IACvCS,KAAK,EAAGL,kBAAoB;IAC5BM,YAAY,EAAG;MACdC,SAAS,EAAE,cAAc;MACzBX,SAAS,EAAE;IACZ,CAAG;IACH3C,IAAI,EACHyC,aAAA,CAAAI,QAAA,QACCJ,aAAA,CAAC1D,SAAS;MACTiB,IAAI,EAAGA,IAAM;MACb2C,SAAS,EAAC,qCAAqC;MAC/CG,UAAU;IAAA,CACV,CAAC,EACA,CAAEpB,UAAU,IAAIC,UAAU,KAC3Bc,aAAA;MAAME,SAAS,EAAC;IAA0C,GACvDpB,UACG,CAEN,CACF;IACD4B,WAAW,EAAG;MACbI,WAAW,EAAEP,wBAAwB;MACrC,GAAGG;IACJ,CAAG;IACHK,SAAS,EAAG;MAAEC,WAAW,EAAE;IAAO;EAAG,GAEnC,CAAE;IAAEC;EAAQ,CAAC,KACdR,YAAY,IACXT,aAAA;IAAKE,SAAS,EAAC;EAAwC,GACpDH,wBAAwB,IACzBC,aAAA,CAACtD,0BAA0B;IAC1BI,MAAM,EAAGA,MAAQ;IACjBU,QAAQ,EAAGA,QAAU;IACrB0D,QAAQ,EACPtB,iBAAiB,IACb;MACJD,kBAAkB,CACjBC,iBACD,CAAC;MACDqB,OAAO,CAAC,CAAC;IACV;EAAG,CACH,CACD,EACCT,kCAAkC,IACnCR,aAAA,CAACzD,wBAAwB;IACxB2D,SAAS,EAAC,oDAAoD;IAC9D9C,4BAA4B,EAC3BA,4BACA;IACD+D,qCAAqC,EACpCtC,6BACA;IACD/B,MAAM,EAAGA,MAAQ;IACjBoE,QAAQ,EAAK/C,IAAI,IAAM;MACtBkB,gBAAgB,CAAElB,IAAK,CAAC;MACxB8C,OAAO,CAAC,CAAC;IACV,CAAG;IACHG,iBAAiB,EAAKjD,IAAI,IAAM;MAC/BoB,yBAAyB,CACxBpB,IACD,CAAC;MACD8C,OAAO,CAAC,CAAC;IACV;EAAG,CACH,CACD,EACC3D,cAAc,IACf0C,aAAA,CAACvD,eAAe;IACf4E,YAAY,EAAGvE,MAAM,CAAE,CAAC,CAAI;IAC5BwE,QAAQ,EAAGL;EAAS,CACpB,CAEE,CAGM,CAEH,CACA,CAAC;AAEjB,CAAC;AAED,OAAO,MAAMM,aAAa,GAAGA,CAAE;EAAE1E;AAAU,CAAC,KAAM;EACjD,MAAMC,MAAM,GAAGb,SAAS,CACrBwB,MAAM,IACPA,MAAM,CAAErB,gBAAiB,CAAC,CAACoF,mBAAmB,CAAE3E,SAAU,CAAC,EAC5D,CAAEA,SAAS,CACZ,CAAC;EAED,IAAK,CAAEC,MAAM,CAACwB,MAAM,IAAIxB,MAAM,CAAC2E,IAAI,CAAIC,KAAK,IAAM,CAAEA,KAAM,CAAC,EAAG;IAC7D,OAAO,IAAI;EACZ;EAEA,OACC1B,aAAA,CAACpD,yBAAyB;IAACC,SAAS,EAAGA,SAAW;IAACC,MAAM,EAAGA;EAAQ,CAAE,CAAC;AAEzE,CAAC;AAED,eAAeyE,aAAa"}
|
|
1
|
+
{"version":3,"names":["__","_n","sprintf","DropdownMenu","ToolbarButton","ToolbarGroup","ToolbarItem","switchToBlockType","store","blocksStore","isReusableBlock","isTemplatePart","useSelect","useDispatch","copy","blockEditorStore","useBlockDisplayInformation","BlockIcon","BlockTransformationsMenu","useBlockVariationTransforms","BlockStylesMenu","PatternTransformationsMenu","useBlockDisplayTitle","BlockSwitcherDropdownMenu","clientIds","blocks","replaceBlocks","multiSelect","updateBlockAttributes","blockInformation","clientId","possibleBlockTransformations","canRemove","hasBlockStyles","icon","patterns","select","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","canRemoveBlocks","getBlockStyles","getBlockType","rootClientId","Array","isArray","name","firstBlockName","_isSingleBlockSelected","length","styles","_icon","isSelectionOfSameType","Set","map","size","blockVariationTransformations","blockTitle","maximumLength","isSingleBlock","isReusable","isTemplate","selectForMultipleBlocks","insertedBlocks","onBlockTransform","newBlocks","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","hasBlockOrBlockVariationTransforms","showDropdown","createElement","disabled","className","title","Fragment","showColors","blockSwitcherLabel","blockSwitcherDescription","toggleProps","label","popoverProps","placement","describedBy","menuProps","orientation","onClose","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","BlockSwitcher","getBlocksByClientId","some","block"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nexport const BlockSwitcherDropdownMenu = ( { clientIds, blocks } ) => {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst blockInformation = useBlockDisplayInformation( blocks[ 0 ].clientId );\n\tconst {\n\t\tpossibleBlockTransformations,\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tpatterns,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType } = select( blocksStore );\n\t\t\tconst rootClientId = getBlockRootClientId(\n\t\t\t\tArray.isArray( clientIds ) ? clientIds[ 0 ] : clientIds\n\t\t\t);\n\t\t\tconst [ { name: firstBlockName } ] = blocks;\n\t\t\tconst _isSingleBlockSelected = blocks.length === 1;\n\t\t\tconst styles =\n\t\t\t\t_isSingleBlockSelected && getBlockStyles( firstBlockName );\n\t\t\tlet _icon;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\t_icon = blockInformation?.icon; // Take into account active block variations.\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType\n\t\t\t\t\t? getBlockType( firstBlockName )?.icon\n\t\t\t\t\t: copy;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\tblocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds, rootClientId ),\n\t\t\t\thasBlockStyles: !! styles?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\tblocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, blocks, blockInformation?.icon ]\n\t);\n\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\n\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: Array.isArray( clientIds ) ? clientIds[ 0 ] : clientIds,\n\t\tmaximumLength: 35,\n\t} );\n\n\tconst isSingleBlock = blocks.length === 1;\n\tconst isReusable = isSingleBlock && isReusableBlock( blocks[ 0 ] );\n\tconst isTemplate = isSingleBlock && isTemplatePart( blocks[ 0 ] );\n\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\n\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst showDropdown =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\tif ( ! showDropdown ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockTitle }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tblocks.length\n\t\t\t\t),\n\t\t\t\tblocks.length\n\t\t );\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescribedBy: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t\t\t\t\t\t{ hasPatternTransformation && (\n\t\t\t\t\t\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( transformedBlocks ) => {\n\t\t\t\t\t\t\t\t\t\t\tonPatternTransform(\n\t\t\t\t\t\t\t\t\t\t\t\ttransformedBlocks\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t\t\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\t\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\t\t\t\t\t\tonBlockVariationTransform( name );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t\t\t\t<BlockStylesMenu\n\t\t\t\t\t\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\t\t\t\t\t\tonSwitch={ onClose }\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</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport const BlockSwitcher = ( { clientIds } ) => {\n\tconst blocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocksByClientId( clientIds ),\n\t\t[ clientIds ]\n\t);\n\n\tif ( ! blocks.length || blocks.some( ( block ) => ! block ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockSwitcherDropdownMenu clientIds={ clientIds } blocks={ blocks } />\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":"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"}
|
|
@@ -138,8 +138,7 @@ export function PrivateBlockToolbar({
|
|
|
138
138
|
}, createElement(BlockSwitcher, {
|
|
139
139
|
clientIds: blockClientIds
|
|
140
140
|
}), !isMultiToolbar && createElement(BlockLockToolbar, {
|
|
141
|
-
clientId:
|
|
142
|
-
wrapperRef: toolbarWrapperRef
|
|
141
|
+
clientId: blockClientId
|
|
143
142
|
}), createElement(BlockMover, {
|
|
144
143
|
clientIds: blockClientIds,
|
|
145
144
|
hideDragHandle: hideDragHandle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__","useSelect","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowHoveredOrFocusedGestures","store","blockEditorStore","__unstableBlockNameContext","NavigableToolbar","useHasAnyBlockControls","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","shouldShowVisualToolbar","showParentSelector","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getBlockEditingMode","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","_isDefaultEditingMode","isValid","every","id","isVisual","rootClientId","toolbarWrapperRef","nodeRef","showHoveredOrFocusedGestures","ref","isLargeViewport","isToolbarEnabled","hasAnyBlockControls","isMultiToolbar","isSynced","classes","innerClasses","createElement","focusEditorOnEscape","className","undefined","key","clientIds","clientId","wrapperRef","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":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__","useSelect","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowHoveredOrFocusedGestures","store","blockEditorStore","__unstableBlockNameContext","NavigableToolbar","useHasAnyBlockControls","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","shouldShowVisualToolbar","showParentSelector","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getBlockEditingMode","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","_isDefaultEditingMode","isValid","every","id","isVisual","rootClientId","toolbarWrapperRef","nodeRef","showHoveredOrFocusedGestures","ref","isLargeViewport","isToolbarEnabled","hasAnyBlockControls","isMultiToolbar","isSynced","classes","innerClasses","createElement","focusEditorOnEscape","className","undefined","key","clientIds","clientId","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={ blockClientId }\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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useDispatch","useEffect","useRef","useShortcut","BlockPopover","useBlockToolbarPopoverProps","useSelectedBlockToolProps","store","blockEditorStore","PrivateBlockToolbar","BlockToolbarPopover","clientId","isTyping","__unstableContentRef","capturingClientId","isInsertionPointVisible","lastClientId","initialToolbarItemIndexRef","current","undefined","stopTyping","isToolbarForced","
|
|
1
|
+
{"version":3,"names":["classnames","useDispatch","useEffect","useRef","useShortcut","BlockPopover","useBlockToolbarPopoverProps","useSelectedBlockToolProps","store","blockEditorStore","PrivateBlockToolbar","BlockToolbarPopover","clientId","isTyping","__unstableContentRef","capturingClientId","isInsertionPointVisible","lastClientId","initialToolbarItemIndexRef","current","undefined","stopTyping","isToolbarForced","popoverProps","contentElement","createElement","bottomClientId","className","resize","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( 'core/block-editor/focus-toolbar', () => {\n\t\tisToolbarForced.current = true;\n\t\tstopTyping( true );\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":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;AACnC;AACA;AACA;AACA,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACtD,SAASC,WAAW,QAAQ,+BAA+B;AAC3D;AACA;AACA;AACA,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,2BAA2B,MAAM,mCAAmC;AAC3E,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,SAASC,mBAAmB,QAAQ,kBAAkB;AAEtD,eAAe,SAASC,mBAAmBA,CAAE;EAC5CC,QAAQ;EACRC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,iBAAiB;IAAEC,uBAAuB;IAAEC;EAAa,CAAC,GACjEV,yBAAyB,CAAEK,QAAS,CAAC;;EAEtC;EACA;EACA,MAAMM,0BAA0B,GAAGf,MAAM,CAAC,CAAC;EAE3CD,SAAS,CAAE,MAAM;IAChB;IACA;IACAgB,0BAA0B,CAACC,OAAO,GAAGC,SAAS;EAC/C,CAAC,EAAE,CAAER,QAAQ,CAAG,CAAC;EAEjB,MAAM;IAAES;EAAW,CAAC,GAAGpB,WAAW,CAAEQ,gBAAiB,CAAC;EACtD,MAAMa,eAAe,GAAGnB,MAAM,CAAE,KAAM,CAAC;EAEvCC,WAAW,CAAE,iCAAiC,EAAE,MAAM;IACrDkB,eAAe,CAACH,OAAO,GAAG,IAAI;IAC9BE,UAAU,CAAE,IAAK,CAAC;EACnB,CAAE,CAAC;EAEHnB,SAAS,CAAE,MAAM;IAChBoB,eAAe,CAACH,OAAO,GAAG,KAAK;EAChC,CAAE,CAAC;EAEH,MAAMI,YAAY,GAAGjB,2BAA2B,CAAE;IACjDkB,cAAc,EAAEV,oBAAoB,EAAEK,OAAO;IAC7CP;EACD,CAAE,CAAC;EAEH,OACC,CAAEC,QAAQ,IACTY,aAAA,CAACpB,YAAY;IACZO,QAAQ,EAAGG,iBAAiB,IAAIH,QAAU;IAC1Cc,cAAc,EAAGT,YAAc;IAC/BU,SAAS,EAAG3B,UAAU,CACrB,wCAAwC,EACxC;MACC,4BAA4B,EAAEgB;IAC/B,CACD,CAAG;IACHY,MAAM,EAAG,KAAO;IAAA,GACXL;EAAY,GAEjBE,aAAA,CAACf;EACA;EACA;EAAA;IACAmB,YAAY,EAAGP,eAAe,CAACH,OAAS;IACxCW,0BAA0B,EACzBZ,0BAA0B,CAACC,OAC3B;IACDY,2BAA2B,EAAKC,KAAK,IAAM;MAC1Cd,0BAA0B,CAACC,OAAO,GAAGa,KAAK;IAC3C,CAAG;IACHC,OAAO,EAAC;EAAS,CACjB,CACY,CACd;AAEH"}
|
|
@@ -4,7 +4,7 @@ import { createElement } from "react";
|
|
|
4
4
|
*/
|
|
5
5
|
import { store as blocksStore } from '@wordpress/blocks';
|
|
6
6
|
import { __, sprintf } from '@wordpress/i18n';
|
|
7
|
-
import { Button, DropdownMenu, MenuGroup, MenuItemsChoice, VisuallyHidden } from '@wordpress/components';
|
|
7
|
+
import { Button, DropdownMenu, MenuGroup, MenuItemsChoice, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, VisuallyHidden } from '@wordpress/components';
|
|
8
8
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
9
9
|
import { useMemo } from '@wordpress/element';
|
|
10
10
|
import { chevronDown } from '@wordpress/icons';
|
|
@@ -73,6 +73,29 @@ function VariationsDropdown({
|
|
|
73
73
|
onSelect: onSelectVariation
|
|
74
74
|
}))));
|
|
75
75
|
}
|
|
76
|
+
function VariationsToggleGroupControl({
|
|
77
|
+
className,
|
|
78
|
+
onSelectVariation,
|
|
79
|
+
selectedValue,
|
|
80
|
+
variations
|
|
81
|
+
}) {
|
|
82
|
+
return createElement("div", {
|
|
83
|
+
className: className
|
|
84
|
+
}, createElement(ToggleGroupControl, {
|
|
85
|
+
label: __('Transform to variation'),
|
|
86
|
+
value: selectedValue,
|
|
87
|
+
hideLabelFromVision: true,
|
|
88
|
+
onChange: onSelectVariation,
|
|
89
|
+
__next40pxDefaultSize: true,
|
|
90
|
+
__nextHasNoMarginBottom: true
|
|
91
|
+
}, variations.map(variation => createElement(ToggleGroupControlOptionIcon, {
|
|
92
|
+
key: variation.name,
|
|
93
|
+
icon: variation.icon,
|
|
94
|
+
value: variation.name,
|
|
95
|
+
label: selectedValue === variation.name ? variation.title : sprintf( /* translators: %s: Name of the block variation */
|
|
96
|
+
__('Transform to %s'), variation.title)
|
|
97
|
+
}))));
|
|
98
|
+
}
|
|
76
99
|
function __experimentalBlockVariationTransforms({
|
|
77
100
|
blockClientId
|
|
78
101
|
}) {
|
|
@@ -119,11 +142,15 @@ function __experimentalBlockVariationTransforms({
|
|
|
119
142
|
}) => name === variationName).attributes
|
|
120
143
|
});
|
|
121
144
|
};
|
|
122
|
-
const baseClass = 'block-editor-block-variation-transforms';
|
|
123
145
|
|
|
124
146
|
// Skip rendering if there are no variations
|
|
125
147
|
if (!variations?.length) return null;
|
|
126
|
-
const
|
|
148
|
+
const baseClass = 'block-editor-block-variation-transforms';
|
|
149
|
+
|
|
150
|
+
// Show buttons if there are more than 5 variations because the ToggleGroupControl does not wrap
|
|
151
|
+
const showButtons = variations.length > 5;
|
|
152
|
+
const ButtonComponent = showButtons ? VariationsButtons : VariationsToggleGroupControl;
|
|
153
|
+
const Component = hasUniqueIcons ? ButtonComponent : VariationsDropdown;
|
|
127
154
|
return createElement(Component, {
|
|
128
155
|
className: baseClass,
|
|
129
156
|
onSelectVariation: onSelectVariation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","blocksStore","__","sprintf","Button","DropdownMenu","MenuGroup","MenuItemsChoice","VisuallyHidden","useSelect","useDispatch","useMemo","chevronDown","BlockIcon","blockEditorStore","VariationsButtons","className","onSelectVariation","selectedValue","variations","createElement","as","map","variation","key","name","icon","showColors","isPressed","label","title","onClick","showTooltip","VariationsDropdown","selectOptions","description","value","info","text","popoverProps","position","toggleProps","iconPosition","choices","onSelect","__experimentalBlockVariationTransforms","blockClientId","updateBlockAttributes","activeBlockVariation","select","getActiveBlockVariation","getBlockVariations","getBlockName","getBlockAttributes","hasUniqueIcons","variationIcons","Set","forEach","add","src","size","length","variationName","find","attributes","baseClass","Component"],"sources":["@wordpress/block-editor/src/components/block-variation-transforms/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItemsChoice,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nfunction VariationsButtons( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\treturn (\n\t\t<fieldset className={ className }>\n\t\t\t<VisuallyHidden as=\"legend\">\n\t\t\t\t{ __( 'Transform to variation' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t<Button\n\t\t\t\t\tkey={ variation.name }\n\t\t\t\t\ticon={ <BlockIcon icon={ variation.icon } showColors /> }\n\t\t\t\t\tisPressed={ selectedValue === variation.name }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tselectedValue === variation.name\n\t\t\t\t\t\t\t? variation.title\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: Name of the block variation */\n\t\t\t\t\t\t\t\t\t__( 'Transform to %s' ),\n\t\t\t\t\t\t\t\t\tvariation.title\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tonClick={ () => onSelectVariation( variation.name ) }\n\t\t\t\t\taria-label={ variation.title }\n\t\t\t\t\tshowTooltip\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</fieldset>\n\t);\n}\n\nfunction VariationsDropdown( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\tconst selectOptions = variations.map(\n\t\t( { name, title, description } ) => ( {\n\t\t\tvalue: name,\n\t\t\tlabel: title,\n\t\t\tinfo: description,\n\t\t} )\n\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ className }\n\t\t\tlabel={ __( 'Transform to variation' ) }\n\t\t\ttext={ __( 'Transform to variation' ) }\n\t\t\tpopoverProps={ {\n\t\t\t\tposition: 'bottom center',\n\t\t\t\tclassName: `${ className }__popover`,\n\t\t\t} }\n\t\t\ticon={ chevronDown }\n\t\t\ttoggleProps={ { iconPosition: 'right' } }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<div className={ `${ className }__container` }>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tchoices={ selectOptions }\n\t\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\t\tonSelect={ onSelectVariation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction __experimentalBlockVariationTransforms( { blockClientId } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { activeBlockVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst { getBlockName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst name = blockClientId && getBlockName( blockClientId );\n\t\t\treturn {\n\t\t\t\tactiveBlockVariation: getActiveBlockVariation(\n\t\t\t\t\tname,\n\t\t\t\t\tgetBlockAttributes( blockClientId )\n\t\t\t\t),\n\t\t\t\tvariations: name && getBlockVariations( name, 'transform' ),\n\t\t\t};\n\t\t},\n\t\t[ blockClientId ]\n\t);\n\n\tconst selectedValue = activeBlockVariation?.name;\n\n\t// Check if each variation has a unique icon.\n\tconst hasUniqueIcons = useMemo( () => {\n\t\tconst variationIcons = new Set();\n\t\tif ( ! variations ) {\n\t\t\treturn false;\n\t\t}\n\t\tvariations.forEach( ( variation ) => {\n\t\t\tif ( variation.icon ) {\n\t\t\t\tvariationIcons.add( variation.icon?.src || variation.icon );\n\t\t\t}\n\t\t} );\n\t\treturn variationIcons.size === variations.length;\n\t}, [ variations ] );\n\n\tconst onSelectVariation = ( variationName ) => {\n\t\tupdateBlockAttributes( blockClientId, {\n\t\t\t...variations.find( ( { name } ) => name === variationName )\n\t\t\t\t.attributes,\n\t\t} );\n\t};\n\n\tconst baseClass = 'block-editor-block-variation-transforms';\n\n\t// Skip rendering if there are no variations\n\tif ( ! variations?.length ) return null;\n\n\tconst Component = hasUniqueIcons ? VariationsButtons : VariationsDropdown;\n\n\treturn (\n\t\t<Component\n\t\t\tclassName={ baseClass }\n\t\t\tonSelectVariation={ onSelectVariation }\n\t\t\tselectedValue={ selectedValue }\n\t\t\tvariations={ variations }\n\t\t/>\n\t);\n}\n\nexport default __experimentalBlockVariationTransforms;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AACxD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SACCC,MAAM,EACNC,YAAY,EACZC,SAAS,EACTC,eAAe,EACfC,cAAc,QACR,uBAAuB;AAC9B,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,WAAW,QAAQ,kBAAkB;;AAE9C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,SAASb,KAAK,IAAIc,gBAAgB,QAAQ,aAAa;AAEvD,SAASC,iBAAiBA,CAAE;EAC3BC,SAAS;EACTC,iBAAiB;EACjBC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,OACCC,aAAA;IAAUJ,SAAS,EAAGA;EAAW,GAChCI,aAAA,CAACZ,cAAc;IAACa,EAAE,EAAC;EAAQ,GACxBnB,EAAE,CAAE,wBAAyB,CAChB,CAAC,EACfiB,UAAU,CAACG,GAAG,CAAIC,SAAS,IAC5BH,aAAA,CAAChB,MAAM;IACNoB,GAAG,EAAGD,SAAS,CAACE,IAAM;IACtBC,IAAI,EAAGN,aAAA,CAACP,SAAS;MAACa,IAAI,EAAGH,SAAS,CAACG,IAAM;MAACC,UAAU;IAAA,CAAE,CAAG;IACzDC,SAAS,EAAGV,aAAa,KAAKK,SAAS,CAACE,IAAM;IAC9CI,KAAK,EACJX,aAAa,KAAKK,SAAS,CAACE,IAAI,GAC7BF,SAAS,CAACO,KAAK,GACf3B,OAAO,EACP;IACAD,EAAE,CAAE,iBAAkB,CAAC,EACvBqB,SAAS,CAACO,KACV,CACH;IACDC,OAAO,EAAGA,CAAA,KAAMd,iBAAiB,CAAEM,SAAS,CAACE,IAAK,CAAG;IACrD,cAAaF,SAAS,CAACO,KAAO;IAC9BE,WAAW;EAAA,CACX,CACA,CACO,CAAC;AAEb;AAEA,SAASC,kBAAkBA,CAAE;EAC5BjB,SAAS;EACTC,iBAAiB;EACjBC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAMe,aAAa,GAAGf,UAAU,CAACG,GAAG,CACnC,CAAE;IAAEG,IAAI;IAAEK,KAAK;IAAEK;EAAY,CAAC,MAAQ;IACrCC,KAAK,EAAEX,IAAI;IACXI,KAAK,EAAEC,KAAK;IACZO,IAAI,EAAEF;EACP,CAAC,CACF,CAAC;EAED,OACCf,aAAA,CAACf,YAAY;IACZW,SAAS,EAAGA,SAAW;IACvBa,KAAK,EAAG3B,EAAE,CAAE,wBAAyB,CAAG;IACxCoC,IAAI,EAAGpC,EAAE,CAAE,wBAAyB,CAAG;IACvCqC,YAAY,EAAG;MACdC,QAAQ,EAAE,eAAe;MACzBxB,SAAS,EAAG,GAAGA,SAAW;IAC3B,CAAG;IACHU,IAAI,EAAGd,WAAa;IACpB6B,WAAW,EAAG;MAAEC,YAAY,EAAE;IAAQ;EAAG,GAEvC,MACDtB,aAAA;IAAKJ,SAAS,EAAI,GAAGA,SAAW;EAAc,GAC7CI,aAAA,CAACd,SAAS,QACTc,aAAA,CAACb,eAAe;IACfoC,OAAO,EAAGT,aAAe;IACzBE,KAAK,EAAGlB,aAAe;IACvB0B,QAAQ,EAAG3B;EAAmB,CAC9B,CACS,CACP,CAEO,CAAC;AAEjB;AAEA,SAAS4B,sCAAsCA,CAAE;EAAEC;AAAc,CAAC,EAAG;EACpE,MAAM;IAAEC;EAAsB,CAAC,GAAGrC,WAAW,CAAEI,gBAAiB,CAAC;EACjE,MAAM;IAAEkC,oBAAoB;IAAE7B;EAAW,CAAC,GAAGV,SAAS,CACnDwC,MAAM,IAAM;IACb,MAAM;MAAEC,uBAAuB;MAAEC;IAAmB,CAAC,GACpDF,MAAM,CAAEhD,WAAY,CAAC;IACtB,MAAM;MAAEmD,YAAY;MAAEC;IAAmB,CAAC,GACzCJ,MAAM,CAAEnC,gBAAiB,CAAC;IAC3B,MAAMW,IAAI,GAAGqB,aAAa,IAAIM,YAAY,CAAEN,aAAc,CAAC;IAC3D,OAAO;MACNE,oBAAoB,EAAEE,uBAAuB,CAC5CzB,IAAI,EACJ4B,kBAAkB,CAAEP,aAAc,CACnC,CAAC;MACD3B,UAAU,EAAEM,IAAI,IAAI0B,kBAAkB,CAAE1B,IAAI,EAAE,WAAY;IAC3D,CAAC;EACF,CAAC,EACD,CAAEqB,aAAa,CAChB,CAAC;EAED,MAAM5B,aAAa,GAAG8B,oBAAoB,EAAEvB,IAAI;;EAEhD;EACA,MAAM6B,cAAc,GAAG3C,OAAO,CAAE,MAAM;IACrC,MAAM4C,cAAc,GAAG,IAAIC,GAAG,CAAC,CAAC;IAChC,IAAK,CAAErC,UAAU,EAAG;MACnB,OAAO,KAAK;IACb;IACAA,UAAU,CAACsC,OAAO,CAAIlC,SAAS,IAAM;MACpC,IAAKA,SAAS,CAACG,IAAI,EAAG;QACrB6B,cAAc,CAACG,GAAG,CAAEnC,SAAS,CAACG,IAAI,EAAEiC,GAAG,IAAIpC,SAAS,CAACG,IAAK,CAAC;MAC5D;IACD,CAAE,CAAC;IACH,OAAO6B,cAAc,CAACK,IAAI,KAAKzC,UAAU,CAAC0C,MAAM;EACjD,CAAC,EAAE,CAAE1C,UAAU,CAAG,CAAC;EAEnB,MAAMF,iBAAiB,GAAK6C,aAAa,IAAM;IAC9Cf,qBAAqB,CAAED,aAAa,EAAE;MACrC,GAAG3B,UAAU,CAAC4C,IAAI,CAAE,CAAE;QAAEtC;MAAK,CAAC,KAAMA,IAAI,KAAKqC,aAAc,CAAC,CAC1DE;IACH,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,SAAS,GAAG,yCAAyC;;EAE3D;EACA,IAAK,CAAE9C,UAAU,EAAE0C,MAAM,EAAG,OAAO,IAAI;EAEvC,MAAMK,SAAS,GAAGZ,cAAc,GAAGvC,iBAAiB,GAAGkB,kBAAkB;EAEzE,OACCb,aAAA,CAAC8C,SAAS;IACTlD,SAAS,EAAGiD,SAAW;IACvBhD,iBAAiB,EAAGA,iBAAmB;IACvCC,aAAa,EAAGA,aAAe;IAC/BC,UAAU,EAAGA;EAAY,CACzB,CAAC;AAEJ;AAEA,eAAe0B,sCAAsC"}
|
|
1
|
+
{"version":3,"names":["store","blocksStore","__","sprintf","Button","DropdownMenu","MenuGroup","MenuItemsChoice","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","VisuallyHidden","useSelect","useDispatch","useMemo","chevronDown","BlockIcon","blockEditorStore","VariationsButtons","className","onSelectVariation","selectedValue","variations","createElement","as","map","variation","key","name","icon","showColors","isPressed","label","title","onClick","showTooltip","VariationsDropdown","selectOptions","description","value","info","text","popoverProps","position","toggleProps","iconPosition","choices","onSelect","VariationsToggleGroupControl","hideLabelFromVision","onChange","__next40pxDefaultSize","__nextHasNoMarginBottom","__experimentalBlockVariationTransforms","blockClientId","updateBlockAttributes","activeBlockVariation","select","getActiveBlockVariation","getBlockVariations","getBlockName","getBlockAttributes","hasUniqueIcons","variationIcons","Set","forEach","add","src","size","length","variationName","find","attributes","baseClass","showButtons","ButtonComponent","Component"],"sources":["@wordpress/block-editor/src/components/block-variation-transforms/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItemsChoice,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nfunction VariationsButtons( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\treturn (\n\t\t<fieldset className={ className }>\n\t\t\t<VisuallyHidden as=\"legend\">\n\t\t\t\t{ __( 'Transform to variation' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t<Button\n\t\t\t\t\tkey={ variation.name }\n\t\t\t\t\ticon={ <BlockIcon icon={ variation.icon } showColors /> }\n\t\t\t\t\tisPressed={ selectedValue === variation.name }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tselectedValue === variation.name\n\t\t\t\t\t\t\t? variation.title\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: Name of the block variation */\n\t\t\t\t\t\t\t\t\t__( 'Transform to %s' ),\n\t\t\t\t\t\t\t\t\tvariation.title\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tonClick={ () => onSelectVariation( variation.name ) }\n\t\t\t\t\taria-label={ variation.title }\n\t\t\t\t\tshowTooltip\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</fieldset>\n\t);\n}\n\nfunction VariationsDropdown( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\tconst selectOptions = variations.map(\n\t\t( { name, title, description } ) => ( {\n\t\t\tvalue: name,\n\t\t\tlabel: title,\n\t\t\tinfo: description,\n\t\t} )\n\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={ className }\n\t\t\tlabel={ __( 'Transform to variation' ) }\n\t\t\ttext={ __( 'Transform to variation' ) }\n\t\t\tpopoverProps={ {\n\t\t\t\tposition: 'bottom center',\n\t\t\t\tclassName: `${ className }__popover`,\n\t\t\t} }\n\t\t\ticon={ chevronDown }\n\t\t\ttoggleProps={ { iconPosition: 'right' } }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<div className={ `${ className }__container` }>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\tchoices={ selectOptions }\n\t\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\t\tonSelect={ onSelectVariation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction VariationsToggleGroupControl( {\n\tclassName,\n\tonSelectVariation,\n\tselectedValue,\n\tvariations,\n} ) {\n\treturn (\n\t\t<div className={ className }>\n\t\t\t<ToggleGroupControl\n\t\t\t\tlabel={ __( 'Transform to variation' ) }\n\t\t\t\tvalue={ selectedValue }\n\t\t\t\thideLabelFromVision\n\t\t\t\tonChange={ onSelectVariation }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t>\n\t\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ variation.name }\n\t\t\t\t\t\ticon={ variation.icon }\n\t\t\t\t\t\tvalue={ variation.name }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tselectedValue === variation.name\n\t\t\t\t\t\t\t\t? variation.title\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: Name of the block variation */\n\t\t\t\t\t\t\t\t\t\t__( 'Transform to %s' ),\n\t\t\t\t\t\t\t\t\t\tvariation.title\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ToggleGroupControl>\n\t\t</div>\n\t);\n}\n\nfunction __experimentalBlockVariationTransforms( { blockClientId } ) {\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { activeBlockVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getActiveBlockVariation, getBlockVariations } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst { getBlockName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst name = blockClientId && getBlockName( blockClientId );\n\t\t\treturn {\n\t\t\t\tactiveBlockVariation: getActiveBlockVariation(\n\t\t\t\t\tname,\n\t\t\t\t\tgetBlockAttributes( blockClientId )\n\t\t\t\t),\n\t\t\t\tvariations: name && getBlockVariations( name, 'transform' ),\n\t\t\t};\n\t\t},\n\t\t[ blockClientId ]\n\t);\n\n\tconst selectedValue = activeBlockVariation?.name;\n\n\t// Check if each variation has a unique icon.\n\tconst hasUniqueIcons = useMemo( () => {\n\t\tconst variationIcons = new Set();\n\t\tif ( ! variations ) {\n\t\t\treturn false;\n\t\t}\n\t\tvariations.forEach( ( variation ) => {\n\t\t\tif ( variation.icon ) {\n\t\t\t\tvariationIcons.add( variation.icon?.src || variation.icon );\n\t\t\t}\n\t\t} );\n\t\treturn variationIcons.size === variations.length;\n\t}, [ variations ] );\n\n\tconst onSelectVariation = ( variationName ) => {\n\t\tupdateBlockAttributes( blockClientId, {\n\t\t\t...variations.find( ( { name } ) => name === variationName )\n\t\t\t\t.attributes,\n\t\t} );\n\t};\n\n\t// Skip rendering if there are no variations\n\tif ( ! variations?.length ) return null;\n\n\tconst baseClass = 'block-editor-block-variation-transforms';\n\n\t// Show buttons if there are more than 5 variations because the ToggleGroupControl does not wrap\n\tconst showButtons = variations.length > 5;\n\n\tconst ButtonComponent = showButtons\n\t\t? VariationsButtons\n\t\t: VariationsToggleGroupControl;\n\n\tconst Component = hasUniqueIcons ? ButtonComponent : VariationsDropdown;\n\n\treturn (\n\t\t<Component\n\t\t\tclassName={ baseClass }\n\t\t\tonSelectVariation={ onSelectVariation }\n\t\t\tselectedValue={ selectedValue }\n\t\t\tvariations={ variations }\n\t\t/>\n\t);\n}\n\nexport default __experimentalBlockVariationTransforms;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Tooltip","link","linkOff","__","LinkedButton","isLinked","props","label","createElement","text","className","
|
|
1
|
+
{"version":3,"names":["Button","Tooltip","link","linkOff","__","LinkedButton","isLinked","props","label","createElement","text","className","size","icon","iconSize"],"sources":["@wordpress/block-editor/src/components/border-radius-control/linked-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Tooltip } from '@wordpress/components';\nimport { link, linkOff } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nexport default function LinkedButton( { isLinked, ...props } ) {\n\tconst label = isLinked ? __( 'Unlink radii' ) : __( 'Link radii' );\n\n\treturn (\n\t\t<Tooltip text={ label }>\n\t\t\t<Button\n\t\t\t\t{ ...props }\n\t\t\t\tclassName=\"component-border-radius-control__linked-button\"\n\t\t\t\tsize=\"small\"\n\t\t\t\ticon={ isLinked ? link : linkOff }\n\t\t\t\ticonSize={ 24 }\n\t\t\t\taria-label={ label }\n\t\t\t/>\n\t\t</Tooltip>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,OAAO,QAAQ,uBAAuB;AACvD,SAASC,IAAI,EAAEC,OAAO,QAAQ,kBAAkB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;AAEpC,eAAe,SAASC,YAAYA,CAAE;EAAEC,QAAQ;EAAE,GAAGC;AAAM,CAAC,EAAG;EAC9D,MAAMC,KAAK,GAAGF,QAAQ,GAAGF,EAAE,CAAE,cAAe,CAAC,GAAGA,EAAE,CAAE,YAAa,CAAC;EAElE,OACCK,aAAA,CAACR,OAAO;IAACS,IAAI,EAAGF;EAAO,GACtBC,aAAA,CAACT,MAAM;IAAA,GACDO,KAAK;IACVI,SAAS,EAAC,gDAAgD;IAC1DC,IAAI,EAAC,OAAO;IACZC,IAAI,EAAGP,QAAQ,GAAGJ,IAAI,GAAGC,OAAS;IAClCW,QAAQ,EAAG,EAAI;IACf,cAAaN;EAAO,CACpB,CACO,CAAC;AAEZ"}
|
|
@@ -5,10 +5,15 @@ import { colord, extend } from 'colord';
|
|
|
5
5
|
import namesPlugin from 'colord/plugins/names';
|
|
6
6
|
import a11yPlugin from 'colord/plugins/a11y';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* WordPress dependencies
|
|
10
|
+
*/
|
|
11
|
+
import { privateApis as componentsPrivateApis } from '@wordpress/components';
|
|
12
|
+
|
|
8
13
|
/**
|
|
9
14
|
* Internal dependencies
|
|
10
15
|
*/
|
|
11
|
-
import {
|
|
16
|
+
import { unlock } from '../../lock-unlock';
|
|
12
17
|
extend([namesPlugin, a11yPlugin]);
|
|
13
18
|
|
|
14
19
|
/**
|
|
@@ -61,6 +66,9 @@ export function getColorClassName(colorContextName, colorSlug) {
|
|
|
61
66
|
if (!colorContextName || !colorSlug) {
|
|
62
67
|
return undefined;
|
|
63
68
|
}
|
|
69
|
+
const {
|
|
70
|
+
kebabCase
|
|
71
|
+
} = unlock(componentsPrivateApis);
|
|
64
72
|
return `has-${kebabCase(colorSlug)}-${colorContextName}`;
|
|
65
73
|
}
|
|
66
74
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["colord","extend","namesPlugin","a11yPlugin","
|
|
1
|
+
{"version":3,"names":["colord","extend","namesPlugin","a11yPlugin","privateApis","componentsPrivateApis","unlock","getColorObjectByAttributeValues","colors","definedColor","customColor","colorObj","find","color","slug","getColorObjectByColorValue","colorValue","getColorClassName","colorContextName","colorSlug","undefined","kebabCase","getMostReadableColor","colordColor","getColorContrast","contrast","maxContrast","Math","max","map"],"sources":["@wordpress/block-editor/src/components/colors/utils.js"],"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 { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\n/**\n * Provided an array of color objects as set by the theme or by the editor defaults,\n * and the values of the defined color or custom color returns a color object describing the color.\n *\n * @param {Array} colors Array of color objects as set by the theme or by the editor defaults.\n * @param {?string} definedColor A string containing the color slug.\n * @param {?string} customColor A string containing the customColor value.\n *\n * @return {?Object} If definedColor is passed and the name is found in colors,\n * the color object exactly as set by the theme or editor defaults is returned.\n * Otherwise, an object that just sets the color is defined.\n */\nexport const getColorObjectByAttributeValues = (\n\tcolors,\n\tdefinedColor,\n\tcustomColor\n) => {\n\tif ( definedColor ) {\n\t\tconst colorObj = colors?.find(\n\t\t\t( color ) => color.slug === definedColor\n\t\t);\n\n\t\tif ( colorObj ) {\n\t\t\treturn colorObj;\n\t\t}\n\t}\n\treturn {\n\t\tcolor: customColor,\n\t};\n};\n\n/**\n * Provided an array of color objects as set by the theme or by the editor defaults, and a color value returns the color object matching that value or undefined.\n *\n * @param {Array} colors Array of color objects as set by the theme or by the editor defaults.\n * @param {?string} colorValue A string containing the color value.\n *\n * @return {?Object} Color object included in the colors array whose color property equals colorValue.\n * Returns undefined if no color object matches this requirement.\n */\nexport const getColorObjectByColorValue = ( colors, colorValue ) => {\n\treturn colors?.find( ( color ) => color.color === colorValue );\n};\n\n/**\n * Returns a class based on the context a color is being used and its slug.\n *\n * @param {string} colorContextName Context/place where color is being used e.g: background, text etc...\n * @param {string} colorSlug Slug of the color.\n *\n * @return {?string} String with the class corresponding to the color in the provided context.\n * Returns undefined if either colorContextName or colorSlug are not provided.\n */\nexport function getColorClassName( colorContextName, colorSlug ) {\n\tif ( ! colorContextName || ! colorSlug ) {\n\t\treturn undefined;\n\t}\n\n\tconst { kebabCase } = unlock( componentsPrivateApis );\n\n\treturn `has-${ kebabCase( colorSlug ) }-${ colorContextName }`;\n}\n\n/**\n * Given an array of color objects and a color value returns the color value of the most readable color in the array.\n *\n * @param {Array} colors Array of color objects as set by the theme or by the editor defaults.\n * @param {?string} colorValue A string containing the color value.\n *\n * @return {string} String with the color value of the most readable color.\n */\nexport function getMostReadableColor( colors, colorValue ) {\n\tconst colordColor = colord( colorValue );\n\tconst getColorContrast = ( { color } ) => colordColor.contrast( color );\n\n\tconst maxContrast = Math.max( ...colors.map( getColorContrast ) );\n\treturn colors.find( ( color ) => getColorContrast( color ) === maxContrast )\n\t\t.color;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,MAAM,QAAQ,QAAQ;AACvC,OAAOC,WAAW,MAAM,sBAAsB;AAC9C,OAAOC,UAAU,MAAM,qBAAqB;;AAE5C;AACA;AACA;AACA,SAASC,WAAW,IAAIC,qBAAqB,QAAQ,uBAAuB;;AAE5E;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1CL,MAAM,CAAE,CAAEC,WAAW,EAAEC,UAAU,CAAG,CAAC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,+BAA+B,GAAGA,CAC9CC,MAAM,EACNC,YAAY,EACZC,WAAW,KACP;EACJ,IAAKD,YAAY,EAAG;IACnB,MAAME,QAAQ,GAAGH,MAAM,EAAEI,IAAI,CAC1BC,KAAK,IAAMA,KAAK,CAACC,IAAI,KAAKL,YAC7B,CAAC;IAED,IAAKE,QAAQ,EAAG;MACf,OAAOA,QAAQ;IAChB;EACD;EACA,OAAO;IACNE,KAAK,EAAEH;EACR,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,0BAA0B,GAAGA,CAAEP,MAAM,EAAEQ,UAAU,KAAM;EACnE,OAAOR,MAAM,EAAEI,IAAI,CAAIC,KAAK,IAAMA,KAAK,CAACA,KAAK,KAAKG,UAAW,CAAC;AAC/D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAEC,gBAAgB,EAAEC,SAAS,EAAG;EAChE,IAAK,CAAED,gBAAgB,IAAI,CAAEC,SAAS,EAAG;IACxC,OAAOC,SAAS;EACjB;EAEA,MAAM;IAAEC;EAAU,CAAC,GAAGf,MAAM,CAAED,qBAAsB,CAAC;EAErD,OAAQ,OAAOgB,SAAS,CAAEF,SAAU,CAAG,IAAID,gBAAkB,EAAC;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,oBAAoBA,CAAEd,MAAM,EAAEQ,UAAU,EAAG;EAC1D,MAAMO,WAAW,GAAGvB,MAAM,CAAEgB,UAAW,CAAC;EACxC,MAAMQ,gBAAgB,GAAGA,CAAE;IAAEX;EAAM,CAAC,KAAMU,WAAW,CAACE,QAAQ,CAAEZ,KAAM,CAAC;EAEvE,MAAMa,WAAW,GAAGC,IAAI,CAACC,GAAG,CAAE,GAAGpB,MAAM,CAACqB,GAAG,CAAEL,gBAAiB,CAAE,CAAC;EACjE,OAAOhB,MAAM,CAACI,IAAI,CAAIC,KAAK,IAAMW,gBAAgB,CAAEX,KAAM,CAAC,KAAKa,WAAY,CAAC,CAC1Eb,KAAK;AACR"}
|
|
@@ -4,13 +4,14 @@ import { createElement } from "react";
|
|
|
4
4
|
*/
|
|
5
5
|
import { useMemo, Component } from '@wordpress/element';
|
|
6
6
|
import { compose, createHigherOrderComponent } from '@wordpress/compose';
|
|
7
|
+
import { privateApis as componentsPrivateApis } from '@wordpress/components';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Internal dependencies
|
|
10
11
|
*/
|
|
11
12
|
import { getColorClassName, getColorObjectByColorValue, getColorObjectByAttributeValues, getMostReadableColor } from './utils';
|
|
12
13
|
import { useSettings } from '../use-settings';
|
|
13
|
-
import {
|
|
14
|
+
import { unlock } from '../../lock-unlock';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Capitalizes the first letter in a string.
|
|
@@ -59,6 +60,9 @@ const withEditorColorPalette = () => createHigherOrderComponent(WrappedComponent
|
|
|
59
60
|
* @return {Component} The component that can be used as a HOC.
|
|
60
61
|
*/
|
|
61
62
|
function createColorHOC(colorTypes, withColorPalette) {
|
|
63
|
+
const {
|
|
64
|
+
kebabCase
|
|
65
|
+
} = unlock(componentsPrivateApis);
|
|
62
66
|
const colorMap = colorTypes.reduce((colorObject, colorType) => {
|
|
63
67
|
return {
|
|
64
68
|
...colorObject,
|