@wordpress/block-editor 12.15.0 → 12.16.1-next.79a6196f.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 +12 -10
- package/build/components/block-canvas/index.js +21 -7
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-card/index.js +2 -2
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-controls/hook.js +3 -23
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-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-edit/context.js +5 -1
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/index.js +18 -9
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-editing-mode/index.js +2 -3
- package/build/components/block-editing-mode/index.js.map +1 -1
- package/build/components/block-info-slot-fill/index.js +3 -4
- package/build/components/block-info-slot-fill/index.js.map +1 -1
- package/build/components/block-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 +257 -95
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +58 -23
- 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 +49 -69
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -29
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +4 -14
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-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 +21 -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 +5 -5
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +2 -9
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-rename/modal.js +3 -0
- package/build/components/block-rename/modal.js.map +1 -1
- package/build/components/block-settings/container.native.js +6 -4
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-styles/index.js +1 -1
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +3 -2
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-switcher/index.js +4 -4
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +90 -29
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +49 -0
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
- package/build/components/block-tools/block-toolbar-popover.js +84 -0
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -0
- package/build/components/block-tools/index.js +27 -24
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js +4 -3
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +2 -1
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/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/colors-gradients/control.js +28 -17
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/duotone-control/index.js +1 -4
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/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 +24 -21
- 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 +6 -3
- 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 +3 -2
- 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 +43 -36
- 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-link-destinations/index.native.js +118 -0
- package/build/components/image-link-destinations/index.native.js.map +1 -0
- 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 +14 -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/media-tab/media-panel.js +2 -2
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/menu.js +26 -33
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/preview-panel.js +2 -2
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/tabs.js +21 -21
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter-button/index.native.js +98 -0
- package/build/components/inserter-button/index.native.js.map +1 -0
- package/build/components/inserter-button/sparkles.js +23 -0
- package/build/components/inserter-button/sparkles.js.map +1 -0
- package/build/components/inserter-draggable-blocks/index.js +8 -4
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/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/fill.js +3 -3
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +3 -3
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/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 +11 -16
- 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/preview-options/index.js +6 -62
- package/build/components/preview-options/index.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/content.js +26 -23
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js +2 -1
- package/build/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build/components/rich-text/index.js +19 -37
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +9 -16
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/native/get-format-colors.native.js +22 -24
- package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +22 -57
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +7 -3
- 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/rich-text/with-deprecations.js +50 -0
- package/build/components/rich-text/with-deprecations.js.map +1 -0
- 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 +108 -17
- 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 +9 -12
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js +4 -1
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/use-settings/index.js +14 -0
- package/build/components/use-settings/index.js.map +1 -1
- package/build/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 +21 -69
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/align.native.js +11 -1
- package/build/hooks/align.native.js.map +1 -1
- package/build/hooks/anchor.js +14 -30
- 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 +198 -36
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-hooks.js +24 -32
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-renaming.js +18 -22
- package/build/hooks/block-renaming.js.map +1 -1
- package/build/hooks/border.js +53 -80
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +79 -90
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +29 -29
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/custom-class-name.js +13 -30
- 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 +13 -14
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +31 -61
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js +23 -28
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +52 -120
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.js +27 -16
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +15 -6
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout-child.js +68 -0
- package/build/hooks/layout-child.js.map +1 -0
- package/build/hooks/layout.js +25 -104
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/padding.js +2 -2
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/position.js +40 -62
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +52 -89
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/typography.js +25 -10
- 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 +200 -10
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +2 -6
- 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 +54 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +46 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +18 -2
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +11 -73
- 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 +66 -0
- package/build/store/utils.js.map +1 -0
- 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 +38 -99
- package/build/utils/object.js.map +1 -1
- package/build/utils/selection.js +9 -1
- package/build/utils/selection.js.map +1 -1
- package/build/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 +22 -8
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-card/index.js +2 -2
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-controls/hook.js +4 -24
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-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-edit/context.js +2 -0
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/index.js +19 -10
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-editing-mode/index.js +3 -4
- package/build-module/components/block-editing-mode/index.js.map +1 -1
- package/build-module/components/block-info-slot-fill/index.js +3 -3
- package/build-module/components/block-info-slot-fill/index.js.map +1 -1
- package/build-module/components/block-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 +261 -99
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +60 -25
- 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 +50 -70
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -29
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +4 -14
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-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 +22 -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 +6 -6
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +3 -10
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-rename/modal.js +3 -0
- package/build-module/components/block-rename/modal.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +4 -2
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -1
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +3 -2
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-switcher/index.js +4 -4
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +89 -27
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +41 -0
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
- package/build-module/components/block-tools/block-toolbar-popover.js +74 -0
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -0
- package/build-module/components/block-tools/index.js +27 -24
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +2 -1
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +2 -1
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/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/colors-gradients/control.js +29 -18
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/duotone-control/index.js +1 -4
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/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 +26 -23
- 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 +8 -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 +3 -2
- 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 +45 -38
- 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-link-destinations/index.native.js +109 -0
- package/build-module/components/image-link-destinations/index.native.js.map +1 -0
- 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 +3 -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/media-tab/media-panel.js +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/menu.js +26 -33
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +2 -2
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/tabs.js +22 -22
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js +89 -0
- package/build-module/components/inserter-button/index.native.js.map +1 -0
- package/build-module/components/inserter-button/sparkles.js +15 -0
- package/build-module/components/inserter-button/sparkles.js.map +1 -0
- package/build-module/components/inserter-draggable-blocks/index.js +9 -5
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/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/fill.js +3 -3
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +3 -3
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/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 +11 -16
- 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/preview-options/index.js +6 -62
- package/build-module/components/preview-options/index.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/content.js +25 -21
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js +2 -1
- package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build-module/components/rich-text/index.js +21 -39
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +10 -18
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/native/get-format-colors.native.js +22 -24
- package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +22 -56
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +7 -3
- 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/rich-text/with-deprecations.js +42 -0
- package/build-module/components/rich-text/with-deprecations.js.map +1 -0
- 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 +107 -18
- 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 +9 -12
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js +4 -1
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +13 -1
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/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 +20 -67
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/align.native.js +1 -0
- package/build-module/hooks/align.native.js.map +1 -1
- package/build-module/hooks/anchor.js +12 -27
- 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 +197 -37
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-hooks.js +22 -30
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-renaming.js +17 -21
- package/build-module/hooks/block-renaming.js.map +1 -1
- package/build-module/hooks/border.js +52 -79
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +78 -88
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +27 -27
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +12 -28
- 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 +15 -16
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +30 -61
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-family.js +20 -25
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +50 -120
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.js +20 -16
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js +10 -6
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout-child.js +60 -0
- package/build-module/hooks/layout-child.js.map +1 -0
- package/build-module/hooks/layout.js +21 -100
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/padding.js +2 -2
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/position.js +38 -59
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +52 -85
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/typography.js +26 -11
- 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 +194 -9
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +2 -6
- 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 +52 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +44 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +18 -2
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +4 -65
- 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 +56 -0
- package/build-module/store/utils.js.map +1 -0
- 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 +37 -97
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/selection.js +9 -1
- package/build-module/utils/selection.js.map +1 -1
- package/build-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 +164 -301
- package/build-style/style.css +164 -301
- 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 +29 -17
- package/src/components/block-canvas/style.scss +6 -0
- package/src/components/block-caption/README.md +2 -7
- package/src/components/block-card/README.md +0 -5
- package/src/components/block-card/index.js +6 -4
- package/src/components/block-card/style.scss +7 -3
- package/src/components/block-controls/hook.js +8 -30
- package/src/components/block-controls/test/index.js +3 -3
- package/src/components/block-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-edit/context.js +3 -0
- package/src/components/block-edit/index.js +36 -10
- package/src/components/block-editing-mode/index.js +3 -3
- package/src/components/block-icon/README.md +0 -5
- package/src/components/block-info-slot-fill/index.js +6 -3
- package/src/components/block-inspector/README.md +0 -5
- package/src/components/block-inspector/index.js +3 -1
- package/src/components/block-inspector/style.scss +0 -4
- package/src/components/block-list/block-list-item-cell.native.js +5 -1
- package/src/components/block-list/block.js +309 -104
- package/src/components/block-list/block.native.js +69 -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 +43 -86
- package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -34
- package/src/components/block-list/use-block-props/use-is-hovered.js +2 -13
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +1 -5
- package/src/components/block-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 +23 -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 +9 -6
- package/src/components/block-removal-warning-modal/index.js +7 -14
- package/src/components/block-rename/modal.js +7 -1
- package/src/components/block-settings/container.native.js +3 -5
- package/src/components/block-styles/index.js +1 -1
- package/src/components/block-styles/index.native.js +4 -2
- package/src/components/block-styles/style.scss +0 -11
- package/src/components/block-switcher/index.js +49 -59
- package/src/components/block-switcher/test/__snapshots__/index.js.snap +3 -1
- package/src/components/block-toolbar/README.md +0 -5
- package/src/components/block-toolbar/index.js +179 -95
- package/src/components/block-toolbar/style.scss +50 -66
- package/src/components/block-tools/block-toolbar-breadcrumb.js +46 -0
- package/src/components/block-tools/block-toolbar-popover.js +84 -0
- package/src/components/block-tools/index.js +42 -29
- package/src/components/block-tools/style.scss +60 -172
- package/src/components/block-types-list/README.md +0 -5
- package/src/components/block-types-list/index.native.js +2 -1
- package/src/components/block-variation-picker/README.md +0 -5
- package/src/components/block-variation-picker/index.native.js +1 -1
- 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/colors-gradients/control.js +49 -30
- package/src/components/colors-gradients/style.scss +0 -7
- package/src/components/contrast-checker/README.md +0 -4
- package/src/components/copy-handler/README.md +0 -10
- package/src/components/duotone-control/index.js +2 -5
- package/src/components/duotone-control/style.scss +1 -6
- 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 +36 -26
- 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 +6 -5
- package/src/components/global-styles/get-global-styles-changes.js +210 -0
- package/src/components/global-styles/hooks.js +5 -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 +60 -47
- 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-link-destinations/index.native.js +152 -0
- package/src/components/image-link-destinations/style.native.scss +16 -0
- package/src/components/image-size-control/index.js +5 -2
- package/src/components/index.native.js +3 -2
- package/src/components/inner-blocks/README.md +13 -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/media-tab/media-panel.js +1 -1
- package/src/components/inserter/menu.js +26 -36
- package/src/components/inserter/preview-panel.js +2 -2
- package/src/components/inserter/style.scss +21 -21
- package/src/components/inserter/tabs.js +34 -25
- package/src/components/inserter-button/README.md +62 -0
- package/src/components/inserter-button/index.native.js +116 -0
- package/src/components/inserter-button/sparkles.js +15 -0
- package/src/components/inserter-button/style.native.scss +72 -0
- package/src/components/inserter-draggable-blocks/index.js +18 -5
- package/src/components/inserter-list-item/index.js +6 -6
- package/src/components/inspector-controls/block-support-tools-panel.js +2 -0
- package/src/components/inspector-controls/fill.js +6 -3
- package/src/components/inspector-controls/fill.native.js +6 -3
- 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/link-control/style.scss +1 -1
- package/src/components/link-control/test/index.js +1 -1
- 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/README.md +2 -0
- package/src/components/navigable-toolbar/index.js +15 -13
- package/src/components/plain-text/index.native.js +6 -1
- package/src/components/preview-options/index.js +6 -86
- 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/content.js +27 -20
- package/src/components/rich-text/get-rich-text-values.js +6 -1
- package/src/components/rich-text/index.js +23 -52
- package/src/components/rich-text/index.native.js +8 -25
- package/src/components/rich-text/native/get-format-colors.native.js +33 -40
- package/src/components/rich-text/native/index.native.js +22 -71
- 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 +8 -3
- package/src/components/rich-text/use-mark-persistent.js +1 -2
- package/src/components/rich-text/with-deprecations.js +51 -0
- 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 +181 -30
- package/src/components/use-moving-animation/index.js +107 -103
- package/src/components/use-on-block-drop/index.js +9 -24
- package/src/components/use-on-block-drop/test/index.js +12 -26
- package/src/components/use-resize-canvas/README.md +3 -7
- package/src/components/use-resize-canvas/index.js +4 -1
- package/src/components/use-settings/README.md +0 -4
- package/src/components/use-settings/index.js +15 -1
- 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 +16 -81
- package/src/hooks/align.native.js +1 -0
- package/src/hooks/anchor.js +14 -38
- package/src/hooks/aria-label.js +8 -5
- package/src/hooks/background.js +269 -32
- package/src/hooks/block-hooks.js +22 -51
- package/src/hooks/block-renaming.js +23 -37
- package/src/hooks/border.js +62 -124
- package/src/hooks/color.js +111 -138
- package/src/hooks/content-lock-ui.js +110 -122
- package/src/hooks/custom-class-name.js +9 -45
- package/src/hooks/custom-class-name.native.js +8 -5
- package/src/hooks/dimensions.js +14 -16
- package/src/hooks/duotone.js +70 -127
- package/src/hooks/font-family.js +14 -36
- package/src/hooks/font-size.js +67 -168
- package/src/hooks/index.js +58 -16
- package/src/hooks/index.native.js +22 -6
- package/src/hooks/layout-child.js +53 -0
- package/src/hooks/layout.js +17 -103
- package/src/hooks/padding.js +2 -2
- package/src/hooks/position.js +50 -90
- package/src/hooks/style.js +118 -193
- package/src/hooks/test/align.js +1 -178
- 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 +14 -16
- package/src/hooks/typography.native.js +31 -33
- package/src/hooks/use-typography-props.js +7 -1
- package/src/hooks/utils.js +261 -10
- package/src/private-apis.js +2 -6
- package/src/private-apis.native.js +0 -2
- package/src/store/actions.js +0 -15
- package/src/store/private-actions.js +48 -0
- package/src/store/private-selectors.js +56 -0
- package/src/store/reducer.js +20 -1
- package/src/store/selectors.js +10 -82
- package/src/store/undo-ignore.js +4 -0
- package/src/store/utils.js +74 -0
- package/src/style.scss +1 -2
- package/src/utils/get-px-from-css-unit.js +8 -0
- package/src/utils/index.js +1 -1
- package/src/utils/object.js +34 -104
- package/src/utils/selection.js +9 -2
- 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/components/block-list/use-block-props/use-block-class-names.js +0 -67
- package/build/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js +0 -46
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
- package/build/components/block-list/use-block-props/use-block-default-class-name.js +0 -37
- package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
- package/build/components/block-tools/back-compat.js +0 -45
- package/build/components/block-tools/back-compat.js.map +0 -1
- package/build/components/block-tools/block-contextual-toolbar.js +0 -91
- package/build/components/block-tools/block-contextual-toolbar.js.map +0 -1
- package/build/components/block-tools/selected-block-tools.js +0 -113
- package/build/components/block-tools/selected-block-tools.js.map +0 -1
- package/build/components/inserter/hooks/use-debounced-input.js +0 -22
- package/build/components/inserter/hooks/use-debounced-input.js.map +0 -1
- package/build/components/use-display-block-controls/index.js +0 -39
- package/build/components/use-display-block-controls/index.js.map +0 -1
- package/build/components/use-display-block-controls/index.native.js +0 -39
- package/build/components/use-display-block-controls/index.native.js.map +0 -1
- package/build/hooks/custom-fields.js +0 -120
- package/build/hooks/custom-fields.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/components/block-list/use-block-props/use-block-class-names.js +0 -60
- package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +0 -40
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +0 -31
- package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
- package/build-module/components/block-tools/back-compat.js +0 -35
- package/build-module/components/block-tools/back-compat.js.map +0 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +0 -83
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +0 -1
- package/build-module/components/block-tools/selected-block-tools.js +0 -105
- package/build-module/components/block-tools/selected-block-tools.js.map +0 -1
- package/build-module/components/inserter/hooks/use-debounced-input.js +0 -15
- package/build-module/components/inserter/hooks/use-debounced-input.js.map +0 -1
- package/build-module/components/use-display-block-controls/index.js +0 -32
- package/build-module/components/use-display-block-controls/index.js.map +0 -1
- package/build-module/components/use-display-block-controls/index.native.js +0 -32
- package/build-module/components/use-display-block-controls/index.native.js.map +0 -1
- package/build-module/hooks/custom-fields.js +0 -118
- package/build-module/hooks/custom-fields.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/components/block-list/use-block-props/use-block-class-names.js +0 -66
- package/src/components/block-list/use-block-props/use-block-custom-class-name.js +0 -44
- package/src/components/block-list/use-block-props/use-block-default-class-name.js +0 -35
- package/src/components/block-parent-selector/style.scss +0 -11
- package/src/components/block-tools/back-compat.js +0 -35
- package/src/components/block-tools/block-contextual-toolbar.js +0 -100
- package/src/components/block-tools/selected-block-tools.js +0 -127
- package/src/components/inserter/hooks/use-debounced-input.js +0 -18
- package/src/components/preview-options/README.md +0 -94
- package/src/components/preview-options/style.scss +0 -64
- package/src/components/use-display-block-controls/index.js +0 -36
- package/src/components/use-display-block-controls/index.native.js +0 -37
- package/src/hooks/custom-fields.js +0 -142
- package/src/hooks/test/color.js +0 -112
- 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":["_element","require","_i18n","_components","_usePatternsState","_interopRequireDefault","_blockPatternsList","_usePatternsPaging","_patternsFilter","_usePatternCategories","_utils","noop","PatternCategoryPreviews","rootClientId","onInsert","onHover","category","showTitlesAsTooltip","allPatterns","onClickPattern","usePatternsState","patternSyncFilter","setPatternSyncFilter","useState","patternSourceFilter","setPatternSourceFilter","availableCategories","usePatternCategories","scrollContainerRef","useRef","currentCategoryPatterns","useMemo","filter","pattern","
|
|
1
|
+
{"version":3,"names":["_element","require","_i18n","_components","_usePatternsState","_interopRequireDefault","_blockPatternsList","_usePatternsPaging","_patternsFilter","_usePatternCategories","_utils","noop","PatternCategoryPreviews","rootClientId","onInsert","onHover","category","showTitlesAsTooltip","allPatterns","onClickPattern","usePatternsState","patternSyncFilter","setPatternSyncFilter","useState","patternSourceFilter","setPatternSourceFilter","availableCategories","usePatternCategories","scrollContainerRef","useRef","currentCategoryPatterns","useMemo","filter","pattern","isPatternFiltered","name","allPatternsCategory","myPatternsCategory","type","INSERTER_PATTERN_TYPES","user","categories","some","catName","c","includes","pagingProps","usePatternsPaging","changePage","useEffect","onSetPatternSyncFilter","useCallback","value","onSetPatternSourceFilter","_react","createElement","className","__experimentalVStack","spacing","__experimentalHStack","FlexBlock","__experimentalHeading","level","as","label","PatternsFilter","length","__experimentalText","variant","__","default","ref","shownPatterns","categoryPatternsAsyncList","blockPatterns","categoryPatterns","orientation","isDraggable","patternFilter"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/pattern-category-previews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tFlexBlock,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport usePatternsState from '../hooks/use-patterns-state';\nimport BlockPatternsList from '../../block-patterns-list';\nimport usePatternsPaging from '../hooks/use-patterns-paging';\nimport { PatternsFilter } from './patterns-filter';\nimport { usePatternCategories } from './use-pattern-categories';\nimport {\n\tisPatternFiltered,\n\tallPatternsCategory,\n\tmyPatternsCategory,\n\tINSERTER_PATTERN_TYPES,\n} from './utils';\n\nconst noop = () => {};\n\nexport function PatternCategoryPreviews( {\n\trootClientId,\n\tonInsert,\n\tonHover = noop,\n\tcategory,\n\tshowTitlesAsTooltip,\n} ) {\n\tconst [ allPatterns, , onClickPattern ] = usePatternsState(\n\t\tonInsert,\n\t\trootClientId\n\t);\n\tconst [ patternSyncFilter, setPatternSyncFilter ] = useState( 'all' );\n\tconst [ patternSourceFilter, setPatternSourceFilter ] = useState( 'all' );\n\n\tconst availableCategories = usePatternCategories(\n\t\trootClientId,\n\t\tpatternSourceFilter\n\t);\n\tconst scrollContainerRef = useRef();\n\tconst currentCategoryPatterns = useMemo(\n\t\t() =>\n\t\t\tallPatterns.filter( ( pattern ) => {\n\t\t\t\tif (\n\t\t\t\t\tisPatternFiltered(\n\t\t\t\t\t\tpattern,\n\t\t\t\t\t\tpatternSourceFilter,\n\t\t\t\t\t\tpatternSyncFilter\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif ( category.name === allPatternsCategory.name ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tcategory.name === myPatternsCategory.name &&\n\t\t\t\t\tpattern.type === INSERTER_PATTERN_TYPES.user\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif ( category.name === 'uncategorized' ) {\n\t\t\t\t\t// The uncategorized category should show all the patterns without any category...\n\t\t\t\t\tif ( ! pattern.categories ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\t// ...or with no available category.\n\t\t\t\t\treturn ! pattern.categories.some( ( catName ) =>\n\t\t\t\t\t\tavailableCategories.some( ( c ) => c.name === catName )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn pattern.categories?.includes( category.name );\n\t\t\t} ),\n\t\t[\n\t\t\tallPatterns,\n\t\t\tavailableCategories,\n\t\t\tcategory.name,\n\t\t\tpatternSourceFilter,\n\t\t\tpatternSyncFilter,\n\t\t]\n\t);\n\n\tconst pagingProps = usePatternsPaging(\n\t\tcurrentCategoryPatterns,\n\t\tcategory,\n\t\tscrollContainerRef\n\t);\n\tconst { changePage } = pagingProps;\n\n\t// Hide block pattern preview on unmount.\n\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\tuseEffect( () => () => onHover( null ), [] );\n\n\tconst onSetPatternSyncFilter = useCallback(\n\t\t( value ) => {\n\t\t\tsetPatternSyncFilter( value );\n\t\t\tchangePage( 1 );\n\t\t},\n\t\t[ setPatternSyncFilter, changePage ]\n\t);\n\tconst onSetPatternSourceFilter = useCallback(\n\t\t( value ) => {\n\t\t\tsetPatternSourceFilter( value );\n\t\t\tchangePage( 1 );\n\t\t},\n\t\t[ setPatternSourceFilter, changePage ]\n\t);\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__patterns-category-panel\">\n\t\t\t<VStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tclassName=\"block-editor-inserter__patterns-category-panel-header\"\n\t\t\t>\n\t\t\t\t<HStack>\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<Heading level={ 4 } as=\"div\">\n\t\t\t\t\t\t\t{ category.label }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t<PatternsFilter\n\t\t\t\t\t\tpatternSyncFilter={ patternSyncFilter }\n\t\t\t\t\t\tpatternSourceFilter={ patternSourceFilter }\n\t\t\t\t\t\tsetPatternSyncFilter={ onSetPatternSyncFilter }\n\t\t\t\t\t\tsetPatternSourceFilter={ onSetPatternSourceFilter }\n\t\t\t\t\t\tscrollContainerRef={ scrollContainerRef }\n\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ ! currentCategoryPatterns.length && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"block-editor-inserter__patterns-category-no-results\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'No results found' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</VStack>\n\n\t\t\t{ currentCategoryPatterns.length > 0 && (\n\t\t\t\t<BlockPatternsList\n\t\t\t\t\tref={ scrollContainerRef }\n\t\t\t\t\tshownPatterns={ pagingProps.categoryPatternsAsyncList }\n\t\t\t\t\tblockPatterns={ pagingProps.categoryPatterns }\n\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\tlabel={ category.label }\n\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\tcategory={ category.name }\n\t\t\t\t\tisDraggable\n\t\t\t\t\tshowTitlesAsTooltip={ showTitlesAsTooltip }\n\t\t\t\t\tpatternFilter={ patternSourceFilter }\n\t\t\t\t\tpagingProps={ pagingProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ var _utils = require("./utils");
|
|
|
18
18
|
* Internal dependencies
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
const getShouldDisableSyncFilter = sourceFilter => sourceFilter !==
|
|
21
|
+
const getShouldDisableSyncFilter = sourceFilter => sourceFilter !== 'all';
|
|
22
22
|
const getShouldDisableNonUserSources = category => {
|
|
23
23
|
return category.name === _utils.myPatternsCategory.name;
|
|
24
24
|
};
|
|
@@ -34,7 +34,7 @@ function PatternsFilter({
|
|
|
34
34
|
// we do this by deriving from props rather than calling setPatternSourceFilter otherwise
|
|
35
35
|
// the user may be confused when switching to another category if the haven't explicity set
|
|
36
36
|
// this filter themselves.
|
|
37
|
-
const currentPatternSourceFilter = category.name === _utils.myPatternsCategory.name ? _utils.
|
|
37
|
+
const currentPatternSourceFilter = category.name === _utils.myPatternsCategory.name ? _utils.INSERTER_PATTERN_TYPES.user : patternSourceFilter;
|
|
38
38
|
|
|
39
39
|
// We need to disable the sync filter option if the source filter is not 'all' or 'user'
|
|
40
40
|
// otherwise applying them will just result in no patterns being shown.
|
|
@@ -44,37 +44,37 @@ function PatternsFilter({
|
|
|
44
44
|
// is `myPatterns` otherwise applying them will also just result in no patterns being shown.
|
|
45
45
|
const shouldDisableNonUserSources = getShouldDisableNonUserSources(category);
|
|
46
46
|
const patternSyncMenuOptions = (0, _element.useMemo)(() => [{
|
|
47
|
-
value:
|
|
47
|
+
value: 'all',
|
|
48
48
|
label: (0, _i18n._x)('All', 'Option that shows all patterns')
|
|
49
49
|
}, {
|
|
50
|
-
value: _utils.
|
|
50
|
+
value: _utils.INSERTER_SYNC_TYPES.full,
|
|
51
51
|
label: (0, _i18n._x)('Synced', 'Option that shows all synchronized patterns'),
|
|
52
52
|
disabled: shouldDisableSyncFilter
|
|
53
53
|
}, {
|
|
54
|
-
value: _utils.
|
|
54
|
+
value: _utils.INSERTER_SYNC_TYPES.unsynced,
|
|
55
55
|
label: (0, _i18n._x)('Not synced', 'Option that shows all patterns that are not synchronized'),
|
|
56
56
|
disabled: shouldDisableSyncFilter
|
|
57
57
|
}], [shouldDisableSyncFilter]);
|
|
58
58
|
const patternSourceMenuOptions = (0, _element.useMemo)(() => [{
|
|
59
|
-
value:
|
|
59
|
+
value: 'all',
|
|
60
60
|
label: (0, _i18n.__)('All'),
|
|
61
61
|
disabled: shouldDisableNonUserSources
|
|
62
62
|
}, {
|
|
63
|
-
value: _utils.
|
|
63
|
+
value: _utils.INSERTER_PATTERN_TYPES.directory,
|
|
64
64
|
label: (0, _i18n.__)('Pattern Directory'),
|
|
65
65
|
disabled: shouldDisableNonUserSources
|
|
66
66
|
}, {
|
|
67
|
-
value: _utils.
|
|
67
|
+
value: _utils.INSERTER_PATTERN_TYPES.theme,
|
|
68
68
|
label: (0, _i18n.__)('Theme & Plugins'),
|
|
69
69
|
disabled: shouldDisableNonUserSources
|
|
70
70
|
}, {
|
|
71
|
-
value: _utils.
|
|
71
|
+
value: _utils.INSERTER_PATTERN_TYPES.user,
|
|
72
72
|
label: (0, _i18n.__)('User')
|
|
73
73
|
}], [shouldDisableNonUserSources]);
|
|
74
74
|
function handleSetSourceFilterChange(newSourceFilter) {
|
|
75
75
|
setPatternSourceFilter(newSourceFilter);
|
|
76
76
|
if (getShouldDisableSyncFilter(newSourceFilter)) {
|
|
77
|
-
setPatternSyncFilter(
|
|
77
|
+
setPatternSyncFilter('all');
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.DropdownMenu, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_icons","_element","_utils","getShouldDisableSyncFilter","sourceFilter","PATTERN_TYPES","all","user","getShouldDisableNonUserSources","category","name","myPatternsCategory","PatternsFilter","setPatternSyncFilter","setPatternSourceFilter","patternSyncFilter","patternSourceFilter","scrollContainerRef","currentPatternSourceFilter","shouldDisableSyncFilter","shouldDisableNonUserSources","patternSyncMenuOptions","useMemo","value","SYNC_TYPES","label","_x","full","disabled","unsynced","patternSourceMenuOptions","__","directory","theme","handleSetSourceFilterChange","newSourceFilter","_react","createElement","Fragment","DropdownMenu","popoverProps","placement","icon","Icon","SVG","width","height","viewBox","fill","xmlns","Path","d","MenuGroup","MenuItemsChoice","choices","onSelect","current","scrollTo","className","createInterpolateElement","Link","ExternalLink","href"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/patterns-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSVG,\n\tPath,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItemsChoice,\n\tExternalLink,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/icons';\nimport { useMemo, createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { myPatternsCategory, SYNC_TYPES, PATTERN_TYPES } from './utils';\n\nconst getShouldDisableSyncFilter = ( sourceFilter ) =>\n\tsourceFilter !== PATTERN_TYPES.all && sourceFilter !== PATTERN_TYPES.user;\n\nconst getShouldDisableNonUserSources = ( category ) => {\n\treturn category.name === myPatternsCategory.name;\n};\n\nexport function PatternsFilter( {\n\tsetPatternSyncFilter,\n\tsetPatternSourceFilter,\n\tpatternSyncFilter,\n\tpatternSourceFilter,\n\tscrollContainerRef,\n\tcategory,\n} ) {\n\t// If the category is `myPatterns` then we need to set the source filter to `user`, but\n\t// we do this by deriving from props rather than calling setPatternSourceFilter otherwise\n\t// the user may be confused when switching to another category if the haven't explicity set\n\t// this filter themselves.\n\tconst currentPatternSourceFilter =\n\t\tcategory.name === myPatternsCategory.name\n\t\t\t? PATTERN_TYPES.user\n\t\t\t: patternSourceFilter;\n\n\t// We need to disable the sync filter option if the source filter is not 'all' or 'user'\n\t// otherwise applying them will just result in no patterns being shown.\n\tconst shouldDisableSyncFilter = getShouldDisableSyncFilter(\n\t\tcurrentPatternSourceFilter\n\t);\n\n\t// We also need to disable the directory and theme source filter options if the category\n\t// is `myPatterns` otherwise applying them will also just result in no patterns being shown.\n\tconst shouldDisableNonUserSources =\n\t\tgetShouldDisableNonUserSources( category );\n\n\tconst patternSyncMenuOptions = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tvalue: SYNC_TYPES.all,\n\t\t\t\tlabel: _x( 'All', 'Option that shows all patterns' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: SYNC_TYPES.full,\n\t\t\t\tlabel: _x(\n\t\t\t\t\t'Synced',\n\t\t\t\t\t'Option that shows all synchronized patterns'\n\t\t\t\t),\n\t\t\t\tdisabled: shouldDisableSyncFilter,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: SYNC_TYPES.unsynced,\n\t\t\t\tlabel: _x(\n\t\t\t\t\t'Not synced',\n\t\t\t\t\t'Option that shows all patterns that are not synchronized'\n\t\t\t\t),\n\t\t\t\tdisabled: shouldDisableSyncFilter,\n\t\t\t},\n\t\t],\n\t\t[ shouldDisableSyncFilter ]\n\t);\n\n\tconst patternSourceMenuOptions = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.all,\n\t\t\t\tlabel: __( 'All' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.directory,\n\t\t\t\tlabel: __( 'Pattern Directory' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.theme,\n\t\t\t\tlabel: __( 'Theme & Plugins' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: PATTERN_TYPES.user,\n\t\t\t\tlabel: __( 'User' ),\n\t\t\t},\n\t\t],\n\t\t[ shouldDisableNonUserSources ]\n\t);\n\n\tfunction handleSetSourceFilterChange( newSourceFilter ) {\n\t\tsetPatternSourceFilter( newSourceFilter );\n\t\tif ( getShouldDisableSyncFilter( newSourceFilter ) ) {\n\t\t\tsetPatternSyncFilter( SYNC_TYPES.all );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tplacement: 'right-end',\n\t\t\t\t} }\n\t\t\t\tlabel=\"Filter patterns\"\n\t\t\t\ticon={\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<SVG\n\t\t\t\t\t\t\t\twidth=\"24\"\n\t\t\t\t\t\t\t\theight=\"24\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Path\n\t\t\t\t\t\t\t\t\td=\"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z\"\n\t\t\t\t\t\t\t\t\tfill=\"#1E1E1E\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</SVG>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ () => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup label={ __( 'Source' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tchoices={ patternSourceMenuOptions }\n\t\t\t\t\t\t\t\tonSelect={ ( value ) => {\n\t\t\t\t\t\t\t\t\thandleSetSourceFilterChange( value );\n\t\t\t\t\t\t\t\t\tscrollContainerRef.current?.scrollTo(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t0\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\tvalue={ currentPatternSourceFilter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<MenuGroup label={ __( 'Type' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tchoices={ patternSyncMenuOptions }\n\t\t\t\t\t\t\t\tonSelect={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetPatternSyncFilter( value );\n\t\t\t\t\t\t\t\t\tscrollContainerRef.current?.scrollTo(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t0\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\tvalue={ patternSyncFilter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<div className=\"block-editor-tool-selector__help\">\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Patterns are available from the <Link>WordPress.org Pattern Directory</Link>, bundled in the active theme, or created by users on this site. Only patterns created on this site can be synced.'\n\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\tLink: (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/patterns/'\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}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_icons","_element","_utils","getShouldDisableSyncFilter","sourceFilter","getShouldDisableNonUserSources","category","name","myPatternsCategory","PatternsFilter","setPatternSyncFilter","setPatternSourceFilter","patternSyncFilter","patternSourceFilter","scrollContainerRef","currentPatternSourceFilter","INSERTER_PATTERN_TYPES","user","shouldDisableSyncFilter","shouldDisableNonUserSources","patternSyncMenuOptions","useMemo","value","label","_x","INSERTER_SYNC_TYPES","full","disabled","unsynced","patternSourceMenuOptions","__","directory","theme","handleSetSourceFilterChange","newSourceFilter","_react","createElement","Fragment","DropdownMenu","popoverProps","placement","icon","Icon","SVG","width","height","viewBox","fill","xmlns","Path","d","MenuGroup","MenuItemsChoice","choices","onSelect","current","scrollTo","className","createInterpolateElement","Link","ExternalLink","href"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/patterns-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSVG,\n\tPath,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItemsChoice,\n\tExternalLink,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/icons';\nimport { useMemo, createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tmyPatternsCategory,\n\tINSERTER_SYNC_TYPES,\n\tINSERTER_PATTERN_TYPES,\n} from './utils';\n\nconst getShouldDisableSyncFilter = ( sourceFilter ) => sourceFilter !== 'all';\nconst getShouldDisableNonUserSources = ( category ) => {\n\treturn category.name === myPatternsCategory.name;\n};\n\nexport function PatternsFilter( {\n\tsetPatternSyncFilter,\n\tsetPatternSourceFilter,\n\tpatternSyncFilter,\n\tpatternSourceFilter,\n\tscrollContainerRef,\n\tcategory,\n} ) {\n\t// If the category is `myPatterns` then we need to set the source filter to `user`, but\n\t// we do this by deriving from props rather than calling setPatternSourceFilter otherwise\n\t// the user may be confused when switching to another category if the haven't explicity set\n\t// this filter themselves.\n\tconst currentPatternSourceFilter =\n\t\tcategory.name === myPatternsCategory.name\n\t\t\t? INSERTER_PATTERN_TYPES.user\n\t\t\t: patternSourceFilter;\n\n\t// We need to disable the sync filter option if the source filter is not 'all' or 'user'\n\t// otherwise applying them will just result in no patterns being shown.\n\tconst shouldDisableSyncFilter = getShouldDisableSyncFilter(\n\t\tcurrentPatternSourceFilter\n\t);\n\n\t// We also need to disable the directory and theme source filter options if the category\n\t// is `myPatterns` otherwise applying them will also just result in no patterns being shown.\n\tconst shouldDisableNonUserSources =\n\t\tgetShouldDisableNonUserSources( category );\n\n\tconst patternSyncMenuOptions = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tvalue: 'all',\n\t\t\t\tlabel: _x( 'All', 'Option that shows all patterns' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: INSERTER_SYNC_TYPES.full,\n\t\t\t\tlabel: _x(\n\t\t\t\t\t'Synced',\n\t\t\t\t\t'Option that shows all synchronized patterns'\n\t\t\t\t),\n\t\t\t\tdisabled: shouldDisableSyncFilter,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: INSERTER_SYNC_TYPES.unsynced,\n\t\t\t\tlabel: _x(\n\t\t\t\t\t'Not synced',\n\t\t\t\t\t'Option that shows all patterns that are not synchronized'\n\t\t\t\t),\n\t\t\t\tdisabled: shouldDisableSyncFilter,\n\t\t\t},\n\t\t],\n\t\t[ shouldDisableSyncFilter ]\n\t);\n\n\tconst patternSourceMenuOptions = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tvalue: 'all',\n\t\t\t\tlabel: __( 'All' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: INSERTER_PATTERN_TYPES.directory,\n\t\t\t\tlabel: __( 'Pattern Directory' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: INSERTER_PATTERN_TYPES.theme,\n\t\t\t\tlabel: __( 'Theme & Plugins' ),\n\t\t\t\tdisabled: shouldDisableNonUserSources,\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: INSERTER_PATTERN_TYPES.user,\n\t\t\t\tlabel: __( 'User' ),\n\t\t\t},\n\t\t],\n\t\t[ shouldDisableNonUserSources ]\n\t);\n\n\tfunction handleSetSourceFilterChange( newSourceFilter ) {\n\t\tsetPatternSourceFilter( newSourceFilter );\n\t\tif ( getShouldDisableSyncFilter( newSourceFilter ) ) {\n\t\t\tsetPatternSyncFilter( 'all' );\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tplacement: 'right-end',\n\t\t\t\t} }\n\t\t\t\tlabel=\"Filter patterns\"\n\t\t\t\ticon={\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<SVG\n\t\t\t\t\t\t\t\twidth=\"24\"\n\t\t\t\t\t\t\t\theight=\"24\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Path\n\t\t\t\t\t\t\t\t\td=\"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z\"\n\t\t\t\t\t\t\t\t\tfill=\"#1E1E1E\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</SVG>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ () => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup label={ __( 'Source' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tchoices={ patternSourceMenuOptions }\n\t\t\t\t\t\t\t\tonSelect={ ( value ) => {\n\t\t\t\t\t\t\t\t\thandleSetSourceFilterChange( value );\n\t\t\t\t\t\t\t\t\tscrollContainerRef.current?.scrollTo(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t0\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\tvalue={ currentPatternSourceFilter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<MenuGroup label={ __( 'Type' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tchoices={ patternSyncMenuOptions }\n\t\t\t\t\t\t\t\tonSelect={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetPatternSyncFilter( value );\n\t\t\t\t\t\t\t\t\tscrollContainerRef.current?.scrollTo(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\t0\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\tvalue={ patternSyncFilter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<div className=\"block-editor-tool-selector__help\">\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Patterns are available from the <Link>WordPress.org Pattern Directory</Link>, bundled in the active theme, or created by users on this site. Only patterns created on this site can be synced.'\n\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\tLink: (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/patterns/'\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}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -18,26 +18,26 @@ var _utils = require("./utils");
|
|
|
18
18
|
* Internal dependencies
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
+
function hasRegisteredCategory(pattern, allCategories) {
|
|
22
|
+
if (!pattern.categories || !pattern.categories.length) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
return pattern.categories.some(cat => allCategories.some(category => category.name === cat));
|
|
26
|
+
}
|
|
21
27
|
function usePatternCategories(rootClientId, sourceFilter = 'all') {
|
|
22
28
|
const [patterns, allCategories] = (0, _usePatternsState.default)(undefined, rootClientId);
|
|
23
29
|
const filteredPatterns = (0, _element.useMemo)(() => sourceFilter === 'all' ? patterns : patterns.filter(pattern => !(0, _utils.isPatternFiltered)(pattern, sourceFilter)), [sourceFilter, patterns]);
|
|
24
|
-
const hasRegisteredCategory = (0, _element.useCallback)(pattern => {
|
|
25
|
-
if (!pattern.categories || !pattern.categories.length) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
return pattern.categories.some(cat => allCategories.some(category => category.name === cat));
|
|
29
|
-
}, [allCategories]);
|
|
30
30
|
|
|
31
31
|
// Remove any empty categories.
|
|
32
32
|
const populatedCategories = (0, _element.useMemo)(() => {
|
|
33
33
|
const categories = allCategories.filter(category => filteredPatterns.some(pattern => pattern.categories?.includes(category.name))).sort((a, b) => a.label.localeCompare(b.label));
|
|
34
|
-
if (filteredPatterns.some(pattern => !hasRegisteredCategory(pattern)) && !categories.find(category => category.name === 'uncategorized')) {
|
|
34
|
+
if (filteredPatterns.some(pattern => !hasRegisteredCategory(pattern, allCategories)) && !categories.find(category => category.name === 'uncategorized')) {
|
|
35
35
|
categories.push({
|
|
36
36
|
name: 'uncategorized',
|
|
37
37
|
label: (0, _i18n._x)('Uncategorized')
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
|
-
if (filteredPatterns.some(pattern => pattern.type === _utils.
|
|
40
|
+
if (filteredPatterns.some(pattern => pattern.type === _utils.INSERTER_PATTERN_TYPES.user)) {
|
|
41
41
|
categories.unshift(_utils.myPatternsCategory);
|
|
42
42
|
}
|
|
43
43
|
if (filteredPatterns.length > 0) {
|
|
@@ -49,7 +49,7 @@ function usePatternCategories(rootClientId, sourceFilter = 'all') {
|
|
|
49
49
|
(0, _a11y.speak)((0, _i18n.sprintf)( /* translators: %d: number of categories . */
|
|
50
50
|
(0, _i18n._n)('%d category button displayed.', '%d category buttons displayed.', categories.length), categories.length));
|
|
51
51
|
return categories;
|
|
52
|
-
}, [allCategories, filteredPatterns
|
|
52
|
+
}, [allCategories, filteredPatterns]);
|
|
53
53
|
return populatedCategories;
|
|
54
54
|
}
|
|
55
55
|
//# sourceMappingURL=use-pattern-categories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_i18n","_a11y","_usePatternsState","_interopRequireDefault","_utils","
|
|
1
|
+
{"version":3,"names":["_element","require","_i18n","_a11y","_usePatternsState","_interopRequireDefault","_utils","hasRegisteredCategory","pattern","allCategories","categories","length","some","cat","category","name","usePatternCategories","rootClientId","sourceFilter","patterns","usePatternsState","undefined","filteredPatterns","useMemo","filter","isPatternFiltered","populatedCategories","includes","sort","a","b","label","localeCompare","find","push","_x","type","INSERTER_PATTERN_TYPES","user","unshift","myPatternsCategory","allPatternsCategory","speak","sprintf","_n"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/use-pattern-categories.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { _x, _n, sprintf } from '@wordpress/i18n';\n\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport usePatternsState from '../hooks/use-patterns-state';\nimport {\n\tisPatternFiltered,\n\tallPatternsCategory,\n\tmyPatternsCategory,\n\tINSERTER_PATTERN_TYPES,\n} from './utils';\n\nfunction hasRegisteredCategory( pattern, allCategories ) {\n\tif ( ! pattern.categories || ! pattern.categories.length ) {\n\t\treturn false;\n\t}\n\n\treturn pattern.categories.some( ( cat ) =>\n\t\tallCategories.some( ( category ) => category.name === cat )\n\t);\n}\n\nexport function usePatternCategories( rootClientId, sourceFilter = 'all' ) {\n\tconst [ patterns, allCategories ] = usePatternsState(\n\t\tundefined,\n\t\trootClientId\n\t);\n\n\tconst filteredPatterns = useMemo(\n\t\t() =>\n\t\t\tsourceFilter === 'all'\n\t\t\t\t? patterns\n\t\t\t\t: patterns.filter(\n\t\t\t\t\t\t( pattern ) =>\n\t\t\t\t\t\t\t! isPatternFiltered( pattern, sourceFilter )\n\t\t\t\t ),\n\t\t[ sourceFilter, patterns ]\n\t);\n\n\t// Remove any empty categories.\n\tconst populatedCategories = useMemo( () => {\n\t\tconst categories = allCategories\n\t\t\t.filter( ( category ) =>\n\t\t\t\tfilteredPatterns.some( ( pattern ) =>\n\t\t\t\t\tpattern.categories?.includes( category.name )\n\t\t\t\t)\n\t\t\t)\n\t\t\t.sort( ( a, b ) => a.label.localeCompare( b.label ) );\n\n\t\tif (\n\t\t\tfilteredPatterns.some(\n\t\t\t\t( pattern ) => ! hasRegisteredCategory( pattern, allCategories )\n\t\t\t) &&\n\t\t\t! categories.find(\n\t\t\t\t( category ) => category.name === 'uncategorized'\n\t\t\t)\n\t\t) {\n\t\t\tcategories.push( {\n\t\t\t\tname: 'uncategorized',\n\t\t\t\tlabel: _x( 'Uncategorized' ),\n\t\t\t} );\n\t\t}\n\t\tif (\n\t\t\tfilteredPatterns.some(\n\t\t\t\t( pattern ) => pattern.type === INSERTER_PATTERN_TYPES.user\n\t\t\t)\n\t\t) {\n\t\t\tcategories.unshift( myPatternsCategory );\n\t\t}\n\t\tif ( filteredPatterns.length > 0 ) {\n\t\t\tcategories.unshift( {\n\t\t\t\tname: allPatternsCategory.name,\n\t\t\t\tlabel: allPatternsCategory.label,\n\t\t\t} );\n\t\t}\n\t\tspeak(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %d: number of categories . */\n\t\t\t\t_n(\n\t\t\t\t\t'%d category button displayed.',\n\t\t\t\t\t'%d category buttons displayed.',\n\t\t\t\t\tcategories.length\n\t\t\t\t),\n\t\t\t\tcategories.length\n\t\t\t)\n\t\t);\n\t\treturn categories;\n\t}, [ allCategories, filteredPatterns ] );\n\n\treturn populatedCategories;\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,iBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAZA;AACA;AACA;;AAMA;AACA;AACA;;AASA,SAASM,qBAAqBA,CAAEC,OAAO,EAAEC,aAAa,EAAG;EACxD,IAAK,CAAED,OAAO,CAACE,UAAU,IAAI,CAAEF,OAAO,CAACE,UAAU,CAACC,MAAM,EAAG;IAC1D,OAAO,KAAK;EACb;EAEA,OAAOH,OAAO,CAACE,UAAU,CAACE,IAAI,CAAIC,GAAG,IACpCJ,aAAa,CAACG,IAAI,CAAIE,QAAQ,IAAMA,QAAQ,CAACC,IAAI,KAAKF,GAAI,CAC3D,CAAC;AACF;AAEO,SAASG,oBAAoBA,CAAEC,YAAY,EAAEC,YAAY,GAAG,KAAK,EAAG;EAC1E,MAAM,CAAEC,QAAQ,EAAEV,aAAa,CAAE,GAAG,IAAAW,yBAAgB,EACnDC,SAAS,EACTJ,YACD,CAAC;EAED,MAAMK,gBAAgB,GAAG,IAAAC,gBAAO,EAC/B,MACCL,YAAY,KAAK,KAAK,GACnBC,QAAQ,GACRA,QAAQ,CAACK,MAAM,CACbhB,OAAO,IACR,CAAE,IAAAiB,wBAAiB,EAAEjB,OAAO,EAAEU,YAAa,CAC5C,CAAC,EACL,CAAEA,YAAY,EAAEC,QAAQ,CACzB,CAAC;;EAED;EACA,MAAMO,mBAAmB,GAAG,IAAAH,gBAAO,EAAE,MAAM;IAC1C,MAAMb,UAAU,GAAGD,aAAa,CAC9Be,MAAM,CAAIV,QAAQ,IAClBQ,gBAAgB,CAACV,IAAI,CAAIJ,OAAO,IAC/BA,OAAO,CAACE,UAAU,EAAEiB,QAAQ,CAAEb,QAAQ,CAACC,IAAK,CAC7C,CACD,CAAC,CACAa,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAACE,KAAK,CAACC,aAAa,CAAEF,CAAC,CAACC,KAAM,CAAE,CAAC;IAEtD,IACCT,gBAAgB,CAACV,IAAI,CAClBJ,OAAO,IAAM,CAAED,qBAAqB,CAAEC,OAAO,EAAEC,aAAc,CAChE,CAAC,IACD,CAAEC,UAAU,CAACuB,IAAI,CACdnB,QAAQ,IAAMA,QAAQ,CAACC,IAAI,KAAK,eACnC,CAAC,EACA;MACDL,UAAU,CAACwB,IAAI,CAAE;QAChBnB,IAAI,EAAE,eAAe;QACrBgB,KAAK,EAAE,IAAAI,QAAE,EAAE,eAAgB;MAC5B,CAAE,CAAC;IACJ;IACA,IACCb,gBAAgB,CAACV,IAAI,CAClBJ,OAAO,IAAMA,OAAO,CAAC4B,IAAI,KAAKC,6BAAsB,CAACC,IACxD,CAAC,EACA;MACD5B,UAAU,CAAC6B,OAAO,CAAEC,yBAAmB,CAAC;IACzC;IACA,IAAKlB,gBAAgB,CAACX,MAAM,GAAG,CAAC,EAAG;MAClCD,UAAU,CAAC6B,OAAO,CAAE;QACnBxB,IAAI,EAAE0B,0BAAmB,CAAC1B,IAAI;QAC9BgB,KAAK,EAAEU,0BAAmB,CAACV;MAC5B,CAAE,CAAC;IACJ;IACA,IAAAW,WAAK,EACJ,IAAAC,aAAO,GACN;IACA,IAAAC,QAAE,EACD,+BAA+B,EAC/B,gCAAgC,EAChClC,UAAU,CAACC,MACZ,CAAC,EACDD,UAAU,CAACC,MACZ,CACD,CAAC;IACD,OAAOD,UAAU;EAClB,CAAC,EAAE,CAAED,aAAa,EAAEa,gBAAgB,CAAG,CAAC;EAExC,OAAOI,mBAAmB;AAC3B"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.allPatternsCategory = exports.
|
|
6
|
+
exports.allPatternsCategory = exports.INSERTER_SYNC_TYPES = exports.INSERTER_PATTERN_TYPES = void 0;
|
|
7
7
|
exports.isPatternFiltered = isPatternFiltered;
|
|
8
8
|
exports.myPatternsCategory = void 0;
|
|
9
9
|
var _i18n = require("@wordpress/i18n");
|
|
@@ -11,21 +11,17 @@ var _i18n = require("@wordpress/i18n");
|
|
|
11
11
|
* WordPress dependencies
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
const
|
|
15
|
-
all: 'all',
|
|
16
|
-
synced: 'synced',
|
|
17
|
-
unsynced: 'unsynced',
|
|
14
|
+
const INSERTER_PATTERN_TYPES = {
|
|
18
15
|
user: 'user',
|
|
19
16
|
theme: 'theme',
|
|
20
17
|
directory: 'directory'
|
|
21
18
|
};
|
|
22
|
-
exports.
|
|
23
|
-
const
|
|
24
|
-
all: 'all',
|
|
19
|
+
exports.INSERTER_PATTERN_TYPES = INSERTER_PATTERN_TYPES;
|
|
20
|
+
const INSERTER_SYNC_TYPES = {
|
|
25
21
|
full: 'fully',
|
|
26
22
|
unsynced: 'unsynced'
|
|
27
23
|
};
|
|
28
|
-
exports.
|
|
24
|
+
exports.INSERTER_SYNC_TYPES = INSERTER_SYNC_TYPES;
|
|
29
25
|
const allPatternsCategory = {
|
|
30
26
|
name: 'allPatterns',
|
|
31
27
|
label: (0, _i18n.__)('All')
|
|
@@ -42,26 +38,26 @@ function isPatternFiltered(pattern, sourceFilter, syncFilter) {
|
|
|
42
38
|
|
|
43
39
|
// If theme source selected, filter out user created patterns and those from
|
|
44
40
|
// the core patterns directory.
|
|
45
|
-
if (sourceFilter ===
|
|
41
|
+
if (sourceFilter === INSERTER_PATTERN_TYPES.theme && (isUserPattern || isDirectoryPattern)) {
|
|
46
42
|
return true;
|
|
47
43
|
}
|
|
48
44
|
|
|
49
45
|
// If the directory source is selected, filter out user created patterns
|
|
50
46
|
// and those bundled with the theme.
|
|
51
|
-
if (sourceFilter ===
|
|
47
|
+
if (sourceFilter === INSERTER_PATTERN_TYPES.directory && (isUserPattern || !isDirectoryPattern)) {
|
|
52
48
|
return true;
|
|
53
49
|
}
|
|
54
50
|
|
|
55
51
|
// If user source selected, filter out theme patterns.
|
|
56
|
-
if (sourceFilter ===
|
|
52
|
+
if (sourceFilter === INSERTER_PATTERN_TYPES.user && pattern.type !== INSERTER_PATTERN_TYPES.user) {
|
|
57
53
|
return true;
|
|
58
54
|
}
|
|
59
55
|
|
|
60
56
|
// Filter by sync status.
|
|
61
|
-
if (syncFilter ===
|
|
57
|
+
if (syncFilter === INSERTER_SYNC_TYPES.full && pattern.syncStatus !== '') {
|
|
62
58
|
return true;
|
|
63
59
|
}
|
|
64
|
-
if (syncFilter ===
|
|
60
|
+
if (syncFilter === INSERTER_SYNC_TYPES.unsynced && pattern.syncStatus !== 'unsynced' && isUserPattern) {
|
|
65
61
|
return true;
|
|
66
62
|
}
|
|
67
63
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","
|
|
1
|
+
{"version":3,"names":["_i18n","require","INSERTER_PATTERN_TYPES","user","theme","directory","exports","INSERTER_SYNC_TYPES","full","unsynced","allPatternsCategory","name","label","__","myPatternsCategory","isPatternFiltered","pattern","sourceFilter","syncFilter","isUserPattern","startsWith","isDirectoryPattern","source","type","syncStatus"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n\nimport { __ } from '@wordpress/i18n';\n\nexport const INSERTER_PATTERN_TYPES = {\n\tuser: 'user',\n\ttheme: 'theme',\n\tdirectory: 'directory',\n};\n\nexport const INSERTER_SYNC_TYPES = {\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n\nexport const allPatternsCategory = {\n\tname: 'allPatterns',\n\tlabel: __( 'All' ),\n};\n\nexport const myPatternsCategory = {\n\tname: 'myPatterns',\n\tlabel: __( 'My patterns' ),\n};\n\nexport function isPatternFiltered( pattern, sourceFilter, syncFilter ) {\n\tconst isUserPattern = pattern.name.startsWith( 'core/block' );\n\tconst isDirectoryPattern =\n\t\tpattern.source === 'core' ||\n\t\tpattern.source?.startsWith( 'pattern-directory' );\n\n\t// If theme source selected, filter out user created patterns and those from\n\t// the core patterns directory.\n\tif (\n\t\tsourceFilter === INSERTER_PATTERN_TYPES.theme &&\n\t\t( isUserPattern || isDirectoryPattern )\n\t) {\n\t\treturn true;\n\t}\n\n\t// If the directory source is selected, filter out user created patterns\n\t// and those bundled with the theme.\n\tif (\n\t\tsourceFilter === INSERTER_PATTERN_TYPES.directory &&\n\t\t( isUserPattern || ! isDirectoryPattern )\n\t) {\n\t\treturn true;\n\t}\n\n\t// If user source selected, filter out theme patterns.\n\tif (\n\t\tsourceFilter === INSERTER_PATTERN_TYPES.user &&\n\t\tpattern.type !== INSERTER_PATTERN_TYPES.user\n\t) {\n\t\treturn true;\n\t}\n\n\t// Filter by sync status.\n\tif (\n\t\tsyncFilter === INSERTER_SYNC_TYPES.full &&\n\t\tpattern.syncStatus !== ''\n\t) {\n\t\treturn true;\n\t}\n\n\tif (\n\t\tsyncFilter === INSERTER_SYNC_TYPES.unsynced &&\n\t\tpattern.syncStatus !== 'unsynced' &&\n\t\tisUserPattern\n\t) {\n\t\treturn true;\n\t}\n\n\treturn false;\n}\n"],"mappings":";;;;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAJA;AACA;AACA;;AAIO,MAAMC,sBAAsB,GAAG;EACrCC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE;AACZ,CAAC;AAACC,OAAA,CAAAJ,sBAAA,GAAAA,sBAAA;AAEK,MAAMK,mBAAmB,GAAG;EAClCC,IAAI,EAAE,OAAO;EACbC,QAAQ,EAAE;AACX,CAAC;AAACH,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAEK,MAAMG,mBAAmB,GAAG;EAClCC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,IAAAC,QAAE,EAAE,KAAM;AAClB,CAAC;AAACP,OAAA,CAAAI,mBAAA,GAAAA,mBAAA;AAEK,MAAMI,kBAAkB,GAAG;EACjCH,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE,IAAAC,QAAE,EAAE,aAAc;AAC1B,CAAC;AAACP,OAAA,CAAAQ,kBAAA,GAAAA,kBAAA;AAEK,SAASC,iBAAiBA,CAAEC,OAAO,EAAEC,YAAY,EAAEC,UAAU,EAAG;EACtE,MAAMC,aAAa,GAAGH,OAAO,CAACL,IAAI,CAACS,UAAU,CAAE,YAAa,CAAC;EAC7D,MAAMC,kBAAkB,GACvBL,OAAO,CAACM,MAAM,KAAK,MAAM,IACzBN,OAAO,CAACM,MAAM,EAAEF,UAAU,CAAE,mBAAoB,CAAC;;EAElD;EACA;EACA,IACCH,YAAY,KAAKf,sBAAsB,CAACE,KAAK,KAC3Ce,aAAa,IAAIE,kBAAkB,CAAE,EACtC;IACD,OAAO,IAAI;EACZ;;EAEA;EACA;EACA,IACCJ,YAAY,KAAKf,sBAAsB,CAACG,SAAS,KAC/Cc,aAAa,IAAI,CAAEE,kBAAkB,CAAE,EACxC;IACD,OAAO,IAAI;EACZ;;EAEA;EACA,IACCJ,YAAY,KAAKf,sBAAsB,CAACC,IAAI,IAC5Ca,OAAO,CAACO,IAAI,KAAKrB,sBAAsB,CAACC,IAAI,EAC3C;IACD,OAAO,IAAI;EACZ;;EAEA;EACA,IACCe,UAAU,KAAKX,mBAAmB,CAACC,IAAI,IACvCQ,OAAO,CAACQ,UAAU,KAAK,EAAE,EACxB;IACD,OAAO,IAAI;EACZ;EAEA,IACCN,UAAU,KAAKX,mBAAmB,CAACE,QAAQ,IAC3CO,OAAO,CAACQ,UAAU,KAAK,UAAU,IACjCL,aAAa,EACZ;IACD,OAAO,IAAI;EACZ;EAEA,OAAO,KAAK;AACb"}
|
|
@@ -24,24 +24,14 @@ var _store = require("../../../store");
|
|
|
24
24
|
* @return {Array} Returns the block types state. (block types, categories, collections, onSelect handler)
|
|
25
25
|
*/
|
|
26
26
|
const useBlockTypesState = (rootClientId, onInsert) => {
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
collections,
|
|
30
|
-
items
|
|
31
|
-
} = (0, _data.useSelect)(select => {
|
|
32
|
-
const {
|
|
33
|
-
getInserterItems
|
|
34
|
-
} = select(_store.store);
|
|
27
|
+
const [items] = (0, _data.useSelect)(select => [select(_store.store).getInserterItems(rootClientId)], [rootClientId]);
|
|
28
|
+
const [categories, collections] = (0, _data.useSelect)(select => {
|
|
35
29
|
const {
|
|
36
30
|
getCategories,
|
|
37
31
|
getCollections
|
|
38
32
|
} = select(_blocks.store);
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
collections: getCollections(),
|
|
42
|
-
items: getInserterItems(rootClientId)
|
|
43
|
-
};
|
|
44
|
-
}, [rootClientId]);
|
|
33
|
+
return [getCategories(), getCollections()];
|
|
34
|
+
}, []);
|
|
45
35
|
const onSelectItem = (0, _element.useCallback)(({
|
|
46
36
|
name,
|
|
47
37
|
initialAttributes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","_data","_element","_store","useBlockTypesState","rootClientId","onInsert","
|
|
1
|
+
{"version":3,"names":["_blocks","require","_data","_element","_store","useBlockTypesState","rootClientId","onInsert","items","useSelect","select","blockEditorStore","getInserterItems","categories","collections","getCategories","getCollections","blocksStore","onSelectItem","useCallback","name","initialAttributes","innerBlocks","syncStatus","content","shouldFocusBlock","insertedBlock","parse","__unstableSkipMigrationLogs","createBlock","createBlocksFromInnerBlocksTemplate","undefined","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-block-types-state.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n\tparse,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * Retrieves the block types inserter state.\n *\n * @param {string=} rootClientId Insertion's root client ID.\n * @param {Function} onInsert function called when inserter a list of blocks.\n * @return {Array} Returns the block types state. (block types, categories, collections, onSelect handler)\n */\nconst useBlockTypesState = ( rootClientId, onInsert ) => {\n\tconst [ items ] = useSelect(\n\t\t( select ) => [\n\t\t\tselect( blockEditorStore ).getInserterItems( rootClientId ),\n\t\t],\n\t\t[ rootClientId ]\n\t);\n\n\tconst [ categories, collections ] = useSelect( ( select ) => {\n\t\tconst { getCategories, getCollections } = select( blocksStore );\n\t\treturn [ getCategories(), getCollections() ];\n\t}, [] );\n\n\tconst onSelectItem = useCallback(\n\t\t(\n\t\t\t{ name, initialAttributes, innerBlocks, syncStatus, content },\n\t\t\tshouldFocusBlock\n\t\t) => {\n\t\t\tconst insertedBlock =\n\t\t\t\tsyncStatus === 'unsynced'\n\t\t\t\t\t? parse( content, {\n\t\t\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t\t } )\n\t\t\t\t\t: createBlock(\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tinitialAttributes,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocks )\n\t\t\t\t\t );\n\n\t\t\tonInsert( insertedBlock, undefined, shouldFocusBlock );\n\t\t},\n\t\t[ onInsert ]\n\t);\n\n\treturn [ items, categories, collections, onSelectItem ];\n};\n\nexport default useBlockTypesState;\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAMA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AAfA;AACA;AACA;;AAUA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,kBAAkB,GAAGA,CAAEC,YAAY,EAAEC,QAAQ,KAAM;EACxD,MAAM,CAAEC,KAAK,CAAE,GAAG,IAAAC,eAAS,EACxBC,MAAM,IAAM,CACbA,MAAM,CAAEC,YAAiB,CAAC,CAACC,gBAAgB,CAAEN,YAAa,CAAC,CAC3D,EACD,CAAEA,YAAY,CACf,CAAC;EAED,MAAM,CAAEO,UAAU,EAAEC,WAAW,CAAE,GAAG,IAAAL,eAAS,EAAIC,MAAM,IAAM;IAC5D,MAAM;MAAEK,aAAa;MAAEC;IAAe,CAAC,GAAGN,MAAM,CAAEO,aAAY,CAAC;IAC/D,OAAO,CAAEF,aAAa,CAAC,CAAC,EAAEC,cAAc,CAAC,CAAC,CAAE;EAC7C,CAAC,EAAE,EAAG,CAAC;EAEP,MAAME,YAAY,GAAG,IAAAC,oBAAW,EAC/B,CACC;IAAEC,IAAI;IAAEC,iBAAiB;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAQ,CAAC,EAC7DC,gBAAgB,KACZ;IACJ,MAAMC,aAAa,GAClBH,UAAU,KAAK,UAAU,GACtB,IAAAI,aAAK,EAAEH,OAAO,EAAE;MAChBI,2BAA2B,EAAE;IAC7B,CAAE,CAAC,GACH,IAAAC,mBAAW,EACXT,IAAI,EACJC,iBAAiB,EACjB,IAAAS,2CAAmC,EAAER,WAAY,CACjD,CAAC;IAELf,QAAQ,CAAEmB,aAAa,EAAEK,SAAS,EAAEN,gBAAiB,CAAC;EACvD,CAAC,EACD,CAAElB,QAAQ,CACX,CAAC;EAED,OAAO,CAAEC,KAAK,EAAEK,UAAU,EAAEC,WAAW,EAAEI,YAAY,CAAE;AACxD,CAAC;AAAC,IAAAc,QAAA,GAEa3B,kBAAkB;AAAA4B,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -60,7 +60,7 @@ const usePatternsState = (onInsert, rootClientId) => {
|
|
|
60
60
|
createSuccessNotice
|
|
61
61
|
} = (0, _data.useDispatch)(_notices.store);
|
|
62
62
|
const onClickPattern = (0, _element.useCallback)((pattern, blocks) => {
|
|
63
|
-
const patternBlocks = pattern.type === _utils.
|
|
63
|
+
const patternBlocks = pattern.type === _utils.INSERTER_PATTERN_TYPES.user && pattern.syncStatus !== 'unsynced' ? [(0, _blocks.createBlock)('core/block', {
|
|
64
64
|
ref: pattern.id
|
|
65
65
|
})] : blocks;
|
|
66
66
|
onInsert((patternBlocks !== null && patternBlocks !== void 0 ? patternBlocks : []).map(block => (0, _blocks.cloneBlock)(block)), pattern.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_blocks","_data","_i18n","_notices","_store","_utils","usePatternsState","onInsert","rootClientId","patternCategories","patterns","userPatternCategories","useSelect","select","__experimentalGetAllowedPatterns","getSettings","blockEditorStore","__experimentalUserPatternCategories","__experimentalBlockPatternCategories","allCategories","useMemo","categories","forEach","userCategory","find","existingCategory","name","push","createSuccessNotice","useDispatch","noticesStore","onClickPattern","useCallback","pattern","blocks","patternBlocks","type","
|
|
1
|
+
{"version":3,"names":["_element","require","_blocks","_data","_i18n","_notices","_store","_utils","usePatternsState","onInsert","rootClientId","patternCategories","patterns","userPatternCategories","useSelect","select","__experimentalGetAllowedPatterns","getSettings","blockEditorStore","__experimentalUserPatternCategories","__experimentalBlockPatternCategories","allCategories","useMemo","categories","forEach","userCategory","find","existingCategory","name","push","createSuccessNotice","useDispatch","noticesStore","onClickPattern","useCallback","pattern","blocks","patternBlocks","type","INSERTER_PATTERN_TYPES","user","syncStatus","createBlock","ref","id","map","block","cloneBlock","sprintf","__","title","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-patterns-state.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { cloneBlock, createBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\nimport { INSERTER_PATTERN_TYPES } from '../block-patterns-tab/utils';\n\n/**\n * Retrieves the block patterns inserter state.\n *\n * @param {Function} onInsert function called when inserter a list of blocks.\n * @param {string=} rootClientId Insertion's root client ID.\n *\n * @return {Array} Returns the patterns state. (patterns, categories, onSelect handler)\n */\nconst usePatternsState = ( onInsert, rootClientId ) => {\n\tconst { patternCategories, patterns, userPatternCategories } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __experimentalGetAllowedPatterns, getSettings } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst {\n\t\t\t\t__experimentalUserPatternCategories,\n\t\t\t\t__experimentalBlockPatternCategories,\n\t\t\t} = getSettings();\n\t\t\treturn {\n\t\t\t\tpatterns: __experimentalGetAllowedPatterns( rootClientId ),\n\t\t\t\tuserPatternCategories: __experimentalUserPatternCategories,\n\t\t\t\tpatternCategories: __experimentalBlockPatternCategories,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tconst allCategories = useMemo( () => {\n\t\tconst categories = [ ...patternCategories ];\n\t\tuserPatternCategories?.forEach( ( userCategory ) => {\n\t\t\tif (\n\t\t\t\t! categories.find(\n\t\t\t\t\t( existingCategory ) =>\n\t\t\t\t\t\texistingCategory.name === userCategory.name\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tcategories.push( userCategory );\n\t\t\t}\n\t\t} );\n\t\treturn categories;\n\t}, [ patternCategories, userPatternCategories ] );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst onClickPattern = useCallback(\n\t\t( pattern, blocks ) => {\n\t\t\tconst patternBlocks =\n\t\t\t\tpattern.type === INSERTER_PATTERN_TYPES.user &&\n\t\t\t\tpattern.syncStatus !== 'unsynced'\n\t\t\t\t\t? [ createBlock( 'core/block', { ref: pattern.id } ) ]\n\t\t\t\t\t: blocks;\n\t\t\tonInsert(\n\t\t\t\t( patternBlocks ?? [] ).map( ( block ) => cloneBlock( block ) ),\n\t\t\t\tpattern.name\n\t\t\t);\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: block pattern title. */\n\t\t\t\t\t__( 'Block pattern \"%s\" inserted.' ),\n\t\t\t\t\tpattern.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'block-pattern-inserted-notice',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\t[ createSuccessNotice, onInsert ]\n\t);\n\n\treturn [ patterns, allCategories, onClickPattern ];\n};\n\nexport default usePatternsState;\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAbA;AACA;AACA;;AAOA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMO,gBAAgB,GAAGA,CAAEC,QAAQ,EAAEC,YAAY,KAAM;EACtD,MAAM;IAAEC,iBAAiB;IAAEC,QAAQ;IAAEC;EAAsB,CAAC,GAAG,IAAAC,eAAS,EACrEC,MAAM,IAAM;IACb,MAAM;MAAEC,gCAAgC;MAAEC;IAAY,CAAC,GACtDF,MAAM,CAAEG,YAAiB,CAAC;IAC3B,MAAM;MACLC,mCAAmC;MACnCC;IACD,CAAC,GAAGH,WAAW,CAAC,CAAC;IACjB,OAAO;MACNL,QAAQ,EAAEI,gCAAgC,CAAEN,YAAa,CAAC;MAC1DG,qBAAqB,EAAEM,mCAAmC;MAC1DR,iBAAiB,EAAES;IACpB,CAAC;EACF,CAAC,EACD,CAAEV,YAAY,CACf,CAAC;EAED,MAAMW,aAAa,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACpC,MAAMC,UAAU,GAAG,CAAE,GAAGZ,iBAAiB,CAAE;IAC3CE,qBAAqB,EAAEW,OAAO,CAAIC,YAAY,IAAM;MACnD,IACC,CAAEF,UAAU,CAACG,IAAI,CACdC,gBAAgB,IACjBA,gBAAgB,CAACC,IAAI,KAAKH,YAAY,CAACG,IACzC,CAAC,EACA;QACDL,UAAU,CAACM,IAAI,CAAEJ,YAAa,CAAC;MAChC;IACD,CAAE,CAAC;IACH,OAAOF,UAAU;EAClB,CAAC,EAAE,CAAEZ,iBAAiB,EAAEE,qBAAqB,CAAG,CAAC;EAEjD,MAAM;IAAEiB;EAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EAC3D,MAAMC,cAAc,GAAG,IAAAC,oBAAW,EACjC,CAAEC,OAAO,EAAEC,MAAM,KAAM;IACtB,MAAMC,aAAa,GAClBF,OAAO,CAACG,IAAI,KAAKC,6BAAsB,CAACC,IAAI,IAC5CL,OAAO,CAACM,UAAU,KAAK,UAAU,GAC9B,CAAE,IAAAC,mBAAW,EAAE,YAAY,EAAE;MAAEC,GAAG,EAAER,OAAO,CAACS;IAAG,CAAE,CAAC,CAAE,GACpDR,MAAM;IACV3B,QAAQ,CACP,CAAE4B,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI,EAAE,EAAGQ,GAAG,CAAIC,KAAK,IAAM,IAAAC,kBAAU,EAAED,KAAM,CAAE,CAAC,EAC/DX,OAAO,CAACP,IACT,CAAC;IACDE,mBAAmB,CAClB,IAAAkB,aAAO,GACN;IACA,IAAAC,QAAE,EAAE,8BAA+B,CAAC,EACpCd,OAAO,CAACe,KACT,CAAC,EACD;MACCZ,IAAI,EAAE,UAAU;MAChBM,EAAE,EAAE;IACL,CACD,CAAC;EACF,CAAC,EACD,CAAEd,mBAAmB,EAAErB,QAAQ,CAChC,CAAC;EAED,OAAO,CAAEG,QAAQ,EAAES,aAAa,EAAEY,cAAc,CAAE;AACnD,CAAC;AAAC,IAAAkB,QAAA,GAEa3C,gBAAgB;AAAA4C,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -178,8 +178,7 @@ class PrivateInserter extends _element.Component {
|
|
|
178
178
|
rootClientId: rootClientId,
|
|
179
179
|
clientId: clientId,
|
|
180
180
|
isAppender: isAppender,
|
|
181
|
-
showInserterHelpPanel: showInserterHelpPanel
|
|
182
|
-
prioritizePatterns: prioritizePatterns
|
|
181
|
+
showInserterHelpPanel: showInserterHelpPanel
|
|
183
182
|
});
|
|
184
183
|
}
|
|
185
184
|
render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_a11y","_i18n","_components","_element","_data","_compose","_blocks","_icons","_menu","_quickInserter","_store","defaultRenderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","toggleProps","prioritizePatterns","as","Wrapper","Button","label","labelProp","onClick","rest","sprintf","_x","__","handleClick","event","_react","createElement","icon","plus","tooltipPosition","className","PrivateInserter","Component","constructor","arguments","bind","renderToggle","renderContent","props","directInsertBlock","hasItems","onClose","rootClientId","clientId","isAppender","showInserterHelpPanel","__experimentalIsQuick","isQuick","onSelectOrClose","selectBlockOnInsert","default","onSelect","blocks","firstBlock","Array","isArray","length","render","position","insertOnlyAllowedBlock","Dropdown","contentClassName","classnames","popoverProps","shift","expandOnMobile","headerTitle","ComposedPrivateInserter","compose","withSelect","select","shouldDirectInsert","getBlockRootClientId","hasInserterItems","getAllowedBlocks","getDirectInsertBlock","getSettings","blockEditorStore","getBlockVariations","blocksStore","undefined","allowedBlocks","settings","name","allowedBlockType","title","__experimentalPreferPatternsOnRoot","withDispatch","dispatch","ownProps","getAdjacentBlockAttributes","attributesToCopy","getBlock","getPreviousBlockClientId","result","adjacentAttributes","parentBlock","innerBlocks","lastInnerBlock","attributes","currentBlock","previousBlock","forEach","attribute","hasOwnProperty","getInsertionIndex","getBlockIndex","getBlockSelectionEnd","getBlockOrder","end","insertBlock","blockToInsert","newAttributes","createBlock","message","speak","ifCondition","exports","Inserter","forwardRef","ref","_default"],"sources":["@wordpress/block-editor/src/components/inserter/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { forwardRef, Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport QuickInserter from './quick-inserter';\nimport { store as blockEditorStore } from '../../store';\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\tisOpen,\n\tblockTitle,\n\thasSingleBlockType,\n\ttoggleProps = {},\n\tprioritizePatterns,\n} ) => {\n\tconst {\n\t\tas: Wrapper = Button,\n\t\tlabel: labelProp,\n\t\tonClick,\n\t\t...rest\n\t} = toggleProps;\n\n\tlet label = labelProp;\n\tif ( ! label && hasSingleBlockType ) {\n\t\tlabel = sprintf(\n\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\tblockTitle\n\t\t);\n\t} else if ( ! label && prioritizePatterns ) {\n\t\tlabel = __( 'Add pattern' );\n\t} else if ( ! label ) {\n\t\tlabel = _x( 'Add block', 'Generic label for block inserter button' );\n\t}\n\n\t// Handle both onClick functions from the toggle and the parent component.\n\tfunction handleClick( event ) {\n\t\tif ( onToggle ) {\n\t\t\tonToggle( event );\n\t\t}\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Wrapper\n\t\t\ticon={ plus }\n\t\t\tlabel={ label }\n\t\t\ttooltipPosition=\"bottom\"\n\t\t\tonClick={ handleClick }\n\t\t\tclassName=\"block-editor-inserter__toggle\"\n\t\t\taria-haspopup={ ! hasSingleBlockType ? 'true' : false }\n\t\t\taria-expanded={ ! hasSingleBlockType ? isOpen : false }\n\t\t\tdisabled={ disabled }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n};\n\nclass PrivateInserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderToggle = this.renderToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { onToggle } = this.props;\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown toggle element.\n\t */\n\trenderToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\thasItems,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tprioritizePatterns,\n\t\t} = this.props;\n\n\t\treturn renderToggle( {\n\t\t\tonToggle,\n\t\t\tisOpen,\n\t\t\tdisabled: disabled || ! hasItems,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\tprioritizePatterns,\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t *\n\t * @return {Element} Dropdown content element.\n\t */\n\trenderContent( { onClose } ) {\n\t\tconst {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tshowInserterHelpPanel,\n\n\t\t\t// This prop is experimental to give some time for the quick inserter to mature\n\t\t\t// Feel free to make them stable after a few releases.\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tprioritizePatterns,\n\t\t\tonSelectOrClose,\n\t\t\tselectBlockOnInsert,\n\t\t} = this.props;\n\n\t\tif ( isQuick ) {\n\t\t\treturn (\n\t\t\t\t<QuickInserter\n\t\t\t\t\tonSelect={ ( blocks ) => {\n\t\t\t\t\t\tconst firstBlock =\n\t\t\t\t\t\t\tArray.isArray( blocks ) && blocks?.length\n\t\t\t\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t\t\t\t: blocks;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tonSelectOrClose &&\n\t\t\t\t\t\t\ttypeof onSelectOrClose === 'function'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonSelectOrClose( firstBlock );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t\tselectBlockOnInsert={ selectBlockOnInsert }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tonSelect={ () => {\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tposition,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\tinsertOnlyAllowedBlock,\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tonSelectOrClose,\n\t\t} = this.props;\n\n\t\tif ( hasSingleBlockType || directInsertBlock ) {\n\t\t\treturn this.renderToggle( { onToggle: insertOnlyAllowedBlock } );\n\t\t}\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-editor-inserter\"\n\t\t\t\tcontentClassName={ classnames(\n\t\t\t\t\t'block-editor-inserter__popover',\n\t\t\t\t\t{ 'is-quick': isQuick }\n\t\t\t\t) }\n\t\t\t\tpopoverProps={ { position, shift: true } }\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\texpandOnMobile\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\tonClose={ onSelectOrClose }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport const ComposedPrivateInserter = compose( [\n\twithSelect(\n\t\t( select, { clientId, rootClientId, shouldDirectInsert = true } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasInserterItems,\n\t\t\t\tgetAllowedBlocks,\n\t\t\t\tgetDirectInsertBlock,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\t\trootClientId =\n\t\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\n\t\t\tconst allowedBlocks = getAllowedBlocks( rootClientId );\n\n\t\t\tconst directInsertBlock =\n\t\t\t\tshouldDirectInsert && getDirectInsertBlock( rootClientId );\n\n\t\t\tconst settings = getSettings();\n\n\t\t\tconst hasSingleBlockType =\n\t\t\t\tallowedBlocks?.length === 1 &&\n\t\t\t\tgetBlockVariations( allowedBlocks[ 0 ].name, 'inserter' )\n\t\t\t\t\t?.length === 0;\n\n\t\t\tlet allowedBlockType = false;\n\t\t\tif ( hasSingleBlockType ) {\n\t\t\t\tallowedBlockType = allowedBlocks[ 0 ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thasItems: hasInserterItems( rootClientId ),\n\t\t\t\thasSingleBlockType,\n\t\t\t\tblockTitle: allowedBlockType ? allowedBlockType.title : '',\n\t\t\t\tallowedBlockType,\n\t\t\t\tdirectInsertBlock,\n\t\t\t\trootClientId,\n\t\t\t\tprioritizePatterns:\n\t\t\t\t\tsettings.__experimentalPreferPatternsOnRoot &&\n\t\t\t\t\t! rootClientId,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\treturn {\n\t\t\tinsertOnlyAllowedBlock() {\n\t\t\t\tconst {\n\t\t\t\t\trootClientId,\n\t\t\t\t\tclientId,\n\t\t\t\t\tisAppender,\n\t\t\t\t\thasSingleBlockType,\n\t\t\t\t\tallowedBlockType,\n\t\t\t\t\tdirectInsertBlock,\n\t\t\t\t\tonSelectOrClose,\n\t\t\t\t\tselectBlockOnInsert,\n\t\t\t\t} = ownProps;\n\n\t\t\t\tif ( ! hasSingleBlockType && ! directInsertBlock ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction getAdjacentBlockAttributes( attributesToCopy ) {\n\t\t\t\t\tconst { getBlock, getPreviousBlockClientId } =\n\t\t\t\t\t\tselect( blockEditorStore );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! attributesToCopy ||\n\t\t\t\t\t\t( ! clientId && ! rootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t}\n\n\t\t\t\t\tconst result = {};\n\t\t\t\t\tlet adjacentAttributes = {};\n\n\t\t\t\t\t// If there is no clientId, then attempt to get attributes\n\t\t\t\t\t// from the last block within innerBlocks of the root block.\n\t\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\t\tconst parentBlock = getBlock( rootClientId );\n\n\t\t\t\t\t\tif ( parentBlock?.innerBlocks?.length ) {\n\t\t\t\t\t\t\tconst lastInnerBlock =\n\t\t\t\t\t\t\t\tparentBlock.innerBlocks[\n\t\t\t\t\t\t\t\t\tparentBlock.innerBlocks.length - 1\n\t\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdirectInsertBlock &&\n\t\t\t\t\t\t\t\tdirectInsertBlock?.name === lastInnerBlock.name\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tadjacentAttributes = lastInnerBlock.attributes;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Otherwise, attempt to get attributes from the\n\t\t\t\t\t\t// previous block relative to the current clientId.\n\t\t\t\t\t\tconst currentBlock = getBlock( clientId );\n\t\t\t\t\t\tconst previousBlock = getBlock(\n\t\t\t\t\t\t\tgetPreviousBlockClientId( clientId )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( currentBlock?.name === previousBlock?.name ) {\n\t\t\t\t\t\t\tadjacentAttributes =\n\t\t\t\t\t\t\t\tpreviousBlock?.attributes || {};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Copy over only those attributes flagged to be copied.\n\t\t\t\t\tattributesToCopy.forEach( ( attribute ) => {\n\t\t\t\t\t\tif ( adjacentAttributes.hasOwnProperty( attribute ) ) {\n\t\t\t\t\t\t\tresult[ attribute ] =\n\t\t\t\t\t\t\t\tadjacentAttributes[ attribute ];\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tfunction getInsertionIndex() {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\t\tgetBlockSelectionEnd,\n\t\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\t\t\tif ( clientId ) {\n\t\t\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t\t\t}\n\n\t\t\t\t\t// If there a selected block, we insert after the selected block.\n\t\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAppender &&\n\t\t\t\t\t\tend &&\n\t\t\t\t\t\tgetBlockRootClientId( end ) === rootClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn getBlockIndex( end ) + 1;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\t\t\treturn getBlockOrder( rootClientId ).length;\n\t\t\t\t}\n\n\t\t\t\tconst { insertBlock } = dispatch( blockEditorStore );\n\n\t\t\t\tlet blockToInsert;\n\n\t\t\t\t// Attempt to augment the directInsertBlock with attributes from an adjacent block.\n\t\t\t\t// This ensures styling from nearby blocks is preserved in the newly inserted block.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/37904\n\t\t\t\tif ( directInsertBlock ) {\n\t\t\t\t\tconst newAttributes = getAdjacentBlockAttributes(\n\t\t\t\t\t\tdirectInsertBlock.attributesToCopy\n\t\t\t\t\t);\n\n\t\t\t\t\tblockToInsert = createBlock( directInsertBlock.name, {\n\t\t\t\t\t\t...( directInsertBlock.attributes || {} ),\n\t\t\t\t\t\t...newAttributes,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tblockToInsert = createBlock( allowedBlockType.name );\n\t\t\t\t}\n\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblockToInsert,\n\t\t\t\t\tgetInsertionIndex(),\n\t\t\t\t\trootClientId,\n\t\t\t\t\tselectBlockOnInsert\n\t\t\t\t);\n\n\t\t\t\tif ( onSelectOrClose ) {\n\t\t\t\t\tonSelectOrClose( {\n\t\t\t\t\t\tclientId: blockToInsert?.clientId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tconst message = sprintf(\n\t\t\t\t\t// translators: %s: the name of the block that has been added\n\t\t\t\t\t__( '%s block added' ),\n\t\t\t\t\tallowedBlockType.title\n\t\t\t\t);\n\t\t\t\tspeak( message );\n\t\t\t},\n\t\t};\n\t} ),\n\t// The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as\n\t// a way to detect the global Inserter.\n\tifCondition(\n\t\t( { hasItems, isAppender, rootClientId, clientId } ) =>\n\t\t\thasItems || ( ! isAppender && ! rootClientId && ! clientId )\n\t),\n] )( PrivateInserter );\n\nconst Inserter = forwardRef( ( props, ref ) => {\n\treturn <ComposedPrivateInserter ref={ ref } { ...props } />;\n} );\n\nexport default Inserter;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_a11y","_i18n","_components","_element","_data","_compose","_blocks","_icons","_menu","_quickInserter","_store","defaultRenderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","toggleProps","prioritizePatterns","as","Wrapper","Button","label","labelProp","onClick","rest","sprintf","_x","__","handleClick","event","_react","createElement","icon","plus","tooltipPosition","className","PrivateInserter","Component","constructor","arguments","bind","renderToggle","renderContent","props","directInsertBlock","hasItems","onClose","rootClientId","clientId","isAppender","showInserterHelpPanel","__experimentalIsQuick","isQuick","onSelectOrClose","selectBlockOnInsert","default","onSelect","blocks","firstBlock","Array","isArray","length","render","position","insertOnlyAllowedBlock","Dropdown","contentClassName","classnames","popoverProps","shift","expandOnMobile","headerTitle","ComposedPrivateInserter","compose","withSelect","select","shouldDirectInsert","getBlockRootClientId","hasInserterItems","getAllowedBlocks","getDirectInsertBlock","getSettings","blockEditorStore","getBlockVariations","blocksStore","undefined","allowedBlocks","settings","name","allowedBlockType","title","__experimentalPreferPatternsOnRoot","withDispatch","dispatch","ownProps","getAdjacentBlockAttributes","attributesToCopy","getBlock","getPreviousBlockClientId","result","adjacentAttributes","parentBlock","innerBlocks","lastInnerBlock","attributes","currentBlock","previousBlock","forEach","attribute","hasOwnProperty","getInsertionIndex","getBlockIndex","getBlockSelectionEnd","getBlockOrder","end","insertBlock","blockToInsert","newAttributes","createBlock","message","speak","ifCondition","exports","Inserter","forwardRef","ref","_default"],"sources":["@wordpress/block-editor/src/components/inserter/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { forwardRef, Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport QuickInserter from './quick-inserter';\nimport { store as blockEditorStore } from '../../store';\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\tisOpen,\n\tblockTitle,\n\thasSingleBlockType,\n\ttoggleProps = {},\n\tprioritizePatterns,\n} ) => {\n\tconst {\n\t\tas: Wrapper = Button,\n\t\tlabel: labelProp,\n\t\tonClick,\n\t\t...rest\n\t} = toggleProps;\n\n\tlet label = labelProp;\n\tif ( ! label && hasSingleBlockType ) {\n\t\tlabel = sprintf(\n\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\tblockTitle\n\t\t);\n\t} else if ( ! label && prioritizePatterns ) {\n\t\tlabel = __( 'Add pattern' );\n\t} else if ( ! label ) {\n\t\tlabel = _x( 'Add block', 'Generic label for block inserter button' );\n\t}\n\n\t// Handle both onClick functions from the toggle and the parent component.\n\tfunction handleClick( event ) {\n\t\tif ( onToggle ) {\n\t\t\tonToggle( event );\n\t\t}\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Wrapper\n\t\t\ticon={ plus }\n\t\t\tlabel={ label }\n\t\t\ttooltipPosition=\"bottom\"\n\t\t\tonClick={ handleClick }\n\t\t\tclassName=\"block-editor-inserter__toggle\"\n\t\t\taria-haspopup={ ! hasSingleBlockType ? 'true' : false }\n\t\t\taria-expanded={ ! hasSingleBlockType ? isOpen : false }\n\t\t\tdisabled={ disabled }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n};\n\nclass PrivateInserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderToggle = this.renderToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { onToggle } = this.props;\n\n\t\t// Surface toggle callback to parent component.\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {Element} Dropdown toggle element.\n\t */\n\trenderToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\thasItems,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tprioritizePatterns,\n\t\t} = this.props;\n\n\t\treturn renderToggle( {\n\t\t\tonToggle,\n\t\t\tisOpen,\n\t\t\tdisabled: disabled || ! hasItems,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\tprioritizePatterns,\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t *\n\t * @return {Element} Dropdown content element.\n\t */\n\trenderContent( { onClose } ) {\n\t\tconst {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tshowInserterHelpPanel,\n\n\t\t\t// This prop is experimental to give some time for the quick inserter to mature\n\t\t\t// Feel free to make them stable after a few releases.\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tprioritizePatterns,\n\t\t\tonSelectOrClose,\n\t\t\tselectBlockOnInsert,\n\t\t} = this.props;\n\n\t\tif ( isQuick ) {\n\t\t\treturn (\n\t\t\t\t<QuickInserter\n\t\t\t\t\tonSelect={ ( blocks ) => {\n\t\t\t\t\t\tconst firstBlock =\n\t\t\t\t\t\t\tArray.isArray( blocks ) && blocks?.length\n\t\t\t\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t\t\t\t: blocks;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tonSelectOrClose &&\n\t\t\t\t\t\t\ttypeof onSelectOrClose === 'function'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tonSelectOrClose( firstBlock );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t\tselectBlockOnInsert={ selectBlockOnInsert }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tonSelect={ () => {\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tposition,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\tinsertOnlyAllowedBlock,\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tonSelectOrClose,\n\t\t} = this.props;\n\n\t\tif ( hasSingleBlockType || directInsertBlock ) {\n\t\t\treturn this.renderToggle( { onToggle: insertOnlyAllowedBlock } );\n\t\t}\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-editor-inserter\"\n\t\t\t\tcontentClassName={ classnames(\n\t\t\t\t\t'block-editor-inserter__popover',\n\t\t\t\t\t{ 'is-quick': isQuick }\n\t\t\t\t) }\n\t\t\t\tpopoverProps={ { position, shift: true } }\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\texpandOnMobile\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\tonClose={ onSelectOrClose }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport const ComposedPrivateInserter = compose( [\n\twithSelect(\n\t\t( select, { clientId, rootClientId, shouldDirectInsert = true } ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasInserterItems,\n\t\t\t\tgetAllowedBlocks,\n\t\t\t\tgetDirectInsertBlock,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\t\trootClientId =\n\t\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\n\t\t\tconst allowedBlocks = getAllowedBlocks( rootClientId );\n\n\t\t\tconst directInsertBlock =\n\t\t\t\tshouldDirectInsert && getDirectInsertBlock( rootClientId );\n\n\t\t\tconst settings = getSettings();\n\n\t\t\tconst hasSingleBlockType =\n\t\t\t\tallowedBlocks?.length === 1 &&\n\t\t\t\tgetBlockVariations( allowedBlocks[ 0 ].name, 'inserter' )\n\t\t\t\t\t?.length === 0;\n\n\t\t\tlet allowedBlockType = false;\n\t\t\tif ( hasSingleBlockType ) {\n\t\t\t\tallowedBlockType = allowedBlocks[ 0 ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thasItems: hasInserterItems( rootClientId ),\n\t\t\t\thasSingleBlockType,\n\t\t\t\tblockTitle: allowedBlockType ? allowedBlockType.title : '',\n\t\t\t\tallowedBlockType,\n\t\t\t\tdirectInsertBlock,\n\t\t\t\trootClientId,\n\t\t\t\tprioritizePatterns:\n\t\t\t\t\tsettings.__experimentalPreferPatternsOnRoot &&\n\t\t\t\t\t! rootClientId,\n\t\t\t};\n\t\t}\n\t),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\treturn {\n\t\t\tinsertOnlyAllowedBlock() {\n\t\t\t\tconst {\n\t\t\t\t\trootClientId,\n\t\t\t\t\tclientId,\n\t\t\t\t\tisAppender,\n\t\t\t\t\thasSingleBlockType,\n\t\t\t\t\tallowedBlockType,\n\t\t\t\t\tdirectInsertBlock,\n\t\t\t\t\tonSelectOrClose,\n\t\t\t\t\tselectBlockOnInsert,\n\t\t\t\t} = ownProps;\n\n\t\t\t\tif ( ! hasSingleBlockType && ! directInsertBlock ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction getAdjacentBlockAttributes( attributesToCopy ) {\n\t\t\t\t\tconst { getBlock, getPreviousBlockClientId } =\n\t\t\t\t\t\tselect( blockEditorStore );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! attributesToCopy ||\n\t\t\t\t\t\t( ! clientId && ! rootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t}\n\n\t\t\t\t\tconst result = {};\n\t\t\t\t\tlet adjacentAttributes = {};\n\n\t\t\t\t\t// If there is no clientId, then attempt to get attributes\n\t\t\t\t\t// from the last block within innerBlocks of the root block.\n\t\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\t\tconst parentBlock = getBlock( rootClientId );\n\n\t\t\t\t\t\tif ( parentBlock?.innerBlocks?.length ) {\n\t\t\t\t\t\t\tconst lastInnerBlock =\n\t\t\t\t\t\t\t\tparentBlock.innerBlocks[\n\t\t\t\t\t\t\t\t\tparentBlock.innerBlocks.length - 1\n\t\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tdirectInsertBlock &&\n\t\t\t\t\t\t\t\tdirectInsertBlock?.name === lastInnerBlock.name\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tadjacentAttributes = lastInnerBlock.attributes;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Otherwise, attempt to get attributes from the\n\t\t\t\t\t\t// previous block relative to the current clientId.\n\t\t\t\t\t\tconst currentBlock = getBlock( clientId );\n\t\t\t\t\t\tconst previousBlock = getBlock(\n\t\t\t\t\t\t\tgetPreviousBlockClientId( clientId )\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( currentBlock?.name === previousBlock?.name ) {\n\t\t\t\t\t\t\tadjacentAttributes =\n\t\t\t\t\t\t\t\tpreviousBlock?.attributes || {};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Copy over only those attributes flagged to be copied.\n\t\t\t\t\tattributesToCopy.forEach( ( attribute ) => {\n\t\t\t\t\t\tif ( adjacentAttributes.hasOwnProperty( attribute ) ) {\n\t\t\t\t\t\t\tresult[ attribute ] =\n\t\t\t\t\t\t\t\tadjacentAttributes[ attribute ];\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tfunction getInsertionIndex() {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\t\tgetBlockSelectionEnd,\n\t\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\t\t\tif ( clientId ) {\n\t\t\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t\t\t}\n\n\t\t\t\t\t// If there a selected block, we insert after the selected block.\n\t\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAppender &&\n\t\t\t\t\t\tend &&\n\t\t\t\t\t\tgetBlockRootClientId( end ) === rootClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn getBlockIndex( end ) + 1;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Otherwise, we insert at the end of the current rootClientId.\n\t\t\t\t\treturn getBlockOrder( rootClientId ).length;\n\t\t\t\t}\n\n\t\t\t\tconst { insertBlock } = dispatch( blockEditorStore );\n\n\t\t\t\tlet blockToInsert;\n\n\t\t\t\t// Attempt to augment the directInsertBlock with attributes from an adjacent block.\n\t\t\t\t// This ensures styling from nearby blocks is preserved in the newly inserted block.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/37904\n\t\t\t\tif ( directInsertBlock ) {\n\t\t\t\t\tconst newAttributes = getAdjacentBlockAttributes(\n\t\t\t\t\t\tdirectInsertBlock.attributesToCopy\n\t\t\t\t\t);\n\n\t\t\t\t\tblockToInsert = createBlock( directInsertBlock.name, {\n\t\t\t\t\t\t...( directInsertBlock.attributes || {} ),\n\t\t\t\t\t\t...newAttributes,\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tblockToInsert = createBlock( allowedBlockType.name );\n\t\t\t\t}\n\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblockToInsert,\n\t\t\t\t\tgetInsertionIndex(),\n\t\t\t\t\trootClientId,\n\t\t\t\t\tselectBlockOnInsert\n\t\t\t\t);\n\n\t\t\t\tif ( onSelectOrClose ) {\n\t\t\t\t\tonSelectOrClose( {\n\t\t\t\t\t\tclientId: blockToInsert?.clientId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tconst message = sprintf(\n\t\t\t\t\t// translators: %s: the name of the block that has been added\n\t\t\t\t\t__( '%s block added' ),\n\t\t\t\t\tallowedBlockType.title\n\t\t\t\t);\n\t\t\t\tspeak( message );\n\t\t\t},\n\t\t};\n\t} ),\n\t// The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as\n\t// a way to detect the global Inserter.\n\tifCondition(\n\t\t( { hasItems, isAppender, rootClientId, clientId } ) =>\n\t\t\thasItems || ( ! isAppender && ! rootClientId && ! clientId )\n\t),\n] )( PrivateInserter );\n\nconst Inserter = forwardRef( ( props, ref ) => {\n\treturn <ComposedPrivateInserter ref={ ref } { ...props } />;\n} );\n\nexport default Inserter;\n"],"mappings":"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"}
|
|
@@ -31,17 +31,14 @@ function InserterLibrary({
|
|
|
31
31
|
shouldFocusBlock = false
|
|
32
32
|
}, ref) {
|
|
33
33
|
const {
|
|
34
|
-
destinationRootClientId
|
|
35
|
-
prioritizePatterns
|
|
34
|
+
destinationRootClientId
|
|
36
35
|
} = (0, _data.useSelect)(select => {
|
|
37
36
|
const {
|
|
38
|
-
getBlockRootClientId
|
|
39
|
-
getSettings
|
|
37
|
+
getBlockRootClientId
|
|
40
38
|
} = select(_store.store);
|
|
41
39
|
const _rootClientId = rootClientId || getBlockRootClientId(clientId) || undefined;
|
|
42
40
|
return {
|
|
43
|
-
destinationRootClientId: _rootClientId
|
|
44
|
-
prioritizePatterns: getSettings().__experimentalPreferPatternsOnRoot && !_rootClientId
|
|
41
|
+
destinationRootClientId: _rootClientId
|
|
45
42
|
};
|
|
46
43
|
}, [clientId, rootClientId]);
|
|
47
44
|
return (0, _react.createElement)(_menu.default, {
|
|
@@ -54,7 +51,6 @@ function InserterLibrary({
|
|
|
54
51
|
__experimentalInsertionIndex: __experimentalInsertionIndex,
|
|
55
52
|
__experimentalFilterValue: __experimentalFilterValue,
|
|
56
53
|
shouldFocusBlock: shouldFocusBlock,
|
|
57
|
-
prioritizePatterns: prioritizePatterns,
|
|
58
54
|
ref: ref
|
|
59
55
|
});
|
|
60
56
|
}
|