@wordpress/block-editor 12.14.0 → 12.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +10 -5
- package/build/components/block-canvas/index.js +22 -6
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-card/index.js +1 -1
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-controls/hook.js +3 -23
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-edit/context.js +5 -1
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/index.js +18 -9
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-info-slot-fill/index.js +3 -4
- package/build/components/block-info-slot-fill/index.js.map +1 -1
- package/build/components/block-list/block.js +28 -9
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +16 -5
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +61 -18
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -29
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +4 -14
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-parent-selector/index.js +1 -1
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +25 -16
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +4 -2
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-list/index.js +37 -20
- 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/index.js +28 -0
- package/build/components/block-rename/index.js.map +1 -0
- package/build/components/block-rename/is-empty-string.js +10 -0
- package/build/components/block-rename/is-empty-string.js.map +1 -0
- package/build/components/block-rename/modal.js +90 -0
- package/build/components/block-rename/modal.js.map +1 -0
- package/build/components/block-rename/rename-control.js +74 -0
- package/build/components/block-rename/rename-control.js.map +1 -0
- package/build/components/block-rename/use-block-rename.js +17 -0
- package/build/components/block-rename/use-block-rename.js.map +1 -0
- 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-settings-menu/block-settings-dropdown.js +33 -20
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +7 -0
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +1 -1
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +3 -2
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build/components/block-toolbar/index.js +89 -27
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +49 -0
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
- package/build/components/block-tools/block-toolbar-popover.js +86 -0
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -0
- package/build/components/block-tools/index.js +27 -24
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-types-list/index.js +6 -2
- package/build/components/block-types-list/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js +4 -3
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +2 -1
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/colors-gradients/control.js +28 -17
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/date-format-picker/index.js +8 -1
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/duotone-control/index.js +1 -4
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +1 -1
- package/build/components/global-styles/advanced-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +22 -20
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +9 -3
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +20 -31
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/image-link-destinations/index.native.js +118 -0
- package/build/components/image-link-destinations/index.native.js.map +1 -0
- package/build/components/image-size-control/index.js +0 -5
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.native.js +8 -0
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/index.js +3 -1
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +29 -31
- package/build/components/inner-blocks/warning-max-depth-exceeded.native.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 +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/utils.js +3 -4
- package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +2 -1
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +2 -2
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/menu.js +14 -7
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/preview-panel.js +2 -2
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter-button/index.native.js +98 -0
- package/build/components/inserter-button/index.native.js.map +1 -0
- package/build/components/inserter-button/sparkles.js +23 -0
- package/build/components/inserter-button/sparkles.js.map +1 -0
- package/build/components/inserter-draggable-blocks/index.js +8 -4
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inserter-listbox/index.js +11 -6
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +24 -23
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inserter-listbox/row.js +5 -5
- package/build/components/inserter-listbox/row.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/list-view/use-list-view-expand-selected-item.js +2 -3
- package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +2 -2
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/preview-options/index.js +6 -60
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/rich-text/content.js +26 -23
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js +2 -1
- package/build/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build/components/rich-text/index.js +2 -30
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +10 -17
- 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 +41 -37
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-input-rules.js +35 -2
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/with-deprecations.js +50 -0
- package/build/components/rich-text/with-deprecations.js.map +1 -0
- package/build/components/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/use-block-drop-zone/index.js +74 -9
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js +2 -1
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +1 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-resize-canvas/index.js +4 -1
- package/build/components/use-resize-canvas/index.js.map +1 -1
- package/build/components/use-settings/index.js +16 -2
- package/build/components/use-settings/index.js.map +1 -1
- package/build/hooks/align.js +20 -68
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/align.native.js +11 -1
- package/build/hooks/align.native.js.map +1 -1
- package/build/hooks/anchor.js +13 -29
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/background.js +28 -31
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-hooks.js +24 -32
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-renaming.js +38 -0
- package/build/hooks/block-renaming.js.map +1 -1
- package/build/hooks/border.js +58 -80
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +76 -89
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +29 -29
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/custom-class-name.js +12 -29
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-fields.js +64 -73
- package/build/hooks/custom-fields.js.map +1 -1
- package/build/hooks/dimensions.js +21 -17
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +31 -61
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js +16 -25
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +51 -119
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.js +25 -15
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +10 -3
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout-child.js +68 -0
- package/build/hooks/layout-child.js.map +1 -0
- package/build/hooks/layout.js +29 -108
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/padding.js +2 -2
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/position.js +40 -62
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +51 -88
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/typography.js +34 -14
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/utils.js +154 -7
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +4 -3
- package/build/layouts/constrained.js.map +1 -1
- package/build/private-apis.js +0 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/private-actions.js +8 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +34 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +8 -0
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +10 -58
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +66 -0
- package/build/store/utils.js.map +1 -0
- package/build/utils/object.js +21 -61
- package/build/utils/object.js.map +1 -1
- package/build/utils/selection.js +9 -1
- package/build/utils/selection.js.map +1 -1
- package/build/utils/transform-styles/index.js +26 -6
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/block-canvas/index.js +23 -7
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-card/index.js +1 -1
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-controls/hook.js +4 -24
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-edit/context.js +2 -0
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/index.js +19 -10
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-info-slot-fill/index.js +3 -3
- package/build-module/components/block-info-slot-fill/index.js.map +1 -1
- package/build-module/components/block-list/block.js +29 -10
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +16 -5
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +62 -19
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -29
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +4 -14
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +1 -1
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +24 -15
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +4 -2
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +37 -20
- 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/index.js +4 -0
- package/build-module/components/block-rename/index.js.map +1 -0
- package/build-module/components/block-rename/is-empty-string.js +4 -0
- package/build-module/components/block-rename/is-empty-string.js.map +1 -0
- package/build-module/components/block-rename/modal.js +82 -0
- package/build-module/components/block-rename/modal.js.map +1 -0
- package/build-module/components/block-rename/rename-control.js +66 -0
- package/build-module/components/block-rename/rename-control.js.map +1 -0
- package/build-module/components/block-rename/use-block-rename.js +10 -0
- package/build-module/components/block-rename/use-block-rename.js.map +1 -0
- 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-settings-menu/block-settings-dropdown.js +34 -21
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +7 -0
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -1
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +3 -2
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +88 -25
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +41 -0
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
- package/build-module/components/block-tools/block-toolbar-popover.js +76 -0
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -0
- package/build-module/components/block-tools/index.js +27 -24
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-types-list/index.js +6 -2
- package/build-module/components/block-types-list/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +2 -1
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +2 -1
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +29 -18
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +8 -1
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/duotone-control/index.js +1 -4
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +1 -1
- package/build-module/components/global-styles/advanced-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +23 -21
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +10 -4
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +20 -31
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/image-link-destinations/index.native.js +109 -0
- package/build-module/components/image-link-destinations/index.native.js.map +1 -0
- package/build-module/components/image-size-control/index.js +0 -5
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/index.native.js +1 -0
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +3 -1
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +30 -32
- package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.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 +4 -4
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +2 -2
- 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 +3 -4
- package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +2 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/menu.js +14 -7
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +2 -2
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js +89 -0
- package/build-module/components/inserter-button/index.native.js.map +1 -0
- package/build-module/components/inserter-button/sparkles.js +15 -0
- package/build-module/components/inserter-button/sparkles.js.map +1 -0
- package/build-module/components/inserter-draggable-blocks/index.js +9 -5
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js +13 -8
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +25 -23
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inserter-listbox/row.js +6 -5
- package/build-module/components/inserter-listbox/row.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/list-view/use-list-view-expand-selected-item.js +2 -3
- package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +2 -2
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/preview-options/index.js +6 -60
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/rich-text/content.js +25 -21
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js +2 -1
- package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
- package/build-module/components/rich-text/index.js +4 -32
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +11 -19
- 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 +41 -37
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-input-rules.js +36 -3
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/with-deprecations.js +42 -0
- package/build-module/components/rich-text/with-deprecations.js.map +1 -0
- package/build-module/components/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/use-block-drop-zone/index.js +73 -9
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +2 -1
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +1 -1
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-resize-canvas/index.js +4 -1
- package/build-module/components/use-resize-canvas/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +15 -3
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/hooks/align.js +19 -66
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/align.native.js +1 -0
- package/build-module/hooks/align.native.js.map +1 -1
- package/build-module/hooks/anchor.js +11 -26
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/background.js +26 -28
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-hooks.js +22 -30
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-renaming.js +36 -0
- package/build-module/hooks/block-renaming.js.map +1 -1
- package/build-module/hooks/border.js +57 -78
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +74 -86
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +27 -27
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +11 -27
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-fields.js +60 -74
- package/build-module/hooks/custom-fields.js.map +1 -1
- package/build-module/hooks/dimensions.js +21 -16
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +30 -61
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-family.js +14 -23
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +49 -119
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.js +18 -15
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/index.native.js +5 -3
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout-child.js +60 -0
- package/build-module/hooks/layout-child.js.map +1 -0
- package/build-module/hooks/layout.js +26 -105
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/padding.js +2 -2
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/position.js +38 -59
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +51 -84
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/typography.js +33 -12
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/utils.js +149 -6
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +4 -3
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/private-apis.js +0 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/private-actions.js +7 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +33 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +8 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +3 -51
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +56 -0
- package/build-module/store/utils.js.map +1 -0
- package/build-module/utils/object.js +21 -60
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/selection.js +9 -1
- package/build-module/utils/selection.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +24 -7
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +6 -6
- package/build-style/content.css +6 -6
- package/build-style/style-rtl.css +123 -298
- package/build-style/style.css +123 -298
- package/package.json +31 -31
- package/src/components/block-canvas/index.js +31 -17
- package/src/components/block-caption/README.md +2 -2
- package/src/components/block-card/index.js +5 -3
- package/src/components/block-card/style.scss +7 -3
- package/src/components/block-controls/hook.js +8 -30
- package/src/components/block-controls/test/index.js +3 -3
- package/src/components/block-edit/context.js +3 -0
- package/src/components/block-edit/index.js +36 -10
- package/src/components/block-info-slot-fill/index.js +6 -3
- package/src/components/block-inspector/style.scss +0 -4
- package/src/components/block-list/block.js +39 -5
- package/src/components/block-list/block.native.js +20 -4
- package/src/components/block-list/use-block-props/index.js +74 -21
- package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -34
- package/src/components/block-list/use-block-props/use-is-hovered.js +2 -13
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +1 -5
- package/src/components/block-parent-selector/index.js +1 -1
- package/src/components/block-pattern-setup/index.js +38 -22
- package/src/components/block-pattern-setup/setup-toolbar.js +2 -0
- package/src/components/block-pattern-setup/style.scss +4 -1
- package/src/components/block-patterns-list/README.md +4 -4
- package/src/components/block-patterns-list/index.js +61 -35
- package/src/components/block-patterns-list/style.scss +7 -0
- package/src/components/block-removal-warning-modal/index.js +7 -14
- package/src/components/block-rename/index.js +3 -0
- package/src/components/block-rename/is-empty-string.js +3 -0
- package/src/components/block-rename/modal.js +121 -0
- package/src/components/block-rename/rename-control.js +80 -0
- package/src/components/block-rename/use-block-rename.js +10 -0
- package/src/components/block-settings/container.native.js +3 -5
- package/src/components/block-settings-menu/block-settings-dropdown.js +38 -34
- package/src/components/block-settings-menu-controls/index.js +9 -0
- package/src/components/block-styles/index.js +1 -1
- package/src/components/block-styles/index.native.js +4 -2
- package/src/components/block-styles/style.scss +0 -11
- package/src/components/block-switcher/test/__snapshots__/index.js.snap +3 -1
- package/src/components/block-toolbar/block-toolbar-menu.native.js +1 -4
- package/src/components/block-toolbar/index.js +180 -95
- package/src/components/block-toolbar/style.scss +50 -66
- package/src/components/block-tools/block-toolbar-breadcrumb.js +46 -0
- package/src/components/block-tools/block-toolbar-popover.js +90 -0
- package/src/components/block-tools/index.js +42 -29
- package/src/components/block-tools/style.scss +60 -172
- package/src/components/block-types-list/index.js +5 -4
- package/src/components/block-types-list/index.native.js +2 -1
- package/src/components/block-variation-picker/index.native.js +1 -1
- package/src/components/button-block-appender/content.scss +2 -2
- package/src/components/colors-gradients/control.js +49 -30
- package/src/components/colors-gradients/style.scss +0 -7
- package/src/components/date-format-picker/index.js +7 -0
- package/src/components/duotone-control/index.js +2 -5
- package/src/components/duotone-control/style.scss +1 -6
- package/src/components/editable-text/README.md +0 -36
- package/src/components/global-styles/advanced-panel.js +1 -1
- package/src/components/global-styles/color-panel.js +34 -25
- package/src/components/global-styles/filters-panel.js +8 -4
- package/src/components/global-styles/typography-panel.js +23 -43
- package/src/components/image-link-destinations/index.native.js +152 -0
- package/src/components/image-link-destinations/style.native.scss +16 -0
- package/src/components/image-size-control/index.js +0 -6
- package/src/components/index.native.js +1 -0
- package/src/components/inner-blocks/README.md +13 -2
- package/src/components/inner-blocks/index.js +6 -2
- package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +57 -33
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +5 -1
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +7 -3
- package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +6 -1
- package/src/components/inserter/block-patterns-tab/utils.js +6 -4
- package/src/components/inserter/hooks/use-patterns-state.js +3 -1
- package/src/components/inserter/media-tab/media-panel.js +1 -1
- package/src/components/inserter/menu.js +16 -8
- package/src/components/inserter/preview-panel.js +2 -2
- package/src/components/inserter/style.scss +15 -17
- package/src/components/inserter-button/README.md +62 -0
- package/src/components/inserter-button/index.native.js +116 -0
- package/src/components/inserter-button/sparkles.js +15 -0
- package/src/components/inserter-button/style.native.scss +72 -0
- package/src/components/inserter-draggable-blocks/index.js +18 -5
- package/src/components/inserter-listbox/index.js +11 -7
- package/src/components/inserter-listbox/item.js +11 -12
- package/src/components/inserter-listbox/row.js +6 -12
- package/src/components/inspector-controls/fill.js +6 -3
- package/src/components/inspector-controls/fill.native.js +6 -3
- package/src/components/link-control/style.scss +1 -1
- package/src/components/link-control/test/index.js +1 -1
- package/src/components/list-view/use-list-view-expand-selected-item.js +7 -8
- package/src/components/navigable-toolbar/README.md +2 -0
- package/src/components/navigable-toolbar/index.js +2 -2
- package/src/components/plain-text/README.md +0 -28
- package/src/components/preview-options/index.js +6 -84
- package/src/components/rich-text/README.md +0 -58
- package/src/components/rich-text/content.js +27 -20
- package/src/components/rich-text/get-rich-text-values.js +6 -1
- package/src/components/rich-text/index.js +5 -46
- package/src/components/rich-text/index.native.js +9 -26
- package/src/components/rich-text/native/get-format-colors.native.js +33 -40
- package/src/components/rich-text/native/index.native.js +52 -50
- package/src/components/rich-text/use-input-rules.js +36 -3
- 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/url-input/README.md +1 -74
- package/src/components/use-block-drop-zone/index.js +118 -15
- package/src/components/use-moving-animation/index.js +1 -1
- package/src/components/use-on-block-drop/index.js +2 -1
- package/src/components/use-resize-canvas/README.md +3 -3
- package/src/components/use-resize-canvas/index.js +4 -1
- package/src/components/use-settings/index.js +17 -3
- package/src/components/use-settings/test/index.js +1 -1
- package/src/hooks/align.js +15 -76
- package/src/hooks/align.native.js +1 -0
- package/src/hooks/anchor.js +13 -33
- package/src/hooks/background.js +28 -23
- package/src/hooks/block-hooks.js +22 -51
- package/src/hooks/block-renaming.js +33 -0
- package/src/hooks/border.js +67 -118
- package/src/hooks/color.js +100 -132
- package/src/hooks/content-lock-ui.js +110 -122
- package/src/hooks/custom-class-name.js +8 -40
- package/src/hooks/custom-fields.js +70 -94
- package/src/hooks/dimensions.js +20 -16
- package/src/hooks/duotone.js +70 -127
- package/src/hooks/font-family.js +10 -29
- package/src/hooks/font-size.js +66 -162
- package/src/hooks/index.js +42 -15
- package/src/hooks/index.native.js +6 -3
- package/src/hooks/layout-child.js +53 -0
- package/src/hooks/layout.js +25 -110
- package/src/hooks/padding.js +2 -2
- package/src/hooks/position.js +50 -90
- package/src/hooks/style.js +117 -187
- package/src/hooks/test/__snapshots__/align.native.js.snap +5 -5
- package/src/hooks/test/align.js +1 -178
- package/src/hooks/typography.js +20 -16
- package/src/hooks/utils.js +187 -6
- package/src/layouts/constrained.js +57 -50
- package/src/private-apis.js +0 -2
- package/src/store/private-actions.js +8 -0
- package/src/store/private-selectors.js +45 -0
- package/src/store/reducer.js +8 -0
- package/src/store/selectors.js +5 -67
- package/src/store/utils.js +74 -0
- package/src/style.scss +1 -3
- package/src/utils/object.js +18 -69
- package/src/utils/selection.js +9 -2
- package/src/utils/test/transform-styles.js +49 -0
- package/src/utils/transform-styles/index.js +39 -13
- 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/block-rename-ui.js +0 -167
- package/build/hooks/block-rename-ui.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/block-rename-ui.js +0 -159
- package/build-module/hooks/block-rename-ui.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/block-rename-ui.js +0 -228
- package/src/hooks/test/color.js +0 -112
- /package/src/{hooks/block-rename-ui.scss → components/block-rename/style.scss} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_i18n","_blocks","_compose","_data","_warning","_useMovingAnimation","_blockListBlockContext","_useFocusFirstElement","_useIsHovered","_context","_useBlockClassNames","_useBlockDefaultClassName","_useBlockCustomClassName","_useBlockMovingModeClassNames","_useFocusHandler","_useSelectedBlockEventHandlers","_useNavModeExit","_useBlockRefs","_useIntersectionObserver","_store","_blockContentOverlay","_lockUnlock","BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","useContext","BlockListBlockContext","index","mode","name","blockApiVersion","blockTitle","isPartOfSelection","adjustScrolling","enableAnimation","isSubtreeDisabled","useSelect","select","getBlockAttributes","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","isBlockSubtreeDisabled","unlock","blockEditorStore","getActiveBlockVariation","blocksStore","isSelected","isPartOfMultiSelection","blockName","blockType","getBlockType","attributes","match","apiVersion","title","hasOverlay","useBlockOverlayActive","blockLabel","sprintf","__","htmlSuffix","mergedRefs","useMergeRefs","ref","useFocusFirstElement","useBlockRefProvider","useFocusHandler","useEventHandlers","useNavModeExit","useIsHovered","useIntersectionObserver","useMovingAnimation","triggerAnimationOnChange","useDisabled","isDisabled","blockEditContext","useBlockEditContext","SCRIPT_DEBUG","warning","tabIndex","id","role","inert","undefined","classnames","useBlockClassNames","useBlockDefaultClassName","useBlockCustomClassName","useBlockMovingModeClassNames","style","save","getBlockProps"],"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useDisabled } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block-list-block-context';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useBlockClassNames } from './use-block-class-names';\nimport { useBlockDefaultClassName } from './use-block-default-class-name';\nimport { useBlockCustomClassName } from './use-block-custom-class-name';\nimport { useBlockMovingModeClassNames } from './use-block-moving-mode-class-names';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\nimport useBlockOverlayActive from '../../block-content-overlay';\nimport { unlock } from '../../../lock-unlock';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * Use of this hook on the outermost element of a block is required if using API >= v2.\n *\n * @example\n * ```js\n * import { useBlockProps } from '@wordpress/block-editor';\n *\n * export default function Edit() {\n *\n * const blockProps = useBlockProps(\n * className: 'my-custom-class',\n * style: {\n * color: '#222222',\n * backgroundColor: '#eeeeee'\n * }\n * )\n *\n * return (\n *\t <div { ...blockProps }>\n *\n * </div>\n * )\n * }\n *\n * ```\n *\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst {\n\t\tclientId,\n\t\tclassName,\n\t\twrapperProps = {},\n\t\tisAligned,\n\t} = useContext( BlockListBlockContext );\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t\tisSubtreeDisabled,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst match = getActiveBlockVariation( blockName, attributes );\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: match?.title || blockType?.title,\n\t\t\t\tisPartOfSelection: isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\tisSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! isTyping() &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t\tisSubtreeDisabled: isBlockSubtreeDisabled( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst hasOverlay = useBlockOverlayActive( clientId );\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( clientId ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseEventHandlers( clientId ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t\tuseDisabled( { isDisabled: ! hasOverlay } ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\ttabIndex: 0,\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tinert: isSubtreeDisabled ? 'true' : undefined,\n\t\tclassName: classnames(\n\t\t\t// The wp-block className is important for editor styles.\n\t\t\tclassnames( 'block-editor-block-list__block', {\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t\t'has-block-overlay': hasOverlay,\n\t\t\t} ),\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tuseBlockClassNames( clientId ),\n\t\t\tuseBlockDefaultClassName( clientId ),\n\t\t\tuseBlockCustomClassName( clientId ),\n\t\t\tuseBlockMovingModeClassNames( clientId )\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_i18n","_blocks","_compose","_data","_warning","_useMovingAnimation","_blockListBlockContext","_useFocusFirstElement","_useIsHovered","_context","_useFocusHandler","_useSelectedBlockEventHandlers","_useNavModeExit","_useBlockRefs","_useIntersectionObserver","_store","_lockUnlock","BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","useContext","BlockListBlockContext","index","mode","name","blockApiVersion","blockTitle","isSelected","isPartOfSelection","adjustScrolling","enableAnimation","isSubtreeDisabled","isOutlineEnabled","hasOverlay","initialPosition","classNames","useSelect","select","getBlockAttributes","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","isBlockSubtreeDisabled","getSettings","isBlockHighlighted","__unstableIsFullySelected","__unstableSelectionHasUnmergeableBlock","isBlockBeingDragged","hasSelectedInnerBlock","hasBlockMovingClientId","canInsertBlockType","getBlockRootClientId","__unstableHasActiveBlockOverlayActive","__unstableGetEditorMode","getSelectedBlocksInitialCaretPosition","unlock","blockEditorStore","getActiveBlockVariation","blocksStore","_isSelected","isPartOfMultiSelection","blockName","blockType","getBlockType","attributes","match","outlineMode","isMultiSelected","checkDeep","isAncestorOfSelectedBlock","typing","hasLightBlockWrapper","apiVersion","movingClientId","title","undefined","classnames","isReusableBlock","getBlockDefaultClassName","blockLabel","sprintf","__","htmlSuffix","mergedRefs","useMergeRefs","ref","useFocusFirstElement","useBlockRefProvider","useFocusHandler","useEventHandlers","useNavModeExit","useIsHovered","isEnabled","useIntersectionObserver","useMovingAnimation","triggerAnimationOnChange","useDisabled","isDisabled","blockEditContext","useBlockEditContext","SCRIPT_DEBUG","warning","tabIndex","id","role","inert","style","save","getBlockProps"],"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n\tisReusableBlock,\n\tgetBlockDefaultClassName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useDisabled } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block-list-block-context';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * Use of this hook on the outermost element of a block is required if using API >= v2.\n *\n * @example\n * ```js\n * import { useBlockProps } from '@wordpress/block-editor';\n *\n * export default function Edit() {\n *\n * const blockProps = useBlockProps(\n * className: 'my-custom-class',\n * style: {\n * color: '#222222',\n * backgroundColor: '#eeeeee'\n * }\n * )\n *\n * return (\n *\t <div { ...blockProps }>\n *\n * </div>\n * )\n * }\n *\n * ```\n *\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst {\n\t\tclientId,\n\t\tclassName,\n\t\twrapperProps = {},\n\t\tisAligned,\n\t} = useContext( BlockListBlockContext );\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t\tisSubtreeDisabled,\n\t\tisOutlineEnabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tclassNames,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t\tgetSettings,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\t__unstableIsFullySelected,\n\t\t\t\t__unstableSelectionHasUnmergeableBlock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\thasBlockMovingClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\t\t\tconst _isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst match = getActiveBlockVariation( blockName, attributes );\n\t\t\tconst { outlineMode } = getSettings();\n\t\t\tconst isMultiSelected = isBlockMultiSelected( clientId );\n\t\t\tconst checkDeep = true;\n\t\t\tconst isAncestorOfSelectedBlock = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\tcheckDeep\n\t\t\t);\n\t\t\tconst typing = isTyping();\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\t\t\tconst movingClientId = hasBlockMovingClientId();\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: match?.title || blockType?.title,\n\t\t\t\tisSelected: _isSelected,\n\t\t\t\tisPartOfSelection: _isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\t_isSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! typing &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t\tisSubtreeDisabled: isBlockSubtreeDisabled( clientId ),\n\t\t\t\tisOutlineEnabled: outlineMode,\n\t\t\t\thasOverlay: __unstableHasActiveBlockOverlayActive( clientId ),\n\t\t\t\tinitialPosition:\n\t\t\t\t\t_isSelected && __unstableGetEditorMode() === 'edit'\n\t\t\t\t\t\t? getSelectedBlocksInitialCaretPosition()\n\t\t\t\t\t\t: undefined,\n\t\t\t\tclassNames: classnames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-selected': _isSelected,\n\t\t\t\t\t\t'is-highlighted': isBlockHighlighted( clientId ),\n\t\t\t\t\t\t'is-multi-selected': isMultiSelected,\n\t\t\t\t\t\t'is-partially-selected':\n\t\t\t\t\t\t\tisMultiSelected &&\n\t\t\t\t\t\t\t! __unstableIsFullySelected() &&\n\t\t\t\t\t\t\t! __unstableSelectionHasUnmergeableBlock(),\n\t\t\t\t\t\t'is-reusable': isReusableBlock( blockType ),\n\t\t\t\t\t\t'is-dragging': isBlockBeingDragged( clientId ),\n\t\t\t\t\t\t'has-child-selected': isAncestorOfSelectedBlock,\n\t\t\t\t\t\t'remove-outline': _isSelected && outlineMode && typing,\n\t\t\t\t\t\t'is-block-moving-mode': !! movingClientId,\n\t\t\t\t\t\t'can-insert-moving-block':\n\t\t\t\t\t\t\tmovingClientId &&\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tgetBlockName( movingClientId ),\n\t\t\t\t\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t\thasLightBlockWrapper ? attributes.className : undefined,\n\t\t\t\t\thasLightBlockWrapper\n\t\t\t\t\t\t? getBlockDefaultClassName( blockName )\n\t\t\t\t\t\t: undefined\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( { clientId, initialPosition } ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseEventHandlers( { clientId, isSelected } ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered( { isEnabled: isOutlineEnabled } ),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t\tuseDisabled( { isDisabled: ! hasOverlay } ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\ttabIndex: 0,\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tinert: isSubtreeDisabled ? 'true' : undefined,\n\t\tclassName: classnames(\n\t\t\t'block-editor-block-list__block',\n\t\t\t{\n\t\t\t\t// The wp-block className is important for editor styles.\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t\t'has-block-overlay': hasOverlay,\n\t\t\t},\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tclassNames\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"],"mappings":"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"}
|
|
@@ -19,33 +19,6 @@ var _store = require("../../../store");
|
|
|
19
19
|
|
|
20
20
|
/** @typedef {import('@wordpress/element').RefObject} RefObject */
|
|
21
21
|
|
|
22
|
-
/**
|
|
23
|
-
* Returns the initial position if the block needs to be focussed, `undefined`
|
|
24
|
-
* otherwise. The initial position is either 0 (start) or -1 (end).
|
|
25
|
-
*
|
|
26
|
-
* @param {string} clientId Block client ID.
|
|
27
|
-
*
|
|
28
|
-
* @return {number} The initial position, either 0 (start) or -1 (end).
|
|
29
|
-
*/
|
|
30
|
-
function useInitialPosition(clientId) {
|
|
31
|
-
return (0, _data.useSelect)(select => {
|
|
32
|
-
const {
|
|
33
|
-
getSelectedBlocksInitialCaretPosition,
|
|
34
|
-
__unstableGetEditorMode,
|
|
35
|
-
isBlockSelected
|
|
36
|
-
} = select(_store.store);
|
|
37
|
-
if (!isBlockSelected(clientId)) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
if (__unstableGetEditorMode() !== 'edit') {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// If there's no initial position, return 0 to focus the start.
|
|
45
|
-
return getSelectedBlocksInitialCaretPosition();
|
|
46
|
-
}, [clientId]);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
22
|
/**
|
|
50
23
|
* Transitions focus to the block or inner tabbable when the block becomes
|
|
51
24
|
* selected and an initial position is set.
|
|
@@ -54,9 +27,11 @@ function useInitialPosition(clientId) {
|
|
|
54
27
|
*
|
|
55
28
|
* @return {RefObject} React ref with the block element.
|
|
56
29
|
*/
|
|
57
|
-
function useFocusFirstElement(
|
|
30
|
+
function useFocusFirstElement({
|
|
31
|
+
clientId,
|
|
32
|
+
initialPosition
|
|
33
|
+
}) {
|
|
58
34
|
const ref = (0, _element.useRef)();
|
|
59
|
-
const initialPosition = useInitialPosition(clientId);
|
|
60
35
|
const {
|
|
61
36
|
isBlockSelected,
|
|
62
37
|
isMultiSelecting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_dom","_data","_dom2","_store","
|
|
1
|
+
{"version":3,"names":["_element","require","_dom","_data","_dom2","_store","useFocusFirstElement","clientId","initialPosition","ref","useRef","isBlockSelected","isMultiSelecting","useSelect","blockEditorStore","useEffect","undefined","current","ownerDocument","isInsideRootBlock","activeElement","textInputs","focus","tabbable","find","filter","node","isTextField","isReverse","target","length","getAttribute","focusElement","findNext","isFormElement","placeCaretAtHorizontalEdge"],"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/use-focus-first-element.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tfocus,\n\tisFormElement,\n\tisTextField,\n\tplaceCaretAtHorizontalEdge,\n} from '@wordpress/dom';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { isInsideRootBlock } from '../../../utils/dom';\nimport { store as blockEditorStore } from '../../../store';\n\n/** @typedef {import('@wordpress/element').RefObject} RefObject */\n\n/**\n * Transitions focus to the block or inner tabbable when the block becomes\n * selected and an initial position is set.\n *\n * @param {string} clientId Block client ID.\n *\n * @return {RefObject} React ref with the block element.\n */\nexport function useFocusFirstElement( { clientId, initialPosition } ) {\n\tconst ref = useRef();\n\tconst { isBlockSelected, isMultiSelecting } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\t// Check if the block is still selected at the time this effect runs.\n\t\tif ( ! isBlockSelected( clientId ) || isMultiSelecting() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( initialPosition === undefined || initialPosition === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! ref.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { ownerDocument } = ref.current;\n\n\t\t// Do not focus the block if it already contains the active element.\n\t\tif ( isInsideRootBlock( ref.current, ownerDocument.activeElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find all tabbables within node.\n\t\tconst textInputs = focus.tabbable\n\t\t\t.find( ref.current )\n\t\t\t.filter( ( node ) => isTextField( node ) );\n\n\t\t// If reversed (e.g. merge via backspace), use the last in the set of\n\t\t// tabbables.\n\t\tconst isReverse = -1 === initialPosition;\n\t\tconst target =\n\t\t\ttextInputs[ isReverse ? textInputs.length - 1 : 0 ] || ref.current;\n\n\t\tif ( ! isInsideRootBlock( ref.current, target ) ) {\n\t\t\tref.current.focus();\n\t\t\treturn;\n\t\t}\n\n\t\t// Check to see if element is focussable before a generic caret insert.\n\t\tif ( ! ref.current.getAttribute( 'contenteditable' ) ) {\n\t\t\tconst focusElement = focus.tabbable.findNext( ref.current );\n\t\t\t// Make sure focusElement is valid, contained in the same block, and a form field.\n\t\t\tif (\n\t\t\t\tfocusElement &&\n\t\t\t\tisInsideRootBlock( ref.current, focusElement ) &&\n\t\t\t\tisFormElement( focusElement )\n\t\t\t) {\n\t\t\t\tfocusElement.focus();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tplaceCaretAtHorizontalEdge( target, isReverse );\n\t}, [ initialPosition, clientId ] );\n\n\treturn ref;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAMA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAhBA;AACA;AACA;;AAUA;AACA;AACA;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,oBAAoBA,CAAE;EAAEC,QAAQ;EAAEC;AAAgB,CAAC,EAAG;EACrE,MAAMC,GAAG,GAAG,IAAAC,eAAM,EAAC,CAAC;EACpB,MAAM;IAAEC,eAAe;IAAEC;EAAiB,CAAC,GAAG,IAAAC,eAAS,EAAEC,YAAiB,CAAC;EAE3E,IAAAC,kBAAS,EAAE,MAAM;IAChB;IACA,IAAK,CAAEJ,eAAe,CAAEJ,QAAS,CAAC,IAAIK,gBAAgB,CAAC,CAAC,EAAG;MAC1D;IACD;IAEA,IAAKJ,eAAe,KAAKQ,SAAS,IAAIR,eAAe,KAAK,IAAI,EAAG;MAChE;IACD;IAEA,IAAK,CAAEC,GAAG,CAACQ,OAAO,EAAG;MACpB;IACD;IAEA,MAAM;MAAEC;IAAc,CAAC,GAAGT,GAAG,CAACQ,OAAO;;IAErC;IACA,IAAK,IAAAE,uBAAiB,EAAEV,GAAG,CAACQ,OAAO,EAAEC,aAAa,CAACE,aAAc,CAAC,EAAG;MACpE;IACD;;IAEA;IACA,MAAMC,UAAU,GAAGC,UAAK,CAACC,QAAQ,CAC/BC,IAAI,CAAEf,GAAG,CAACQ,OAAQ,CAAC,CACnBQ,MAAM,CAAIC,IAAI,IAAM,IAAAC,gBAAW,EAAED,IAAK,CAAE,CAAC;;IAE3C;IACA;IACA,MAAME,SAAS,GAAG,CAAC,CAAC,KAAKpB,eAAe;IACxC,MAAMqB,MAAM,GACXR,UAAU,CAAEO,SAAS,GAAGP,UAAU,CAACS,MAAM,GAAG,CAAC,GAAG,CAAC,CAAE,IAAIrB,GAAG,CAACQ,OAAO;IAEnE,IAAK,CAAE,IAAAE,uBAAiB,EAAEV,GAAG,CAACQ,OAAO,EAAEY,MAAO,CAAC,EAAG;MACjDpB,GAAG,CAACQ,OAAO,CAACK,KAAK,CAAC,CAAC;MACnB;IACD;;IAEA;IACA,IAAK,CAAEb,GAAG,CAACQ,OAAO,CAACc,YAAY,CAAE,iBAAkB,CAAC,EAAG;MACtD,MAAMC,YAAY,GAAGV,UAAK,CAACC,QAAQ,CAACU,QAAQ,CAAExB,GAAG,CAACQ,OAAQ,CAAC;MAC3D;MACA,IACCe,YAAY,IACZ,IAAAb,uBAAiB,EAAEV,GAAG,CAACQ,OAAO,EAAEe,YAAa,CAAC,IAC9C,IAAAE,kBAAa,EAAEF,YAAa,CAAC,EAC5B;QACDA,YAAY,CAACV,KAAK,CAAC,CAAC;QACpB;MACD;IACD;IAEA,IAAAa,+BAA0B,EAAEN,MAAM,EAAED,SAAU,CAAC;EAChD,CAAC,EAAE,CAAEpB,eAAe,EAAED,QAAQ,CAAG,CAAC;EAElC,OAAOE,GAAG;AACX"}
|
|
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useIsHovered = useIsHovered;
|
|
7
|
-
var _data = require("@wordpress/data");
|
|
8
7
|
var _compose = require("@wordpress/compose");
|
|
9
|
-
var _store = require("../../../store");
|
|
10
8
|
/**
|
|
11
9
|
* WordPress dependencies
|
|
12
10
|
*/
|
|
13
11
|
|
|
14
|
-
/**
|
|
15
|
-
* Internal dependencies
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
12
|
function listener(event) {
|
|
19
13
|
if (event.defaultPrevented) {
|
|
20
14
|
return;
|
|
@@ -24,17 +18,13 @@ function listener(event) {
|
|
|
24
18
|
event.currentTarget.classList[action]('is-hovered');
|
|
25
19
|
}
|
|
26
20
|
|
|
27
|
-
|
|
21
|
+
/*
|
|
28
22
|
* Adds `is-hovered` class when the block is hovered and in navigation or
|
|
29
23
|
* outline mode.
|
|
30
24
|
*/
|
|
31
|
-
function useIsHovered(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
getSettings
|
|
35
|
-
} = select(_store.store);
|
|
36
|
-
return getSettings().outlineMode;
|
|
37
|
-
}, []);
|
|
25
|
+
function useIsHovered({
|
|
26
|
+
isEnabled
|
|
27
|
+
}) {
|
|
38
28
|
return (0, _compose.useRefEffect)(node => {
|
|
39
29
|
if (isEnabled) {
|
|
40
30
|
node.addEventListener('mouseout', listener);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_compose","require","listener","event","defaultPrevented","action","type","preventDefault","currentTarget","classList","useIsHovered","isEnabled","useRefEffect","node","addEventListener","removeEventListener","remove"],"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/use-is-hovered.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\n\nfunction listener( event ) {\n\tif ( event.defaultPrevented ) {\n\t\treturn;\n\t}\n\n\tconst action = event.type === 'mouseover' ? 'add' : 'remove';\n\n\tevent.preventDefault();\n\tevent.currentTarget.classList[ action ]( 'is-hovered' );\n}\n\n/*\n * Adds `is-hovered` class when the block is hovered and in navigation or\n * outline mode.\n */\nexport function useIsHovered( { isEnabled } ) {\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( isEnabled ) {\n\t\t\t\tnode.addEventListener( 'mouseout', listener );\n\t\t\t\tnode.addEventListener( 'mouseover', listener );\n\n\t\t\t\treturn () => {\n\t\t\t\t\tnode.removeEventListener( 'mouseout', listener );\n\t\t\t\t\tnode.removeEventListener( 'mouseover', listener );\n\n\t\t\t\t\t// Remove class in case it lingers.\n\t\t\t\t\tnode.classList.remove( 'is-hovered' );\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\t[ isEnabled ]\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA,SAASC,QAAQA,CAAEC,KAAK,EAAG;EAC1B,IAAKA,KAAK,CAACC,gBAAgB,EAAG;IAC7B;EACD;EAEA,MAAMC,MAAM,GAAGF,KAAK,CAACG,IAAI,KAAK,WAAW,GAAG,KAAK,GAAG,QAAQ;EAE5DH,KAAK,CAACI,cAAc,CAAC,CAAC;EACtBJ,KAAK,CAACK,aAAa,CAACC,SAAS,CAAEJ,MAAM,CAAE,CAAE,YAAa,CAAC;AACxD;;AAEA;AACA;AACA;AACA;AACO,SAASK,YAAYA,CAAE;EAAEC;AAAU,CAAC,EAAG;EAC7C,OAAO,IAAAC,qBAAY,EAChBC,IAAI,IAAM;IACX,IAAKF,SAAS,EAAG;MAChBE,IAAI,CAACC,gBAAgB,CAAE,UAAU,EAAEZ,QAAS,CAAC;MAC7CW,IAAI,CAACC,gBAAgB,CAAE,WAAW,EAAEZ,QAAS,CAAC;MAE9C,OAAO,MAAM;QACZW,IAAI,CAACE,mBAAmB,CAAE,UAAU,EAAEb,QAAS,CAAC;QAChDW,IAAI,CAACE,mBAAmB,CAAE,WAAW,EAAEb,QAAS,CAAC;;QAEjD;QACAW,IAAI,CAACJ,SAAS,CAACO,MAAM,CAAE,YAAa,CAAC;MACtC,CAAC;IACF;EACD,CAAC,EACD,CAAEL,SAAS,CACZ,CAAC;AACF"}
|
|
@@ -25,8 +25,10 @@ var _store = require("../../../store");
|
|
|
25
25
|
*
|
|
26
26
|
* @param {string} clientId Block client ID.
|
|
27
27
|
*/
|
|
28
|
-
function useEventHandlers(
|
|
29
|
-
|
|
28
|
+
function useEventHandlers({
|
|
29
|
+
clientId,
|
|
30
|
+
isSelected
|
|
31
|
+
}) {
|
|
30
32
|
const {
|
|
31
33
|
getBlockRootClientId,
|
|
32
34
|
getBlockIndex
|
package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_dom","require","_keycodes","_data","_compose","_store","useEventHandlers","clientId","isSelected","
|
|
1
|
+
{"version":3,"names":["_dom","require","_keycodes","_data","_compose","_store","useEventHandlers","clientId","isSelected","getBlockRootClientId","getBlockIndex","useSelect","blockEditorStore","insertDefaultBlock","removeBlock","useDispatch","useRefEffect","node","onKeyDown","event","keyCode","target","ENTER","BACKSPACE","DELETE","isTextField","preventDefault","onDragStart","addEventListener","removeEventListener"],"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/use-selected-block-event-handlers.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isTextField } from '@wordpress/dom';\nimport { ENTER, BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * Adds block behaviour:\n * - Removes the block on BACKSPACE.\n * - Inserts a default block on ENTER.\n * - Disables dragging of block contents.\n *\n * @param {string} clientId Block client ID.\n */\nexport function useEventHandlers( { clientId, isSelected } ) {\n\tconst { getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst { insertDefaultBlock, removeBlock } = useDispatch( blockEditorStore );\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Interprets keydown event intent to remove or insert after block if\n\t\t\t * key event occurs on wrapper node. This can occur when the block has\n\t\t\t * no text fields of its own, particularly after initial insertion, to\n\t\t\t * allow for easy deletion and continuous writing flow to add additional\n\t\t\t * content.\n\t\t\t *\n\t\t\t * @param {KeyboardEvent} event Keydown event.\n\t\t\t */\n\t\t\tfunction onKeyDown( event ) {\n\t\t\t\tconst { keyCode, target } = event;\n\n\t\t\t\tif (\n\t\t\t\t\tkeyCode !== ENTER &&\n\t\t\t\t\tkeyCode !== BACKSPACE &&\n\t\t\t\t\tkeyCode !== DELETE\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( target !== node || isTextField( target ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif ( keyCode === ENTER ) {\n\t\t\t\t\tinsertDefaultBlock(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tgetBlockRootClientId( clientId ),\n\t\t\t\t\t\tgetBlockIndex( clientId ) + 1\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Prevents default dragging behavior within a block. To do: we must\n\t\t\t * handle this in the future and clean up the drag target.\n\t\t\t *\n\t\t\t * @param {DragEvent} event Drag event.\n\t\t\t */\n\t\t\tfunction onDragStart( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\t\tnode.addEventListener( 'dragstart', onDragStart );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\t\tnode.removeEventListener( 'dragstart', onDragStart );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tclientId,\n\t\t\tisSelected,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockIndex,\n\t\t\tinsertDefaultBlock,\n\t\t\tremoveBlock,\n\t\t]\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,gBAAgBA,CAAE;EAAEC,QAAQ;EAAEC;AAAW,CAAC,EAAG;EAC5D,MAAM;IAAEC,oBAAoB;IAAEC;EAAc,CAAC,GAC5C,IAAAC,eAAS,EAAEC,YAAiB,CAAC;EAC9B,MAAM;IAAEC,kBAAkB;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEH,YAAiB,CAAC;EAE3E,OAAO,IAAAI,qBAAY,EAChBC,IAAI,IAAM;IACX,IAAK,CAAET,UAAU,EAAG;MACnB;IACD;;IAEA;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACG,SAASU,SAASA,CAAEC,KAAK,EAAG;MAC3B,MAAM;QAAEC,OAAO;QAAEC;MAAO,CAAC,GAAGF,KAAK;MAEjC,IACCC,OAAO,KAAKE,eAAK,IACjBF,OAAO,KAAKG,mBAAS,IACrBH,OAAO,KAAKI,gBAAM,EACjB;QACD;MACD;MAEA,IAAKH,MAAM,KAAKJ,IAAI,IAAI,IAAAQ,gBAAW,EAAEJ,MAAO,CAAC,EAAG;QAC/C;MACD;MAEAF,KAAK,CAACO,cAAc,CAAC,CAAC;MAEtB,IAAKN,OAAO,KAAKE,eAAK,EAAG;QACxBT,kBAAkB,CACjB,CAAC,CAAC,EACFJ,oBAAoB,CAAEF,QAAS,CAAC,EAChCG,aAAa,CAAEH,QAAS,CAAC,GAAG,CAC7B,CAAC;MACF,CAAC,MAAM;QACNO,WAAW,CAAEP,QAAS,CAAC;MACxB;IACD;;IAEA;AACH;AACA;AACA;AACA;AACA;IACG,SAASoB,WAAWA,CAAER,KAAK,EAAG;MAC7BA,KAAK,CAACO,cAAc,CAAC,CAAC;IACvB;IAEAT,IAAI,CAACW,gBAAgB,CAAE,SAAS,EAAEV,SAAU,CAAC;IAC7CD,IAAI,CAACW,gBAAgB,CAAE,WAAW,EAAED,WAAY,CAAC;IAEjD,OAAO,MAAM;MACZV,IAAI,CAACY,mBAAmB,CAAE,SAAS,EAAEX,SAAU,CAAC;MAChDD,IAAI,CAACY,mBAAmB,CAAE,WAAW,EAAEF,WAAY,CAAC;IACrD,CAAC;EACF,CAAC,EACD,CACCpB,QAAQ,EACRC,UAAU,EACVC,oBAAoB,EACpBC,aAAa,EACbG,kBAAkB,EAClBC,WAAW,CAEb,CAAC;AACF"}
|
|
@@ -77,7 +77,7 @@ function BlockParentSelector() {
|
|
|
77
77
|
className: "block-editor-block-parent-selector__button",
|
|
78
78
|
onClick: () => selectBlock(firstParentClientId),
|
|
79
79
|
label: (0, _i18n.sprintf)( /* translators: %s: Name of the block's parent. */
|
|
80
|
-
(0, _i18n.__)('Select %s'), blockInformation?.title),
|
|
80
|
+
(0, _i18n.__)('Select parent block: %s'), blockInformation?.title),
|
|
81
81
|
showTooltip: true,
|
|
82
82
|
icon: (0, _react.createElement)(_blockIcon.default, {
|
|
83
83
|
icon: blockInformation?.icon
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","_components","_data","_i18n","_element","_useBlockDisplayInformation","_interopRequireDefault","_blockIcon","_utils","_store","BlockParentSelector","selectBlock","useDispatch","blockEditorStore","firstParentClientId","isVisible","useSelect","select","getBlockName","getBlockParents","getSelectedBlockClientId","getBlockEditingMode","hasBlockSupport","blocksStore","selectedBlockClientId","parents","_firstParentClientId","length","parentBlockName","_parentBlockType","getBlockType","blockInformation","useBlockDisplayInformation","nodeRef","useRef","showHoveredOrFocusedGestures","useShowHoveredOrFocusedGestures","ref","highlightParent","_react","createElement","className","key","ToolbarButton","onClick","label","sprintf","__","title","showTooltip","icon","default"],"sources":["@wordpress/block-editor/src/components/block-parent-selector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType, store as blocksStore } from '@wordpress/blocks';\nimport { ToolbarButton } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport BlockIcon from '../block-icon';\nimport { useShowHoveredOrFocusedGestures } from '../block-toolbar/utils';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Block parent selector component, displaying the hierarchy of the\n * current block selection as a single icon to \"go up\" a level.\n *\n * @return {Component} Parent block selector.\n */\nexport default function BlockParentSelector() {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst { firstParentClientId, isVisible } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockEditingMode,\n\t\t} = select( blockEditorStore );\n\t\tconst { hasBlockSupport } = select( blocksStore );\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst _firstParentClientId = parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( _firstParentClientId );\n\t\tconst _parentBlockType = getBlockType( parentBlockName );\n\t\treturn {\n\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\tisVisible:\n\t\t\t\t_firstParentClientId &&\n\t\t\t\tgetBlockEditingMode( _firstParentClientId ) === 'default' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\t_parentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t};\n\t}, [] );\n\tconst blockInformation = useBlockDisplayInformation( firstParentClientId );\n\n\t// Allows highlighting the parent block outline when focusing or hovering\n\t// the parent block selector within the child.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t\thighlightParent: true,\n\t} );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-block-parent-selector\"\n\t\t\tkey={ firstParentClientId }\n\t\t\tref={ nodeRef }\n\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t>\n\t\t\t<ToolbarButton\n\t\t\t\tclassName=\"block-editor-block-parent-selector__button\"\n\t\t\t\tonClick={ () => selectBlock( firstParentClientId ) }\n\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t/* translators: %s: Name of the block's parent. */\n\t\t\t\t\t__( 'Select %s' ),\n\t\t\t\t\tblockInformation?.title\n\t\t\t\t) }\n\t\t\t\tshowTooltip\n\t\t\t\ticon={ <BlockIcon icon={ blockInformation?.icon } /> }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,2BAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,UAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AAfA;AACA;AACA;;AAOA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACe,SAASU,mBAAmBA,CAAA,EAAG;EAC7C,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAiB,CAAC;EACvD,MAAM;IAAEC,mBAAmB;IAAEC;EAAU,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACnE,MAAM;MACLC,YAAY;MACZC,eAAe;MACfC,wBAAwB;MACxBC;IACD,CAAC,GAAGJ,MAAM,CAAEJ,YAAiB,CAAC;IAC9B,MAAM;MAAES;IAAgB,CAAC,GAAGL,MAAM,CAAEM,aAAY,CAAC;IACjD,MAAMC,qBAAqB,GAAGJ,wBAAwB,CAAC,CAAC;IACxD,MAAMK,OAAO,GAAGN,eAAe,CAAEK,qBAAsB,CAAC;IACxD,MAAME,oBAAoB,GAAGD,OAAO,CAAEA,OAAO,CAACE,MAAM,GAAG,CAAC,CAAE;IAC1D,MAAMC,eAAe,GAAGV,YAAY,CAAEQ,oBAAqB,CAAC;IAC5D,MAAMG,gBAAgB,GAAG,IAAAC,oBAAY,EAAEF,eAAgB,CAAC;IACxD,OAAO;MACNd,mBAAmB,EAAEY,oBAAoB;MACzCX,SAAS,EACRW,oBAAoB,IACpBL,mBAAmB,CAAEK,oBAAqB,CAAC,KAAK,SAAS,IACzDJ,eAAe,CACdO,gBAAgB,EAChB,8BAA8B,EAC9B,IACD;IACF,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAME,gBAAgB,GAAG,IAAAC,mCAA0B,EAAElB,mBAAoB,CAAC;;EAE1E;EACA;EACA,MAAMmB,OAAO,GAAG,IAAAC,eAAM,EAAC,CAAC;EACxB,MAAMC,4BAA4B,GAAG,IAAAC,sCAA+B,EAAE;IACrEC,GAAG,EAAEJ,OAAO;IACZK,eAAe,EAAE;EAClB,CAAE,CAAC;EAEH,IAAK,CAAEvB,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAwB,MAAA,CAAAC,aAAA;IACCC,SAAS,EAAC,oCAAoC;IAC9CC,GAAG,EAAG5B,mBAAqB;IAC3BuB,GAAG,EAAGJ,OAAS;IAAA,GACVE;EAA4B,GAEjC,IAAAI,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA0C,aAAa;IACbF,SAAS,EAAC,4CAA4C;IACtDG,OAAO,EAAGA,CAAA,KAAMjC,WAAW,CAAEG,mBAAoB,CAAG;IACpD+B,KAAK,EAAG,IAAAC,aAAO,GACd;IACA,IAAAC,QAAE,EAAE,
|
|
1
|
+
{"version":3,"names":["_blocks","require","_components","_data","_i18n","_element","_useBlockDisplayInformation","_interopRequireDefault","_blockIcon","_utils","_store","BlockParentSelector","selectBlock","useDispatch","blockEditorStore","firstParentClientId","isVisible","useSelect","select","getBlockName","getBlockParents","getSelectedBlockClientId","getBlockEditingMode","hasBlockSupport","blocksStore","selectedBlockClientId","parents","_firstParentClientId","length","parentBlockName","_parentBlockType","getBlockType","blockInformation","useBlockDisplayInformation","nodeRef","useRef","showHoveredOrFocusedGestures","useShowHoveredOrFocusedGestures","ref","highlightParent","_react","createElement","className","key","ToolbarButton","onClick","label","sprintf","__","title","showTooltip","icon","default"],"sources":["@wordpress/block-editor/src/components/block-parent-selector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType, store as blocksStore } from '@wordpress/blocks';\nimport { ToolbarButton } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport BlockIcon from '../block-icon';\nimport { useShowHoveredOrFocusedGestures } from '../block-toolbar/utils';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Block parent selector component, displaying the hierarchy of the\n * current block selection as a single icon to \"go up\" a level.\n *\n * @return {Component} Parent block selector.\n */\nexport default function BlockParentSelector() {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst { firstParentClientId, isVisible } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockEditingMode,\n\t\t} = select( blockEditorStore );\n\t\tconst { hasBlockSupport } = select( blocksStore );\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst _firstParentClientId = parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( _firstParentClientId );\n\t\tconst _parentBlockType = getBlockType( parentBlockName );\n\t\treturn {\n\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\tisVisible:\n\t\t\t\t_firstParentClientId &&\n\t\t\t\tgetBlockEditingMode( _firstParentClientId ) === 'default' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\t_parentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t};\n\t}, [] );\n\tconst blockInformation = useBlockDisplayInformation( firstParentClientId );\n\n\t// Allows highlighting the parent block outline when focusing or hovering\n\t// the parent block selector within the child.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t\thighlightParent: true,\n\t} );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-block-parent-selector\"\n\t\t\tkey={ firstParentClientId }\n\t\t\tref={ nodeRef }\n\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t>\n\t\t\t<ToolbarButton\n\t\t\t\tclassName=\"block-editor-block-parent-selector__button\"\n\t\t\t\tonClick={ () => selectBlock( firstParentClientId ) }\n\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t/* translators: %s: Name of the block's parent. */\n\t\t\t\t\t__( 'Select parent block: %s' ),\n\t\t\t\t\tblockInformation?.title\n\t\t\t\t) }\n\t\t\t\tshowTooltip\n\t\t\t\ticon={ <BlockIcon icon={ blockInformation?.icon } /> }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,2BAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,UAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AAfA;AACA;AACA;;AAOA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACe,SAASU,mBAAmBA,CAAA,EAAG;EAC7C,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAiB,CAAC;EACvD,MAAM;IAAEC,mBAAmB;IAAEC;EAAU,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACnE,MAAM;MACLC,YAAY;MACZC,eAAe;MACfC,wBAAwB;MACxBC;IACD,CAAC,GAAGJ,MAAM,CAAEJ,YAAiB,CAAC;IAC9B,MAAM;MAAES;IAAgB,CAAC,GAAGL,MAAM,CAAEM,aAAY,CAAC;IACjD,MAAMC,qBAAqB,GAAGJ,wBAAwB,CAAC,CAAC;IACxD,MAAMK,OAAO,GAAGN,eAAe,CAAEK,qBAAsB,CAAC;IACxD,MAAME,oBAAoB,GAAGD,OAAO,CAAEA,OAAO,CAACE,MAAM,GAAG,CAAC,CAAE;IAC1D,MAAMC,eAAe,GAAGV,YAAY,CAAEQ,oBAAqB,CAAC;IAC5D,MAAMG,gBAAgB,GAAG,IAAAC,oBAAY,EAAEF,eAAgB,CAAC;IACxD,OAAO;MACNd,mBAAmB,EAAEY,oBAAoB;MACzCX,SAAS,EACRW,oBAAoB,IACpBL,mBAAmB,CAAEK,oBAAqB,CAAC,KAAK,SAAS,IACzDJ,eAAe,CACdO,gBAAgB,EAChB,8BAA8B,EAC9B,IACD;IACF,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAME,gBAAgB,GAAG,IAAAC,mCAA0B,EAAElB,mBAAoB,CAAC;;EAE1E;EACA;EACA,MAAMmB,OAAO,GAAG,IAAAC,eAAM,EAAC,CAAC;EACxB,MAAMC,4BAA4B,GAAG,IAAAC,sCAA+B,EAAE;IACrEC,GAAG,EAAEJ,OAAO;IACZK,eAAe,EAAE;EAClB,CAAE,CAAC;EAEH,IAAK,CAAEvB,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAwB,MAAA,CAAAC,aAAA;IACCC,SAAS,EAAC,oCAAoC;IAC9CC,GAAG,EAAG5B,mBAAqB;IAC3BuB,GAAG,EAAGJ,OAAS;IAAA,GACVE;EAA4B,GAEjC,IAAAI,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA0C,aAAa;IACbF,SAAS,EAAC,4CAA4C;IACtDG,OAAO,EAAGA,CAAA,KAAMjC,WAAW,CAAEG,mBAAoB,CAAG;IACpD+B,KAAK,EAAG,IAAAC,aAAO,GACd;IACA,IAAAC,QAAE,EAAE,yBAA0B,CAAC,EAC/BhB,gBAAgB,EAAEiB,KACnB,CAAG;IACHC,WAAW;IACXC,IAAI,EAAG,IAAAX,MAAA,CAAAC,aAAA,EAACjC,UAAA,CAAA4C,OAAS;MAACD,IAAI,EAAGnB,gBAAgB,EAAEmB;IAAM,CAAE;EAAG,CACtD,CACG,CAAC;AAER"}
|
|
@@ -17,6 +17,7 @@ var _blockPreview = _interopRequireDefault(require("../block-preview"));
|
|
|
17
17
|
var _setupToolbar = _interopRequireDefault(require("./setup-toolbar"));
|
|
18
18
|
var _usePatternsSetup = _interopRequireDefault(require("./use-patterns-setup"));
|
|
19
19
|
var _constants = require("./constants");
|
|
20
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
20
21
|
/**
|
|
21
22
|
* WordPress dependencies
|
|
22
23
|
*/
|
|
@@ -25,6 +26,11 @@ var _constants = require("./constants");
|
|
|
25
26
|
* Internal dependencies
|
|
26
27
|
*/
|
|
27
28
|
|
|
29
|
+
const {
|
|
30
|
+
CompositeV2: Composite,
|
|
31
|
+
CompositeItemV2: CompositeItem,
|
|
32
|
+
useCompositeStoreV2: useCompositeStore
|
|
33
|
+
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
28
34
|
const SetupContent = ({
|
|
29
35
|
viewMode,
|
|
30
36
|
activeSlide,
|
|
@@ -32,7 +38,7 @@ const SetupContent = ({
|
|
|
32
38
|
onBlockPatternSelect,
|
|
33
39
|
showTitles
|
|
34
40
|
}) => {
|
|
35
|
-
const
|
|
41
|
+
const compositeStore = useCompositeStore();
|
|
36
42
|
const containerClass = 'block-editor-block-pattern-setup__container';
|
|
37
43
|
if (viewMode === _constants.VIEWMODES.carousel) {
|
|
38
44
|
const slideClass = new Map([[activeSlide, 'active-slide'], [activeSlide - 1, 'previous-slide'], [activeSlide + 1, 'next-slide']]);
|
|
@@ -40,9 +46,10 @@ const SetupContent = ({
|
|
|
40
46
|
className: "block-editor-block-pattern-setup__carousel"
|
|
41
47
|
}, (0, _react.createElement)("div", {
|
|
42
48
|
className: containerClass
|
|
43
|
-
}, (0, _react.createElement)("
|
|
49
|
+
}, (0, _react.createElement)("div", {
|
|
44
50
|
className: "carousel-container"
|
|
45
51
|
}, patterns.map((pattern, index) => (0, _react.createElement)(BlockPatternSlide, {
|
|
52
|
+
active: index === activeSlide,
|
|
46
53
|
className: slideClass.get(index) || '',
|
|
47
54
|
key: pattern.name,
|
|
48
55
|
pattern: pattern
|
|
@@ -50,8 +57,8 @@ const SetupContent = ({
|
|
|
50
57
|
}
|
|
51
58
|
return (0, _react.createElement)("div", {
|
|
52
59
|
className: "block-editor-block-pattern-setup__grid"
|
|
53
|
-
}, (0, _react.createElement)(
|
|
54
|
-
|
|
60
|
+
}, (0, _react.createElement)(Composite, {
|
|
61
|
+
store: compositeStore,
|
|
55
62
|
role: "listbox",
|
|
56
63
|
className: containerClass,
|
|
57
64
|
"aria-label": (0, _i18n.__)('Patterns list')
|
|
@@ -59,14 +66,12 @@ const SetupContent = ({
|
|
|
59
66
|
key: pattern.name,
|
|
60
67
|
pattern: pattern,
|
|
61
68
|
onSelect: onBlockPatternSelect,
|
|
62
|
-
composite: composite,
|
|
63
69
|
showTitles: showTitles
|
|
64
70
|
}))));
|
|
65
71
|
};
|
|
66
72
|
function BlockPattern({
|
|
67
73
|
pattern,
|
|
68
74
|
onSelect,
|
|
69
|
-
composite,
|
|
70
75
|
showTitles
|
|
71
76
|
}) {
|
|
72
77
|
const baseClassName = 'block-editor-block-pattern-setup-list';
|
|
@@ -77,14 +82,15 @@ function BlockPattern({
|
|
|
77
82
|
} = pattern;
|
|
78
83
|
const descriptionId = (0, _compose.useInstanceId)(BlockPattern, `${baseClassName}__item-description`);
|
|
79
84
|
return (0, _react.createElement)("div", {
|
|
80
|
-
className: `${baseClassName}__list-item
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
85
|
+
className: `${baseClassName}__list-item`
|
|
86
|
+
}, (0, _react.createElement)(CompositeItem, {
|
|
87
|
+
render: (0, _react.createElement)("div", {
|
|
88
|
+
"aria-describedby": description ? descriptionId : undefined,
|
|
89
|
+
"aria-label": pattern.title,
|
|
90
|
+
className: `${baseClassName}__item`
|
|
91
|
+
}),
|
|
92
|
+
id: `${baseClassName}__pattern__${pattern.name}`,
|
|
84
93
|
role: "option",
|
|
85
|
-
as: "div",
|
|
86
|
-
...composite,
|
|
87
|
-
className: `${baseClassName}__item`,
|
|
88
94
|
onClick: () => onSelect(blocks)
|
|
89
95
|
}, (0, _react.createElement)(_blockPreview.default, {
|
|
90
96
|
blocks: blocks,
|
|
@@ -96,6 +102,7 @@ function BlockPattern({
|
|
|
96
102
|
}, description)));
|
|
97
103
|
}
|
|
98
104
|
function BlockPatternSlide({
|
|
105
|
+
active,
|
|
99
106
|
className,
|
|
100
107
|
pattern,
|
|
101
108
|
minHeight
|
|
@@ -106,7 +113,9 @@ function BlockPatternSlide({
|
|
|
106
113
|
description
|
|
107
114
|
} = pattern;
|
|
108
115
|
const descriptionId = (0, _compose.useInstanceId)(BlockPatternSlide, 'block-editor-block-pattern-setup-list__item-description');
|
|
109
|
-
return (0, _react.createElement)("
|
|
116
|
+
return (0, _react.createElement)("div", {
|
|
117
|
+
"aria-hidden": !active,
|
|
118
|
+
role: "img",
|
|
110
119
|
className: `pattern-slide ${className}`,
|
|
111
120
|
"aria-label": title,
|
|
112
121
|
"aria-describedby": description ? descriptionId : undefined
|
|
@@ -153,10 +162,10 @@ const BlockPatternSetup = ({
|
|
|
153
162
|
activeSlide: activeSlide,
|
|
154
163
|
totalSlides: patterns.length,
|
|
155
164
|
handleNext: () => {
|
|
156
|
-
setActiveSlide(active => active + 1);
|
|
165
|
+
setActiveSlide(active => Math.min(active + 1, patterns.length - 1));
|
|
157
166
|
},
|
|
158
167
|
handlePrevious: () => {
|
|
159
|
-
setActiveSlide(active => active - 1);
|
|
168
|
+
setActiveSlide(active => Math.max(active - 1, 0));
|
|
160
169
|
},
|
|
161
170
|
onBlockPatternSelect: () => {
|
|
162
171
|
onPatternSelectCallback(patterns[activeSlide].blocks);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_blocks","_components","_element","_compose","_i18n","_store","_blockPreview","_interopRequireDefault","_setupToolbar","_usePatternsSetup","_constants","SetupContent","viewMode","activeSlide","patterns","onBlockPatternSelect","showTitles","composite","useCompositeState","containerClass","VIEWMODES","carousel","slideClass","Map","_react","createElement","className","map","pattern","index","BlockPatternSlide","get","key","name","__unstableComposite","role","__","BlockPattern","onSelect","baseClassName","blocks","description","viewportWidth","descriptionId","useInstanceId","title","undefined","__unstableCompositeItem","as","onClick","default","VisuallyHidden","id","minHeight","BlockPatternSetup","clientId","blockName","filterPatternsFn","initialViewMode","setViewMode","useState","setActiveSlide","replaceBlock","useDispatch","blockEditorStore","usePatternsSetup","length","onBlockPatternSelectDefault","clonedBlocks","block","cloneBlock","onPatternSelectCallback","Fragment","totalSlides","handleNext","active","handlePrevious","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-pattern-setup/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { cloneBlock } from '@wordpress/blocks';\nimport {\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\n\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockPreview from '../block-preview';\nimport SetupToolbar from './setup-toolbar';\nimport usePatternsSetup from './use-patterns-setup';\nimport { VIEWMODES } from './constants';\n\nconst SetupContent = ( {\n\tviewMode,\n\tactiveSlide,\n\tpatterns,\n\tonBlockPatternSelect,\n\tshowTitles,\n} ) => {\n\tconst composite = useCompositeState();\n\tconst containerClass = 'block-editor-block-pattern-setup__container';\n\tif ( viewMode === VIEWMODES.carousel ) {\n\t\tconst slideClass = new Map( [\n\t\t\t[ activeSlide, 'active-slide' ],\n\t\t\t[ activeSlide - 1, 'previous-slide' ],\n\t\t\t[ activeSlide + 1, 'next-slide' ],\n\t\t] );\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-pattern-setup__carousel\">\n\t\t\t\t<div className={ containerClass }>\n\t\t\t\t\t<ul className=\"carousel-container\">\n\t\t\t\t\t\t{ patterns.map( ( pattern, index ) => (\n\t\t\t\t\t\t\t<BlockPatternSlide\n\t\t\t\t\t\t\t\tclassName={ slideClass.get( index ) || '' }\n\t\t\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div className=\"block-editor-block-pattern-setup__grid\">\n\t\t\t<Composite\n\t\t\t\t{ ...composite }\n\t\t\t\trole=\"listbox\"\n\t\t\t\tclassName={ containerClass }\n\t\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t\t>\n\t\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonSelect={ onBlockPatternSelect }\n\t\t\t\t\t\tcomposite={ composite }\n\t\t\t\t\t\tshowTitles={ showTitles }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t</div>\n\t);\n};\n\nfunction BlockPattern( { pattern, onSelect, composite, showTitles } ) {\n\tconst baseClassName = 'block-editor-block-pattern-setup-list';\n\tconst { blocks, description, viewportWidth = 700 } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }__item-description`\n\t);\n\treturn (\n\t\t<div\n\t\t\tclassName={ `${ baseClassName }__list-item` }\n\t\t\taria-label={ pattern.title }\n\t\t\taria-describedby={ pattern.description ? descriptionId : undefined }\n\t\t>\n\t\t\t<CompositeItem\n\t\t\t\trole=\"option\"\n\t\t\t\tas=\"div\"\n\t\t\t\t{ ...composite }\n\t\t\t\tclassName={ `${ baseClassName }__item` }\n\t\t\t\tonClick={ () => onSelect( blocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t/>\n\t\t\t\t{ showTitles && (\n\t\t\t\t\t<div className={ `${ baseClassName }__item-title` }>\n\t\t\t\t\t\t{ pattern.title }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ !! description && (\n\t\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t</CompositeItem>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternSlide( { className, pattern, minHeight } ) {\n\tconst { blocks, title, description } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPatternSlide,\n\t\t'block-editor-block-pattern-setup-list__item-description'\n\t);\n\treturn (\n\t\t<li\n\t\t\tclassName={ `pattern-slide ${ className }` }\n\t\t\taria-label={ title }\n\t\t\taria-describedby={ description ? descriptionId : undefined }\n\t\t>\n\t\t\t<BlockPreview blocks={ blocks } minHeight={ minHeight } />\n\t\t\t{ !! description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nconst BlockPatternSetup = ( {\n\tclientId,\n\tblockName,\n\tfilterPatternsFn,\n\tonBlockPatternSelect,\n\tinitialViewMode = VIEWMODES.carousel,\n\tshowTitles = false,\n} ) => {\n\tconst [ viewMode, setViewMode ] = useState( initialViewMode );\n\tconst [ activeSlide, setActiveSlide ] = useState( 0 );\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\tconst patterns = usePatternsSetup( clientId, blockName, filterPatternsFn );\n\n\tif ( ! patterns?.length ) {\n\t\treturn null;\n\t}\n\n\tconst onBlockPatternSelectDefault = ( blocks ) => {\n\t\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\t\treplaceBlock( clientId, clonedBlocks );\n\t};\n\tconst onPatternSelectCallback =\n\t\tonBlockPatternSelect || onBlockPatternSelectDefault;\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `block-editor-block-pattern-setup view-mode-${ viewMode }` }\n\t\t\t>\n\t\t\t\t<SetupContent\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonBlockPatternSelect={ onPatternSelectCallback }\n\t\t\t\t\tshowTitles={ showTitles }\n\t\t\t\t/>\n\t\t\t\t<SetupToolbar\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tsetViewMode={ setViewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\ttotalSlides={ patterns.length }\n\t\t\t\t\thandleNext={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active + 1 );\n\t\t\t\t\t} }\n\t\t\t\t\thandlePrevious={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) => active - 1 );\n\t\t\t\t\t} }\n\t\t\t\t\tonBlockPatternSelect={ () => {\n\t\t\t\t\t\tonPatternSelectCallback(\n\t\t\t\t\t\t\tpatterns[ activeSlide ].blocks\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default BlockPatternSetup;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_data","require","_blocks","_components","_element","_compose","_i18n","_store","_blockPreview","_interopRequireDefault","_setupToolbar","_usePatternsSetup","_constants","_lockUnlock","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","SetupContent","viewMode","activeSlide","patterns","onBlockPatternSelect","showTitles","compositeStore","containerClass","VIEWMODES","carousel","slideClass","Map","_react","createElement","className","map","pattern","index","BlockPatternSlide","active","get","key","name","store","role","__","BlockPattern","onSelect","baseClassName","blocks","description","viewportWidth","descriptionId","useInstanceId","render","undefined","title","id","onClick","default","VisuallyHidden","minHeight","BlockPatternSetup","clientId","blockName","filterPatternsFn","initialViewMode","setViewMode","useState","setActiveSlide","replaceBlock","useDispatch","blockEditorStore","usePatternsSetup","length","onBlockPatternSelectDefault","clonedBlocks","block","cloneBlock","onPatternSelectCallback","Fragment","totalSlides","handleNext","Math","min","handlePrevious","max","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-pattern-setup/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { cloneBlock } from '@wordpress/blocks';\nimport {\n\tVisuallyHidden,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockPreview from '../block-preview';\nimport SetupToolbar from './setup-toolbar';\nimport usePatternsSetup from './use-patterns-setup';\nimport { VIEWMODES } from './constants';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\nconst SetupContent = ( {\n\tviewMode,\n\tactiveSlide,\n\tpatterns,\n\tonBlockPatternSelect,\n\tshowTitles,\n} ) => {\n\tconst compositeStore = useCompositeStore();\n\tconst containerClass = 'block-editor-block-pattern-setup__container';\n\n\tif ( viewMode === VIEWMODES.carousel ) {\n\t\tconst slideClass = new Map( [\n\t\t\t[ activeSlide, 'active-slide' ],\n\t\t\t[ activeSlide - 1, 'previous-slide' ],\n\t\t\t[ activeSlide + 1, 'next-slide' ],\n\t\t] );\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-pattern-setup__carousel\">\n\t\t\t\t<div className={ containerClass }>\n\t\t\t\t\t<div className=\"carousel-container\">\n\t\t\t\t\t\t{ patterns.map( ( pattern, index ) => (\n\t\t\t\t\t\t\t<BlockPatternSlide\n\t\t\t\t\t\t\t\tactive={ index === activeSlide }\n\t\t\t\t\t\t\t\tclassName={ slideClass.get( index ) || '' }\n\t\t\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"block-editor-block-pattern-setup__grid\">\n\t\t\t<Composite\n\t\t\t\tstore={ compositeStore }\n\t\t\t\trole=\"listbox\"\n\t\t\t\tclassName={ containerClass }\n\t\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t\t>\n\t\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t\t<BlockPattern\n\t\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\t\tonSelect={ onBlockPatternSelect }\n\t\t\t\t\t\tshowTitles={ showTitles }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t</div>\n\t);\n};\n\nfunction BlockPattern( { pattern, onSelect, showTitles } ) {\n\tconst baseClassName = 'block-editor-block-pattern-setup-list';\n\tconst { blocks, description, viewportWidth = 700 } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }__item-description`\n\t);\n\treturn (\n\t\t<div className={ `${ baseClassName }__list-item` }>\n\t\t\t<CompositeItem\n\t\t\t\trender={\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tdescription ? descriptionId : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\tclassName={ `${ baseClassName }__item` }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tid={ `${ baseClassName }__pattern__${ pattern.name }` }\n\t\t\t\trole=\"option\"\n\t\t\t\tonClick={ () => onSelect( blocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t/>\n\t\t\t\t{ showTitles && (\n\t\t\t\t\t<div className={ `${ baseClassName }__item-title` }>\n\t\t\t\t\t\t{ pattern.title }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ !! description && (\n\t\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t</CompositeItem>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternSlide( { active, className, pattern, minHeight } ) {\n\tconst { blocks, title, description } = pattern;\n\tconst descriptionId = useInstanceId(\n\t\tBlockPatternSlide,\n\t\t'block-editor-block-pattern-setup-list__item-description'\n\t);\n\treturn (\n\t\t<div\n\t\t\taria-hidden={ ! active }\n\t\t\trole=\"img\"\n\t\t\tclassName={ `pattern-slide ${ className }` }\n\t\t\taria-label={ title }\n\t\t\taria-describedby={ description ? descriptionId : undefined }\n\t\t>\n\t\t\t<BlockPreview blocks={ blocks } minHeight={ minHeight } />\n\t\t\t{ !! description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nconst BlockPatternSetup = ( {\n\tclientId,\n\tblockName,\n\tfilterPatternsFn,\n\tonBlockPatternSelect,\n\tinitialViewMode = VIEWMODES.carousel,\n\tshowTitles = false,\n} ) => {\n\tconst [ viewMode, setViewMode ] = useState( initialViewMode );\n\tconst [ activeSlide, setActiveSlide ] = useState( 0 );\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\tconst patterns = usePatternsSetup( clientId, blockName, filterPatternsFn );\n\n\tif ( ! patterns?.length ) {\n\t\treturn null;\n\t}\n\n\tconst onBlockPatternSelectDefault = ( blocks ) => {\n\t\tconst clonedBlocks = blocks.map( ( block ) => cloneBlock( block ) );\n\t\treplaceBlock( clientId, clonedBlocks );\n\t};\n\tconst onPatternSelectCallback =\n\t\tonBlockPatternSelect || onBlockPatternSelectDefault;\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `block-editor-block-pattern-setup view-mode-${ viewMode }` }\n\t\t\t>\n\t\t\t\t<SetupContent\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonBlockPatternSelect={ onPatternSelectCallback }\n\t\t\t\t\tshowTitles={ showTitles }\n\t\t\t\t/>\n\t\t\t\t<SetupToolbar\n\t\t\t\t\tviewMode={ viewMode }\n\t\t\t\t\tsetViewMode={ setViewMode }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\ttotalSlides={ patterns.length }\n\t\t\t\t\thandleNext={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) =>\n\t\t\t\t\t\t\tMath.min( active + 1, patterns.length - 1 )\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\thandlePrevious={ () => {\n\t\t\t\t\t\tsetActiveSlide( ( active ) =>\n\t\t\t\t\t\t\tMath.max( active - 1, 0 )\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tonBlockPatternSelect={ () => {\n\t\t\t\t\t\tonPatternSelectCallback(\n\t\t\t\t\t\t\tpatterns[ activeSlide ].blocks\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default BlockPatternSetup;\n"],"mappings":"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"}
|
|
@@ -36,12 +36,14 @@ const CarouselNavigation = ({
|
|
|
36
36
|
icon: _icons.chevronLeft,
|
|
37
37
|
label: (0, _i18n.__)('Previous pattern'),
|
|
38
38
|
onClick: handlePrevious,
|
|
39
|
-
disabled: activeSlide === 0
|
|
39
|
+
disabled: activeSlide === 0,
|
|
40
|
+
__experimentalIsFocusable: true
|
|
40
41
|
}), (0, _react.createElement)(_components.Button, {
|
|
41
42
|
icon: _icons.chevronRight,
|
|
42
43
|
label: (0, _i18n.__)('Next pattern'),
|
|
43
44
|
onClick: handleNext,
|
|
44
|
-
disabled: activeSlide === totalSlides - 1
|
|
45
|
+
disabled: activeSlide === totalSlides - 1,
|
|
46
|
+
__experimentalIsFocusable: true
|
|
45
47
|
}));
|
|
46
48
|
const SetupToolbar = ({
|
|
47
49
|
viewMode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_icons","_constants","Actions","onBlockPatternSelect","_react","createElement","className","Button","variant","onClick","__","CarouselNavigation","handlePrevious","handleNext","activeSlide","totalSlides","icon","chevronLeft","label","disabled","chevronRight","SetupToolbar","viewMode","setViewMode","isCarouselView","VIEWMODES","carousel","displayControls","stretchFullWidth","isPressed","grid","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/block-pattern-setup/setup-toolbar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport {\n\tchevronRight,\n\tchevronLeft,\n\tgrid,\n\tstretchFullWidth,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { VIEWMODES } from './constants';\n\nconst Actions = ( { onBlockPatternSelect } ) => (\n\t<div className=\"block-editor-block-pattern-setup__actions\">\n\t\t<Button variant=\"primary\" onClick={ onBlockPatternSelect }>\n\t\t\t{ __( 'Choose' ) }\n\t\t</Button>\n\t</div>\n);\n\nconst CarouselNavigation = ( {\n\thandlePrevious,\n\thandleNext,\n\tactiveSlide,\n\ttotalSlides,\n} ) => (\n\t<div className=\"block-editor-block-pattern-setup__navigation\">\n\t\t<Button\n\t\t\ticon={ chevronLeft }\n\t\t\tlabel={ __( 'Previous pattern' ) }\n\t\t\tonClick={ handlePrevious }\n\t\t\tdisabled={ activeSlide === 0 }\n\t\t/>\n\t\t<Button\n\t\t\ticon={ chevronRight }\n\t\t\tlabel={ __( 'Next pattern' ) }\n\t\t\tonClick={ handleNext }\n\t\t\tdisabled={ activeSlide === totalSlides - 1 }\n\t\t/>\n\t</div>\n);\n\nconst SetupToolbar = ( {\n\tviewMode,\n\tsetViewMode,\n\thandlePrevious,\n\thandleNext,\n\tactiveSlide,\n\ttotalSlides,\n\tonBlockPatternSelect,\n} ) => {\n\tconst isCarouselView = viewMode === VIEWMODES.carousel;\n\tconst displayControls = (\n\t\t<div className=\"block-editor-block-pattern-setup__display-controls\">\n\t\t\t<Button\n\t\t\t\ticon={ stretchFullWidth }\n\t\t\t\tlabel={ __( 'Carousel view' ) }\n\t\t\t\tonClick={ () => setViewMode( VIEWMODES.carousel ) }\n\t\t\t\tisPressed={ isCarouselView }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\ticon={ grid }\n\t\t\t\tlabel={ __( 'Grid view' ) }\n\t\t\t\tonClick={ () => setViewMode( VIEWMODES.grid ) }\n\t\t\t\tisPressed={ viewMode === VIEWMODES.grid }\n\t\t\t/>\n\t\t</div>\n\t);\n\treturn (\n\t\t<div className=\"block-editor-block-pattern-setup__toolbar\">\n\t\t\t{ isCarouselView && (\n\t\t\t\t<CarouselNavigation\n\t\t\t\t\thandlePrevious={ handlePrevious }\n\t\t\t\t\thandleNext={ handleNext }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\ttotalSlides={ totalSlides }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ displayControls }\n\t\t\t{ isCarouselView && (\n\t\t\t\t<Actions onBlockPatternSelect={ onBlockPatternSelect } />\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default SetupToolbar;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAUA,IAAAG,UAAA,GAAAH,OAAA;AAfA;AACA;AACA;;AAUA;AACA;AACA;;AAGA,MAAMI,OAAO,GAAGA,CAAE;EAAEC;AAAqB,CAAC,KACzC,IAAAC,MAAA,CAAAC,aAAA;EAAKC,SAAS,EAAC;AAA2C,GACzD,IAAAF,MAAA,CAAAC,aAAA,EAACN,WAAA,CAAAQ,MAAM;EAACC,OAAO,EAAC,SAAS;EAACC,OAAO,EAAGN;AAAsB,GACvD,IAAAO,QAAE,EAAE,QAAS,CACR,CACJ,CACL;AAED,MAAMC,kBAAkB,GAAGA,CAAE;EAC5BC,cAAc;EACdC,UAAU;EACVC,WAAW;EACXC;AACD,CAAC,KACA,IAAAX,MAAA,CAAAC,aAAA;EAAKC,SAAS,EAAC;AAA8C,GAC5D,IAAAF,MAAA,CAAAC,aAAA,EAACN,WAAA,CAAAQ,MAAM;EACNS,IAAI,EAAGC,kBAAa;EACpBC,KAAK,EAAG,IAAAR,QAAE,EAAE,kBAAmB,CAAG;EAClCD,OAAO,EAAGG,cAAgB;EAC1BO,QAAQ,EAAGL,WAAW,KAAK;
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_icons","_constants","Actions","onBlockPatternSelect","_react","createElement","className","Button","variant","onClick","__","CarouselNavigation","handlePrevious","handleNext","activeSlide","totalSlides","icon","chevronLeft","label","disabled","__experimentalIsFocusable","chevronRight","SetupToolbar","viewMode","setViewMode","isCarouselView","VIEWMODES","carousel","displayControls","stretchFullWidth","isPressed","grid","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/block-pattern-setup/setup-toolbar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport {\n\tchevronRight,\n\tchevronLeft,\n\tgrid,\n\tstretchFullWidth,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { VIEWMODES } from './constants';\n\nconst Actions = ( { onBlockPatternSelect } ) => (\n\t<div className=\"block-editor-block-pattern-setup__actions\">\n\t\t<Button variant=\"primary\" onClick={ onBlockPatternSelect }>\n\t\t\t{ __( 'Choose' ) }\n\t\t</Button>\n\t</div>\n);\n\nconst CarouselNavigation = ( {\n\thandlePrevious,\n\thandleNext,\n\tactiveSlide,\n\ttotalSlides,\n} ) => (\n\t<div className=\"block-editor-block-pattern-setup__navigation\">\n\t\t<Button\n\t\t\ticon={ chevronLeft }\n\t\t\tlabel={ __( 'Previous pattern' ) }\n\t\t\tonClick={ handlePrevious }\n\t\t\tdisabled={ activeSlide === 0 }\n\t\t\t__experimentalIsFocusable\n\t\t/>\n\t\t<Button\n\t\t\ticon={ chevronRight }\n\t\t\tlabel={ __( 'Next pattern' ) }\n\t\t\tonClick={ handleNext }\n\t\t\tdisabled={ activeSlide === totalSlides - 1 }\n\t\t\t__experimentalIsFocusable\n\t\t/>\n\t</div>\n);\n\nconst SetupToolbar = ( {\n\tviewMode,\n\tsetViewMode,\n\thandlePrevious,\n\thandleNext,\n\tactiveSlide,\n\ttotalSlides,\n\tonBlockPatternSelect,\n} ) => {\n\tconst isCarouselView = viewMode === VIEWMODES.carousel;\n\tconst displayControls = (\n\t\t<div className=\"block-editor-block-pattern-setup__display-controls\">\n\t\t\t<Button\n\t\t\t\ticon={ stretchFullWidth }\n\t\t\t\tlabel={ __( 'Carousel view' ) }\n\t\t\t\tonClick={ () => setViewMode( VIEWMODES.carousel ) }\n\t\t\t\tisPressed={ isCarouselView }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\ticon={ grid }\n\t\t\t\tlabel={ __( 'Grid view' ) }\n\t\t\t\tonClick={ () => setViewMode( VIEWMODES.grid ) }\n\t\t\t\tisPressed={ viewMode === VIEWMODES.grid }\n\t\t\t/>\n\t\t</div>\n\t);\n\treturn (\n\t\t<div className=\"block-editor-block-pattern-setup__toolbar\">\n\t\t\t{ isCarouselView && (\n\t\t\t\t<CarouselNavigation\n\t\t\t\t\thandlePrevious={ handlePrevious }\n\t\t\t\t\thandleNext={ handleNext }\n\t\t\t\t\tactiveSlide={ activeSlide }\n\t\t\t\t\ttotalSlides={ totalSlides }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ displayControls }\n\t\t\t{ isCarouselView && (\n\t\t\t\t<Actions onBlockPatternSelect={ onBlockPatternSelect } />\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default SetupToolbar;\n"],"mappings":"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"}
|