@wordpress/block-editor 16.1.0 → 17.0.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 +78 -0
- package/README.md +13 -1
- package/build/autocompleters/block.cjs.map +2 -2
- package/build/components/alignment-control/index.cjs.map +2 -2
- package/build/components/alignment-control/ui.cjs.map +2 -2
- package/build/components/autocomplete/index.cjs.map +2 -2
- package/build/components/background-image-control/index.cjs.map +2 -2
- package/build/components/block-actions/index.cjs +2 -1
- package/build/components/block-actions/index.cjs.map +2 -2
- package/build/components/block-alignment-control/constants.cjs.map +2 -2
- package/build/components/block-alignment-control/index.cjs.map +2 -2
- package/build/components/block-alignment-control/ui.cjs.map +2 -2
- package/build/components/block-alignment-control/use-available-alignments.cjs.map +2 -2
- package/build/components/block-alignment-matrix-control/index.cjs.map +2 -2
- package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +2 -2
- package/build/components/block-allowed-blocks/modal.cjs.map +2 -2
- package/build/components/block-bindings/attribute-control.cjs.map +2 -2
- package/build/components/block-bindings/index.cjs.map +2 -2
- package/build/components/block-bindings/source-fields-list.cjs.map +2 -2
- package/build/components/block-bindings/use-block-bindings-utils.cjs.map +2 -2
- package/build/components/block-breadcrumb/index.cjs.map +2 -2
- package/build/components/block-canvas/index.cjs.map +2 -2
- package/build/components/block-card/index.cjs.map +2 -2
- package/build/components/block-compare/block-view.cjs.map +2 -2
- package/build/components/block-compare/index.cjs.map +2 -2
- package/build/components/block-content-overlay/index.cjs.map +2 -2
- package/build/components/block-context/index.cjs.map +2 -2
- package/build/components/block-controls/fill.cjs.map +2 -2
- package/build/components/block-controls/groups.cjs.map +2 -2
- package/build/components/block-controls/hook.cjs.map +2 -2
- package/build/components/block-controls/index.cjs.map +2 -2
- package/build/components/block-controls/slot.cjs.map +2 -2
- package/build/components/block-draggable/draggable-chip.cjs.map +2 -2
- package/build/components/block-draggable/index.cjs.map +2 -2
- package/build/components/block-draggable/use-scroll-when-dragging.cjs.map +2 -2
- package/build/components/block-edit/context.cjs.map +2 -2
- package/build/components/block-edit/edit.cjs.map +2 -2
- package/build/components/block-edit/index.cjs.map +2 -2
- package/build/components/block-edit/multiple-usage-warning.cjs.map +2 -2
- package/build/components/block-edit-visually-button/index.cjs.map +2 -2
- package/build/components/block-editing-mode/index.cjs.map +2 -2
- package/build/components/block-full-height-alignment-control/index.cjs.map +2 -2
- package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +2 -2
- package/build/components/block-heading-level-dropdown/index.cjs.map +2 -2
- package/build/components/block-icon/index.cjs.map +2 -2
- package/build/components/block-inspector/edit-contents.cjs +48 -40
- package/build/components/block-inspector/edit-contents.cjs.map +3 -3
- package/build/components/block-inspector/index.cjs +18 -10
- package/build/components/block-inspector/index.cjs.map +2 -2
- package/build/components/block-inspector/inspector-pre-tabs-slot-fill.cjs.map +2 -2
- package/build/components/block-inspector/useBlockInspectorAnimationSettings.cjs.map +2 -2
- package/build/components/block-keyboard-shortcuts/index.cjs +201 -0
- package/build/components/block-keyboard-shortcuts/index.cjs.map +7 -0
- package/build/components/block-list/block-crash-boundary.cjs.map +2 -2
- package/build/components/block-list/block-crash-warning.cjs.map +2 -2
- package/build/components/block-list/block-html.cjs.map +2 -2
- package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
- package/build/components/block-list/block.cjs +46 -13
- package/build/components/block-list/block.cjs.map +3 -3
- package/build/components/block-list/index.cjs +39 -10
- package/build/components/block-list/index.cjs.map +2 -2
- package/build/components/block-list/layout.cjs.map +2 -2
- package/build/components/block-list/private-block-context.cjs.map +2 -2
- package/build/components/block-list/subdirectory-icon.cjs.map +2 -2
- package/build/components/block-list/use-block-props/index.cjs +36 -2
- package/build/components/block-list/use-block-props/index.cjs.map +3 -3
- package/build/components/block-list/use-block-props/use-block-refs.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs +4 -0
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-intersection-observer.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-scroll-into-view.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs +6 -7
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs.map +2 -2
- package/build/components/block-list/use-in-between-inserter.cjs.map +2 -2
- package/build/components/block-list/zoom-out-separator.cjs.map +2 -2
- package/build/components/block-list-appender/index.cjs.map +2 -2
- package/build/components/block-lock/menu-item.cjs.map +2 -2
- package/build/components/block-lock/modal.cjs.map +2 -2
- package/build/components/block-lock/toolbar.cjs.map +2 -2
- package/build/components/block-lock/use-block-lock.cjs.map +2 -2
- package/build/components/block-manager/category.cjs.map +2 -2
- package/build/components/block-manager/checklist.cjs.map +2 -2
- package/build/components/block-manager/index.cjs.map +2 -2
- package/build/components/block-mover/button.cjs +15 -9
- package/build/components/block-mover/button.cjs.map +2 -2
- package/build/components/block-mover/index.cjs.map +2 -2
- package/build/components/block-mover/mover-description.cjs.map +2 -2
- package/build/components/block-navigation/dropdown.cjs.map +2 -2
- package/build/components/block-parent-selector/index.cjs +98 -29
- package/build/components/block-parent-selector/index.cjs.map +3 -3
- package/build/components/block-pattern-setup/index.cjs.map +2 -2
- package/build/components/block-pattern-setup/setup-toolbar.cjs.map +2 -2
- package/build/components/block-pattern-setup/use-patterns-setup.cjs.map +2 -2
- package/build/components/block-patterns-list/index.cjs.map +2 -2
- package/build/components/block-patterns-paging/index.cjs.map +2 -2
- package/build/components/block-popover/cover.cjs.map +2 -2
- package/build/components/block-popover/drop-zone.cjs.map +2 -2
- package/build/components/block-popover/inbetween.cjs +2 -2
- package/build/components/block-popover/inbetween.cjs.map +2 -2
- package/build/components/block-popover/index.cjs.map +2 -2
- package/build/components/block-popover/use-popover-scroll.cjs.map +2 -2
- package/build/components/block-preview/async.cjs.map +2 -2
- package/build/components/block-preview/auto.cjs.map +2 -2
- package/build/components/block-preview/index.cjs +0 -4
- package/build/components/block-preview/index.cjs.map +2 -2
- package/build/components/block-quick-navigation/index.cjs.map +2 -2
- package/build/components/block-removal-warning-modal/index.cjs.map +2 -2
- package/build/components/block-rename/modal.cjs.map +2 -2
- package/build/components/block-rename/rename-control.cjs.map +2 -2
- package/build/components/block-rename/use-block-rename.cjs.map +2 -2
- package/build/components/block-selection-clearer/index.cjs.map +2 -2
- package/build/components/block-settings-menu/block-html-convert-button.cjs.map +2 -2
- package/build/components/block-settings-menu/block-mode-toggle.cjs.map +2 -2
- package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +2 -2
- package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +2 -2
- package/build/components/block-settings-menu/block-settings-menu-first-item.cjs.map +2 -2
- package/build/components/block-settings-menu/index.cjs.map +2 -2
- package/build/components/block-settings-menu-controls/index.cjs.map +2 -2
- package/build/components/block-styles/index.cjs +77 -33
- package/build/components/block-styles/index.cjs.map +3 -3
- package/build/components/block-styles/menu-items.cjs.map +2 -2
- package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
- package/build/components/block-styles/utils.cjs.map +2 -2
- package/build/components/block-switcher/block-styles-menu.cjs.map +2 -2
- package/build/components/block-switcher/block-transformations-menu.cjs.map +2 -2
- package/build/components/block-switcher/block-variation-transformations.cjs.map +2 -2
- package/build/components/block-switcher/index.cjs.map +2 -2
- package/build/components/block-switcher/pattern-transformations-menu.cjs.map +2 -2
- package/build/components/block-switcher/preview-block-popover.cjs.map +2 -2
- package/build/components/block-switcher/use-transformed-patterns.cjs.map +2 -2
- package/build/components/block-switcher/utils.cjs.map +2 -2
- package/build/components/block-title/index.cjs.map +2 -2
- package/build/components/block-title/use-block-display-title.cjs.map +2 -2
- package/build/components/block-toolbar/block-styles-dropdown.cjs.map +2 -2
- package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
- package/build/components/block-toolbar/block-toolbar-last-item.cjs.map +2 -2
- package/build/components/block-toolbar/change-design.cjs.map +2 -2
- package/build/components/block-toolbar/edit-section-button.cjs.map +2 -2
- package/build/components/block-toolbar/index.cjs.map +2 -2
- package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +2 -2
- package/build/components/block-toolbar/switch-section-style.cjs.map +2 -2
- package/build/components/block-toolbar/use-has-block-toolbar.cjs.map +2 -2
- package/build/components/block-toolbar/utils.cjs.map +2 -2
- package/build/components/block-tools/block-toolbar-popover.cjs.map +2 -2
- package/build/components/block-tools/empty-block-inserter.cjs.map +2 -2
- package/build/components/block-tools/index.cjs +2 -4
- package/build/components/block-tools/index.cjs.map +2 -2
- package/build/components/block-tools/insertion-point.cjs.map +2 -2
- package/build/components/block-tools/use-block-toolbar-popover-props.cjs.map +2 -2
- package/build/components/block-tools/use-selected-block-tool-props.cjs.map +2 -2
- package/build/components/block-tools/use-show-block-tools.cjs.map +2 -2
- package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +2 -2
- package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +2 -2
- package/build/components/block-types-list/index.cjs.map +2 -2
- package/build/components/block-variation-picker/index.cjs.map +2 -2
- package/build/components/block-variation-transforms/index.cjs.map +2 -2
- package/build/components/block-vertical-alignment-control/index.cjs.map +2 -2
- package/build/components/block-vertical-alignment-control/ui.cjs.map +2 -2
- package/build/components/block-visibility/constants.cjs +1 -1
- package/build/components/block-visibility/constants.cjs.map +3 -3
- package/build/components/block-visibility/modal.cjs.map +2 -2
- package/build/components/block-visibility/use-block-visibility.cjs +15 -17
- package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
- package/build/components/block-visibility/utils.cjs.map +2 -2
- package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
- package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
- package/build/components/border-radius-control/constants.cjs.map +2 -2
- package/build/components/border-radius-control/index.cjs.map +2 -2
- package/build/components/border-radius-control/linked-button.cjs.map +2 -2
- package/build/components/border-radius-control/utils.cjs.map +2 -2
- package/build/components/button-block-appender/index.cjs.map +2 -2
- package/build/components/child-layout-control/index.cjs.map +3 -3
- package/build/components/collab/note-icon-slot.cjs.map +2 -2
- package/build/components/collab/note-icon-toolbar-slot.cjs.map +2 -2
- package/build/components/color-palette/control.cjs.map +2 -2
- package/build/components/color-palette/index.cjs.map +2 -2
- package/build/components/color-palette/with-color-context.cjs.map +2 -2
- package/build/components/color-style-selector/index.cjs.map +2 -2
- package/build/components/colors/utils.cjs +2 -4
- package/build/components/colors/utils.cjs.map +3 -3
- package/build/components/colors/with-colors.cjs +57 -75
- package/build/components/colors/with-colors.cjs.map +3 -3
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/colors-gradients/dropdown.cjs.map +2 -2
- package/build/components/colors-gradients/panel-color-gradient-settings.cjs +5 -5
- package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +2 -2
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.cjs.map +2 -2
- package/build/components/contrast-checker/index.cjs.map +2 -2
- package/build/components/convert-to-group-buttons/index.cjs +2 -5
- package/build/components/convert-to-group-buttons/index.cjs.map +2 -2
- package/build/components/convert-to-group-buttons/toolbar.cjs +2 -4
- package/build/components/convert-to-group-buttons/toolbar.cjs.map +2 -2
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.cjs.map +2 -2
- package/build/components/copy-handler/index.cjs.map +2 -2
- package/build/components/date-format-picker/index.cjs.map +2 -2
- package/build/components/default-block-appender/index.cjs.map +2 -2
- package/build/components/dimension-control/index.cjs.map +2 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs +4 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/index.cjs +18 -16
- package/build/components/dimensions-tool/index.cjs.map +2 -2
- package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/utils.cjs +61 -0
- package/build/components/dimensions-tool/utils.cjs.map +7 -0
- package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
- package/build/components/duotone-control/index.cjs +2 -0
- package/build/components/duotone-control/index.cjs.map +2 -2
- package/build/components/editable-text/index.cjs.map +2 -2
- package/build/components/editor-styles/index.cjs.map +2 -2
- package/build/components/fit-text-size-warning/index.cjs.map +2 -2
- package/build/components/font-appearance-control/index.cjs.map +2 -2
- package/build/components/font-family/index.cjs.map +2 -2
- package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
- package/build/components/font-sizes/utils.cjs +2 -4
- package/build/components/font-sizes/utils.cjs.map +3 -3
- package/build/components/font-sizes/with-font-sizes.cjs.map +2 -2
- package/build/components/global-styles/advanced-panel.cjs.map +3 -3
- package/build/components/global-styles/background-panel.cjs.map +2 -2
- package/build/components/global-styles/border-panel.cjs +2 -5
- package/build/components/global-styles/border-panel.cjs.map +2 -2
- package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +2 -2
- package/build/components/global-styles/color-panel.cjs +14 -2
- package/build/components/global-styles/color-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs +9 -5
- package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
- package/build/components/global-styles/filters-panel.cjs +12 -8
- package/build/components/global-styles/filters-panel.cjs.map +2 -2
- package/build/components/global-styles/hooks.cjs.map +2 -2
- package/build/components/global-styles/image-settings-panel.cjs.map +2 -2
- package/build/components/global-styles/inheritance/index.cjs.map +2 -2
- package/build/components/global-styles/inherited-value-context.cjs.map +2 -2
- package/build/components/global-styles/shadow-panel-components.cjs +16 -11
- package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
- package/build/components/global-styles/state-control-badges.cjs.map +2 -2
- package/build/components/global-styles/state-control.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs.map +2 -2
- package/build/components/global-styles/typography-utils.cjs.map +2 -2
- package/build/components/global-styles/utils.cjs +9 -0
- package/build/components/global-styles/utils.cjs.map +2 -2
- package/build/components/gradients/use-gradient.cjs.map +2 -2
- package/build/components/grid/grid-item-movers.cjs.map +2 -2
- package/build/components/grid/grid-item-resizer.cjs.map +2 -2
- package/build/components/grid/grid-visualizer.cjs.map +2 -2
- package/build/components/grid/use-get-number-of-blocks-before-cell.cjs.map +2 -2
- package/build/components/grid/use-grid-layout-sync.cjs.map +2 -2
- package/build/components/height-control/index.cjs.map +2 -2
- package/build/components/html-element-control/index.cjs.map +2 -2
- package/build/components/html-element-control/messages.cjs.map +2 -2
- package/build/components/iframe/index.cjs +19 -24
- package/build/components/iframe/index.cjs.map +2 -2
- package/build/components/iframe/use-scale-canvas.cjs +20 -6
- package/build/components/iframe/use-scale-canvas.cjs.map +2 -2
- package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +2 -2
- package/build/components/image-editor/context.cjs.map +2 -2
- package/build/components/image-editor/cropper.cjs.map +2 -2
- package/build/components/image-editor/form-controls.cjs.map +2 -2
- package/build/components/image-editor/index.cjs.map +2 -2
- package/build/components/image-editor/rotation-button.cjs.map +2 -2
- package/build/components/image-editor/use-save-image.cjs.map +2 -2
- package/build/components/image-editor/use-transform-image.cjs.map +2 -2
- package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
- package/build/components/image-size-control/index.cjs.map +2 -2
- package/build/components/image-size-control/use-dimension-handler.cjs.map +2 -2
- package/build/components/inner-blocks/button-block-appender.cjs.map +2 -2
- package/build/components/inner-blocks/default-block-appender.cjs.map +2 -2
- package/build/components/inner-blocks/index.cjs +5 -3
- package/build/components/inner-blocks/index.cjs.map +2 -2
- package/build/components/inner-blocks/use-block-context.cjs.map +2 -2
- package/build/components/inner-blocks/use-inner-block-template-sync.cjs +34 -7
- package/build/components/inner-blocks/use-inner-block-template-sync.cjs.map +3 -3
- package/build/components/inner-blocks/use-nested-settings-update.cjs.map +2 -2
- package/build/components/inner-content/index.cjs.map +2 -2
- package/build/components/inserter/block-patterns-explorer/index.cjs +39 -22
- package/build/components/inserter/block-patterns-explorer/index.cjs.map +2 -2
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs +21 -55
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +2 -2
- package/build/components/inserter/block-patterns-explorer/pattern-list.cjs +19 -44
- package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +3 -3
- package/build/components/inserter/block-patterns-tab/index.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.cjs.map +2 -2
- package/build/components/inserter/block-patterns-tab/utils.cjs.map +2 -2
- package/build/components/inserter/block-types-tab.cjs.map +2 -2
- package/build/components/inserter/category-tabs/index.cjs.map +2 -2
- package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
- package/build/components/inserter/hooks/use-insertion-point.cjs +4 -4
- package/build/components/inserter/hooks/use-insertion-point.cjs.map +2 -2
- package/build/components/inserter/hooks/use-patterns-paging.cjs.map +2 -2
- package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
- package/build/components/inserter/index.cjs +4 -13
- package/build/components/inserter/index.cjs.map +2 -2
- package/build/components/inserter/library.cjs.map +2 -2
- package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-panel.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
- package/build/components/inserter/media-tab/utils.cjs.map +2 -2
- package/build/components/inserter/menu.cjs +18 -7
- package/build/components/inserter/menu.cjs.map +2 -2
- package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
- package/build/components/inserter/no-results.cjs.map +2 -2
- package/build/components/inserter/panel.cjs.map +2 -2
- package/build/components/inserter/preview-panel.cjs.map +2 -2
- package/build/components/inserter/quick-inserter.cjs +30 -27
- package/build/components/inserter/quick-inserter.cjs.map +2 -2
- package/build/components/inserter/search-items.cjs.map +2 -2
- package/build/components/inserter/search-results.cjs.map +2 -2
- package/build/components/inserter/tips.cjs.map +2 -2
- package/build/components/inserter-draggable-blocks/index.cjs.map +2 -2
- package/build/components/inserter-list-item/index.cjs.map +2 -2
- package/build/components/inserter-listbox/context.cjs.map +2 -2
- package/build/components/inserter-listbox/group.cjs.map +2 -2
- package/build/components/inserter-listbox/index.cjs.map +2 -2
- package/build/components/inserter-listbox/item.cjs.map +2 -2
- package/build/components/inserter-listbox/row.cjs.map +2 -2
- package/build/components/inserter-menu-extension/index.cjs.map +2 -2
- package/build/components/inspector-controls/block-support-slot-container.cjs.map +2 -2
- package/build/components/inspector-controls/block-support-tools-panel.cjs.map +2 -2
- package/build/components/inspector-controls/fill.cjs +15 -17
- package/build/components/inspector-controls/fill.cjs.map +2 -2
- package/build/components/inspector-controls/groups.cjs.map +2 -2
- package/build/components/inspector-controls/index.cjs.map +2 -2
- package/build/components/inspector-controls/last-item.cjs.map +2 -2
- package/build/components/inspector-controls/list-view-content-popover.cjs.map +2 -2
- package/build/components/inspector-controls/slot.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/content-tab.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/index.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/settings-tab.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/styles-tab.cjs +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
- package/build/components/inspector-controls-tabs/utils.cjs.map +2 -2
- package/build/components/inspector-popover-header/index.cjs.map +2 -2
- package/build/components/justify-content-control/index.cjs.map +2 -2
- package/build/components/justify-content-control/ui.cjs.map +2 -2
- package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
- package/build/components/letter-spacing-control/index.cjs.map +2 -2
- package/build/components/line-height-control/index.cjs.map +2 -2
- package/build/components/link-control/constants.cjs.map +2 -2
- package/build/components/link-control/index.cjs.map +2 -2
- package/build/components/link-control/is-url-like.cjs.map +2 -2
- package/build/components/link-control/link-preview.cjs.map +2 -2
- package/build/components/link-control/normalize-url.cjs.map +2 -2
- package/build/components/link-control/search-create-button.cjs.map +2 -2
- package/build/components/link-control/search-input.cjs.map +2 -2
- package/build/components/link-control/search-item.cjs.map +2 -2
- package/build/components/link-control/search-results.cjs +1 -1
- package/build/components/link-control/search-results.cjs.map +2 -2
- package/build/components/link-control/settings-drawer.cjs.map +2 -2
- package/build/components/link-control/settings.cjs.map +2 -2
- package/build/components/link-control/use-create-page.cjs.map +2 -2
- package/build/components/link-control/use-internal-value.cjs.map +2 -2
- package/build/components/link-control/use-rich-url-data.cjs +1 -1
- package/build/components/link-control/use-rich-url-data.cjs.map +2 -2
- package/build/components/link-control/use-search-handler.cjs.map +2 -2
- package/build/components/link-control/viewer-slot.cjs.map +2 -2
- package/build/components/link-picker/link-picker.cjs.map +2 -2
- package/build/components/link-picker/link-preview.cjs.map +2 -2
- package/build/components/list-view/appender.cjs +6 -3
- package/build/components/list-view/appender.cjs.map +2 -2
- package/build/components/list-view/aria-referenced-text.cjs +2 -9
- package/build/components/list-view/aria-referenced-text.cjs.map +2 -2
- package/build/components/list-view/block-contents.cjs +17 -20
- package/build/components/list-view/block-contents.cjs.map +2 -2
- package/build/components/list-view/block-select-button.cjs +40 -19
- package/build/components/list-view/block-select-button.cjs.map +3 -3
- package/build/components/list-view/block.cjs +38 -41
- package/build/components/list-view/block.cjs.map +3 -3
- package/build/components/list-view/branch.cjs +93 -77
- package/build/components/list-view/branch.cjs.map +3 -3
- package/build/components/list-view/context.cjs +16 -2
- package/build/components/list-view/context.cjs.map +2 -2
- package/build/components/list-view/drop-indicator.cjs +4 -3
- package/build/components/list-view/drop-indicator.cjs.map +3 -3
- package/build/components/list-view/expander.cjs.map +2 -2
- package/build/components/list-view/index.cjs +114 -101
- package/build/components/list-view/index.cjs.map +3 -3
- package/build/components/list-view/leaf.cjs.map +2 -2
- package/build/components/list-view/use-block-selection.cjs.map +2 -2
- package/build/components/list-view/use-clipboard-handler.cjs.map +2 -2
- package/build/components/list-view/use-list-view-block-indexes.cjs.map +2 -2
- package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
- package/build/components/list-view/use-list-view-collapse-items.cjs +3 -4
- package/build/components/list-view/use-list-view-collapse-items.cjs.map +2 -2
- package/build/components/list-view/use-list-view-drop-zone.cjs +7 -13
- package/build/components/list-view/use-list-view-drop-zone.cjs.map +2 -2
- package/build/components/list-view/use-list-view-expand-selected-item.cjs +3 -3
- package/build/components/list-view/use-list-view-expand-selected-item.cjs.map +2 -2
- package/build/components/list-view/use-list-view-images.cjs +4 -3
- package/build/components/list-view/use-list-view-images.cjs.map +2 -2
- package/build/components/list-view/use-list-view-scroll-into-view.cjs.map +2 -2
- package/build/components/list-view/utils.cjs +19 -4
- package/build/components/list-view/utils.cjs.map +2 -2
- package/build/components/media-placeholder/index.cjs +1 -1
- package/build/components/media-placeholder/index.cjs.map +3 -3
- package/build/components/media-replace-flow/index.cjs.map +2 -2
- package/build/components/media-upload/check.cjs.map +2 -2
- package/build/components/media-upload/index.cjs.map +2 -2
- package/build/components/multi-selection-inspector/index.cjs +33 -12
- package/build/components/multi-selection-inspector/index.cjs.map +3 -3
- package/build/components/navigable-toolbar/index.cjs +29 -18
- package/build/components/navigable-toolbar/index.cjs.map +2 -2
- package/build/components/observe-typing/index.cjs.map +2 -2
- package/build/components/panel-color-settings/index.cjs.map +2 -2
- package/build/components/plain-text/index.cjs.map +2 -2
- package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
- package/build/components/preset-input-control/index.cjs.map +2 -2
- package/build/components/preview-options/index.cjs.map +2 -2
- package/build/components/provider/block-refs-provider.cjs.map +2 -2
- package/build/components/provider/index.cjs +5 -1
- package/build/components/provider/index.cjs.map +3 -3
- package/build/components/provider/selection-context.cjs.map +2 -2
- package/build/components/provider/use-block-sync.cjs.map +2 -2
- package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
- package/build/components/provider/with-registry-provider.cjs.map +2 -2
- package/build/components/publish-date-time-picker/index.cjs +3 -2
- package/build/components/publish-date-time-picker/index.cjs.map +2 -2
- package/build/components/recursion-provider/index.cjs.map +2 -2
- package/build/components/resizable-box-popover/index.cjs.map +2 -2
- package/build/components/resolution-tool/index.cjs.map +2 -2
- package/build/components/responsive-block-control/index.cjs.map +2 -2
- package/build/components/responsive-block-control/label.cjs.map +2 -2
- package/build/components/rich-text/content.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/delete.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/enter.cjs +46 -39
- package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/firefox-compat.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/index.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/input-events.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/input-rules.cjs +13 -10
- package/build/components/rich-text/event-listeners/input-rules.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/paste-handler.cjs +8 -1
- package/build/components/rich-text/event-listeners/paste-handler.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/shortcuts.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +2 -2
- package/build/components/rich-text/format-edit.cjs.map +2 -2
- package/build/components/rich-text/format-toolbar/index.cjs.map +2 -2
- package/build/components/rich-text/format-toolbar-container.cjs.map +2 -2
- package/build/components/rich-text/get-rich-text-values.cjs.map +2 -2
- package/build/components/rich-text/index.cjs +7 -5
- package/build/components/rich-text/index.cjs.map +2 -2
- package/build/components/rich-text/multiline.cjs +105 -70
- package/build/components/rich-text/multiline.cjs.map +3 -3
- package/build/components/rich-text/prevent-event-discovery.cjs.map +2 -2
- package/build/components/rich-text/toolbar-button.cjs.map +2 -2
- package/build/components/rich-text/use-mark-persistent.cjs.map +2 -2
- package/build/components/rich-text/utils.cjs.map +2 -2
- package/build/components/rich-text/with-deprecations.cjs.map +2 -2
- package/build/components/selection-scroll-into-view/index.cjs.map +2 -2
- package/build/components/skip-to-selected-block/index.cjs.map +2 -2
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.cjs.map +2 -2
- package/build/components/spacing-sizes-control/index.cjs +2 -2
- package/build/components/spacing-sizes-control/index.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/single.cjs.map +2 -2
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +2 -2
- package/build/components/spacing-sizes-control/linked-button.cjs.map +2 -2
- package/build/components/spacing-sizes-control/utils.cjs.map +2 -2
- package/build/components/tabbed-sidebar/index.cjs.map +2 -2
- package/build/components/text-alignment-control/index.cjs.map +2 -2
- package/build/components/text-decoration-control/index.cjs.map +2 -2
- package/build/components/text-indent-control/index.cjs.map +2 -2
- package/build/components/text-transform-control/index.cjs.map +2 -2
- package/build/components/tool-selector/index.cjs.map +2 -2
- package/build/components/typewriter/index.cjs.map +2 -2
- package/build/components/unit-control/index.cjs.map +2 -2
- package/build/components/url-input/button.cjs.map +2 -2
- package/build/components/url-input/index.cjs +28 -46
- package/build/components/url-input/index.cjs.map +3 -3
- package/build/components/url-popover/image-url-input-ui.cjs +2 -2
- package/build/components/url-popover/image-url-input-ui.cjs.map +2 -2
- package/build/components/url-popover/index.cjs.map +2 -2
- package/build/components/url-popover/link-editor.cjs.map +2 -2
- package/build/components/url-popover/link-viewer-url.cjs.map +2 -2
- package/build/components/url-popover/link-viewer.cjs.map +2 -2
- package/build/components/use-block-commands/index.cjs +2 -1
- package/build/components/use-block-commands/index.cjs.map +2 -2
- package/build/components/use-block-display-information/index.cjs +6 -1
- package/build/components/use-block-display-information/index.cjs.map +2 -2
- package/build/components/use-block-drop-zone/index.cjs.map +2 -2
- package/build/components/use-flash-editable-blocks/index.cjs.map +2 -2
- package/build/components/use-list-view-panel-state/index.cjs.map +2 -2
- package/build/components/use-moving-animation/index.cjs +2 -2
- package/build/components/use-moving-animation/index.cjs.map +2 -2
- package/build/components/use-on-block-drop/index.cjs.map +2 -2
- package/build/components/use-paste-styles/index.cjs.map +2 -2
- package/build/components/use-resize-canvas/index.cjs.map +2 -2
- package/build/components/use-settings/index.cjs.map +2 -2
- package/build/components/warning/index.cjs.map +2 -2
- package/build/components/writing-flow/index.cjs.map +2 -2
- package/build/components/writing-flow/use-arrow-nav.cjs +6 -1
- package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-clipboard-handler.cjs +29 -4
- package/build/components/writing-flow/use-clipboard-handler.cjs.map +3 -3
- package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-editable-root-event-handlers.cjs.map +2 -2
- package/build/components/writing-flow/use-editable-root.cjs.map +2 -2
- package/build/components/writing-flow/use-home-end.cjs.map +2 -2
- package/build/components/writing-flow/use-input.cjs +65 -13
- package/build/components/writing-flow/use-input.cjs.map +3 -3
- package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-preview-mode-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-select-all.cjs.map +2 -2
- package/build/components/writing-flow/use-selection-observer.cjs.map +2 -2
- package/build/components/writing-flow/use-tab-nav.cjs +3 -1
- package/build/components/writing-flow/use-tab-nav.cjs.map +2 -2
- package/build/components/writing-flow/utils.cjs.map +2 -2
- package/build/components/writing-mode-control/index.cjs.map +2 -2
- package/build/hooks/align.cjs.map +2 -2
- package/build/hooks/allowed-blocks.cjs.map +2 -2
- package/build/hooks/anchor.cjs.map +2 -2
- package/build/hooks/aria-label.cjs.map +2 -2
- package/build/hooks/auto-inspector-controls.cjs.map +2 -2
- package/build/hooks/background.cjs +1 -4
- package/build/hooks/background.cjs.map +2 -2
- package/build/hooks/block-bindings.cjs.map +2 -2
- package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +2 -2
- package/build/hooks/block-fields/index.cjs.map +2 -2
- package/build/hooks/block-fields/link/index.cjs.map +2 -2
- package/build/hooks/block-fields/media/index.cjs.map +2 -2
- package/build/hooks/block-fields/rich-text/index.cjs.map +2 -2
- package/build/hooks/block-fields/use-inspector-popover-placement.cjs.map +2 -2
- package/build/hooks/block-hooks.cjs.map +2 -2
- package/build/hooks/block-renaming.cjs.map +2 -2
- package/build/hooks/block-style-state.cjs.map +2 -2
- package/build/hooks/block-style-variation.cjs.map +2 -2
- package/build/hooks/border.cjs +25 -3
- package/build/hooks/border.cjs.map +2 -2
- package/build/hooks/color.cjs.map +2 -2
- package/build/hooks/compat.cjs.map +2 -2
- package/build/hooks/contrast-checker.cjs.map +2 -2
- package/build/hooks/custom-class-name.cjs.map +2 -2
- package/build/hooks/dimensions.cjs +9 -2
- package/build/hooks/dimensions.cjs.map +2 -2
- package/build/hooks/duotone.cjs +4 -3
- package/build/hooks/duotone.cjs.map +2 -2
- package/build/hooks/elements.cjs.map +2 -2
- package/build/hooks/fit-text.cjs.map +2 -2
- package/build/hooks/font-family.cjs +2 -4
- package/build/hooks/font-family.cjs.map +3 -3
- package/build/hooks/font-size.cjs.map +2 -2
- package/build/hooks/gap.cjs +8 -2
- package/build/hooks/gap.cjs.map +2 -2
- package/build/hooks/generated-class-name.cjs.map +2 -2
- package/build/hooks/grid-visualizer.cjs.map +2 -2
- package/build/hooks/index.cjs.map +2 -2
- package/build/hooks/layout-child.cjs +35 -13
- package/build/hooks/layout-child.cjs.map +2 -2
- package/build/hooks/layout.cjs +27 -5
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/line-height.cjs.map +2 -2
- package/build/hooks/list-view.cjs.map +2 -2
- package/build/hooks/lock.cjs.map +2 -2
- package/build/hooks/metadata.cjs.map +2 -2
- package/build/hooks/position.cjs.map +2 -2
- package/build/hooks/settings.cjs.map +2 -2
- package/build/hooks/spacing-visualizer.cjs.map +2 -2
- package/build/hooks/state-utils.cjs.map +2 -2
- package/build/hooks/states.cjs +7 -4
- package/build/hooks/states.cjs.map +2 -2
- package/build/hooks/style.cjs.map +2 -2
- package/build/hooks/supports.cjs.map +2 -2
- package/build/hooks/text-align.cjs.map +2 -2
- package/build/hooks/typography.cjs.map +2 -2
- package/build/hooks/use-border-props.cjs.map +2 -2
- package/build/hooks/use-cached-truthy.cjs.map +2 -2
- package/build/hooks/use-color-props.cjs.map +2 -2
- package/build/hooks/use-content-only-section-edit.cjs.map +2 -2
- package/build/hooks/use-dimensions-props.cjs.map +2 -2
- package/build/hooks/use-shadow-props.cjs.map +2 -2
- package/build/hooks/use-spacing-props.cjs.map +2 -2
- package/build/hooks/use-typography-props.cjs +2 -4
- package/build/hooks/use-typography-props.cjs.map +3 -3
- package/build/hooks/use-zoom-out.cjs.map +2 -2
- package/build/hooks/utils.cjs.map +2 -2
- package/build/index.cjs.map +2 -2
- package/build/layouts/constrained.cjs +8 -1
- package/build/layouts/constrained.cjs.map +2 -2
- package/build/layouts/flex.cjs +9 -0
- package/build/layouts/flex.cjs.map +2 -2
- package/build/layouts/flow.cjs +4 -1
- package/build/layouts/flow.cjs.map +2 -2
- package/build/layouts/grid.cjs +5 -1
- package/build/layouts/grid.cjs.map +2 -2
- package/build/layouts/index.cjs.map +2 -2
- package/build/layouts/utils.cjs.map +2 -2
- package/build/lock-unlock.cjs.map +2 -2
- package/build/private-apis.cjs +3 -1
- package/build/private-apis.cjs.map +2 -2
- package/build/store/actions.cjs +105 -37
- package/build/store/actions.cjs.map +3 -3
- package/build/store/defaults.cjs +2 -0
- package/build/store/defaults.cjs.map +2 -2
- package/build/store/get-block-settings.cjs.map +2 -2
- package/build/store/index.cjs.map +2 -2
- package/build/store/private-actions.cjs +19 -2
- package/build/store/private-actions.cjs.map +2 -2
- package/build/store/private-selectors.cjs +28 -10
- package/build/store/private-selectors.cjs.map +2 -2
- package/build/store/reducer.cjs +3 -1
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/selectors.cjs +21 -8
- package/build/store/selectors.cjs.map +2 -2
- package/build/store/utils.cjs.map +2 -2
- package/build/utils/fit-text-frontend.cjs.map +2 -2
- package/build/utils/format-font-style.cjs.map +2 -2
- package/build/utils/format-font-weight.cjs.map +2 -2
- package/build/utils/get-font-styles-and-weights.cjs.map +2 -2
- package/build/utils/group-blocks.cjs +42 -0
- package/build/utils/group-blocks.cjs.map +7 -0
- package/build/utils/native-undo.cjs.map +2 -2
- package/build/utils/pasting.cjs.map +2 -2
- package/build/utils/selection.cjs.map +2 -2
- package/build/{components/gradients/with-gradient.cjs → utils/sibling-block-attributes.cjs} +22 -13
- package/build/utils/sibling-block-attributes.cjs.map +7 -0
- package/build/utils/transform-styles/index.cjs.map +2 -2
- package/build/utils/use-notify-copy.cjs.map +2 -2
- package/build-module/autocompleters/block.mjs.map +2 -2
- package/build-module/components/alignment-control/index.mjs.map +2 -2
- package/build-module/components/alignment-control/ui.mjs.map +2 -2
- package/build-module/components/autocomplete/index.mjs.map +2 -2
- package/build-module/components/background-image-control/index.mjs.map +2 -2
- package/build-module/components/block-actions/index.mjs +3 -6
- package/build-module/components/block-actions/index.mjs.map +2 -2
- package/build-module/components/block-alignment-control/constants.mjs.map +2 -2
- package/build-module/components/block-alignment-control/index.mjs.map +2 -2
- package/build-module/components/block-alignment-control/ui.mjs.map +2 -2
- package/build-module/components/block-alignment-control/use-available-alignments.mjs.map +2 -2
- package/build-module/components/block-alignment-matrix-control/index.mjs.map +2 -2
- package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +2 -2
- package/build-module/components/block-allowed-blocks/modal.mjs.map +2 -2
- package/build-module/components/block-bindings/attribute-control.mjs.map +2 -2
- package/build-module/components/block-bindings/index.mjs.map +2 -2
- package/build-module/components/block-bindings/source-fields-list.mjs.map +2 -2
- package/build-module/components/block-bindings/use-block-bindings-utils.mjs.map +2 -2
- package/build-module/components/block-breadcrumb/index.mjs.map +2 -2
- package/build-module/components/block-canvas/index.mjs.map +2 -2
- package/build-module/components/block-card/index.mjs.map +2 -2
- package/build-module/components/block-compare/block-view.mjs.map +2 -2
- package/build-module/components/block-compare/index.mjs.map +2 -2
- package/build-module/components/block-content-overlay/index.mjs.map +2 -2
- package/build-module/components/block-context/index.mjs.map +2 -2
- package/build-module/components/block-controls/fill.mjs.map +2 -2
- package/build-module/components/block-controls/groups.mjs.map +2 -2
- package/build-module/components/block-controls/hook.mjs.map +2 -2
- package/build-module/components/block-controls/index.mjs.map +2 -2
- package/build-module/components/block-controls/slot.mjs.map +2 -2
- package/build-module/components/block-draggable/draggable-chip.mjs.map +2 -2
- package/build-module/components/block-draggable/index.mjs.map +2 -2
- package/build-module/components/block-draggable/use-scroll-when-dragging.mjs.map +2 -2
- package/build-module/components/block-edit/context.mjs.map +2 -2
- package/build-module/components/block-edit/edit.mjs.map +2 -2
- package/build-module/components/block-edit/index.mjs.map +2 -2
- package/build-module/components/block-edit/multiple-usage-warning.mjs.map +2 -2
- package/build-module/components/block-edit-visually-button/index.mjs.map +2 -2
- package/build-module/components/block-editing-mode/index.mjs.map +2 -2
- package/build-module/components/block-full-height-alignment-control/index.mjs.map +2 -2
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +2 -2
- package/build-module/components/block-heading-level-dropdown/index.mjs.map +2 -2
- package/build-module/components/block-icon/index.mjs.map +2 -2
- package/build-module/components/block-inspector/edit-contents.mjs +49 -41
- package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +18 -10
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-inspector/inspector-pre-tabs-slot-fill.mjs.map +2 -2
- package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.mjs.map +2 -2
- package/build-module/components/block-keyboard-shortcuts/index.mjs +173 -0
- package/build-module/components/block-keyboard-shortcuts/index.mjs.map +7 -0
- package/build-module/components/block-list/block-crash-boundary.mjs.map +2 -2
- package/build-module/components/block-list/block-crash-warning.mjs.map +2 -2
- package/build-module/components/block-list/block-html.mjs.map +2 -2
- package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
- package/build-module/components/block-list/block.mjs +46 -13
- package/build-module/components/block-list/block.mjs.map +3 -3
- package/build-module/components/block-list/index.mjs +40 -11
- package/build-module/components/block-list/index.mjs.map +2 -2
- package/build-module/components/block-list/layout.mjs.map +2 -2
- package/build-module/components/block-list/private-block-context.mjs.map +2 -2
- package/build-module/components/block-list/subdirectory-icon.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/index.mjs +36 -2
- package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-block-refs.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +4 -0
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-intersection-observer.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs +6 -7
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs.map +2 -2
- package/build-module/components/block-list/use-in-between-inserter.mjs.map +2 -2
- package/build-module/components/block-list/zoom-out-separator.mjs.map +2 -2
- package/build-module/components/block-list-appender/index.mjs.map +2 -2
- package/build-module/components/block-lock/menu-item.mjs.map +2 -2
- package/build-module/components/block-lock/modal.mjs.map +2 -2
- package/build-module/components/block-lock/toolbar.mjs.map +2 -2
- package/build-module/components/block-lock/use-block-lock.mjs.map +2 -2
- package/build-module/components/block-manager/category.mjs.map +2 -2
- package/build-module/components/block-manager/checklist.mjs.map +2 -2
- package/build-module/components/block-manager/index.mjs.map +2 -2
- package/build-module/components/block-mover/button.mjs +17 -11
- package/build-module/components/block-mover/button.mjs.map +2 -2
- package/build-module/components/block-mover/index.mjs.map +2 -2
- package/build-module/components/block-mover/mover-description.mjs.map +2 -2
- package/build-module/components/block-navigation/dropdown.mjs.map +2 -2
- package/build-module/components/block-parent-selector/index.mjs +101 -32
- package/build-module/components/block-parent-selector/index.mjs.map +2 -2
- package/build-module/components/block-pattern-setup/index.mjs.map +2 -2
- package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +2 -2
- package/build-module/components/block-pattern-setup/use-patterns-setup.mjs.map +2 -2
- package/build-module/components/block-patterns-list/index.mjs.map +2 -2
- package/build-module/components/block-patterns-paging/index.mjs.map +2 -2
- package/build-module/components/block-popover/cover.mjs.map +2 -2
- package/build-module/components/block-popover/drop-zone.mjs.map +2 -2
- package/build-module/components/block-popover/inbetween.mjs +2 -2
- package/build-module/components/block-popover/inbetween.mjs.map +2 -2
- package/build-module/components/block-popover/index.mjs.map +2 -2
- package/build-module/components/block-popover/use-popover-scroll.mjs.map +2 -2
- package/build-module/components/block-preview/async.mjs.map +2 -2
- package/build-module/components/block-preview/auto.mjs.map +2 -2
- package/build-module/components/block-preview/index.mjs +0 -4
- package/build-module/components/block-preview/index.mjs.map +2 -2
- package/build-module/components/block-quick-navigation/index.mjs.map +2 -2
- package/build-module/components/block-removal-warning-modal/index.mjs.map +2 -2
- package/build-module/components/block-rename/modal.mjs.map +2 -2
- package/build-module/components/block-rename/rename-control.mjs.map +2 -2
- package/build-module/components/block-rename/use-block-rename.mjs.map +2 -2
- package/build-module/components/block-selection-clearer/index.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +2 -2
- package/build-module/components/block-settings-menu/block-settings-menu-first-item.mjs.map +2 -2
- package/build-module/components/block-settings-menu/index.mjs.map +2 -2
- package/build-module/components/block-settings-menu-controls/index.mjs.map +2 -2
- package/build-module/components/block-styles/index.mjs +79 -35
- package/build-module/components/block-styles/index.mjs.map +2 -2
- package/build-module/components/block-styles/menu-items.mjs.map +2 -2
- package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
- package/build-module/components/block-styles/utils.mjs.map +2 -2
- package/build-module/components/block-switcher/block-styles-menu.mjs.map +2 -2
- package/build-module/components/block-switcher/block-transformations-menu.mjs.map +2 -2
- package/build-module/components/block-switcher/block-variation-transformations.mjs.map +2 -2
- package/build-module/components/block-switcher/index.mjs.map +2 -2
- package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +2 -2
- package/build-module/components/block-switcher/preview-block-popover.mjs.map +2 -2
- package/build-module/components/block-switcher/use-transformed-patterns.mjs.map +2 -2
- package/build-module/components/block-switcher/utils.mjs.map +2 -2
- package/build-module/components/block-title/index.mjs.map +2 -2
- package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-last-item.mjs.map +2 -2
- package/build-module/components/block-toolbar/change-design.mjs.map +2 -2
- package/build-module/components/block-toolbar/edit-section-button.mjs.map +2 -2
- package/build-module/components/block-toolbar/index.mjs.map +2 -2
- package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +2 -2
- package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
- package/build-module/components/block-toolbar/use-has-block-toolbar.mjs.map +2 -2
- package/build-module/components/block-toolbar/utils.mjs.map +2 -2
- package/build-module/components/block-tools/block-toolbar-popover.mjs.map +2 -2
- package/build-module/components/block-tools/empty-block-inserter.mjs.map +2 -2
- package/build-module/components/block-tools/index.mjs +3 -9
- package/build-module/components/block-tools/index.mjs.map +2 -2
- package/build-module/components/block-tools/insertion-point.mjs.map +2 -2
- package/build-module/components/block-tools/use-block-toolbar-popover-props.mjs.map +2 -2
- package/build-module/components/block-tools/use-selected-block-tool-props.mjs.map +2 -2
- package/build-module/components/block-tools/use-show-block-tools.mjs.map +2 -2
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +2 -2
- package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +2 -2
- package/build-module/components/block-types-list/index.mjs.map +2 -2
- package/build-module/components/block-variation-picker/index.mjs.map +2 -2
- package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
- package/build-module/components/block-vertical-alignment-control/index.mjs.map +2 -2
- package/build-module/components/block-vertical-alignment-control/ui.mjs.map +2 -2
- package/build-module/components/block-visibility/constants.mjs +1 -1
- package/build-module/components/block-visibility/constants.mjs.map +3 -3
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/use-block-visibility.mjs +15 -17
- package/build-module/components/block-visibility/use-block-visibility.mjs.map +3 -3
- package/build-module/components/block-visibility/utils.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
- package/build-module/components/border-radius-control/constants.mjs.map +2 -2
- package/build-module/components/border-radius-control/index.mjs.map +2 -2
- package/build-module/components/border-radius-control/linked-button.mjs.map +2 -2
- package/build-module/components/border-radius-control/utils.mjs.map +2 -2
- package/build-module/components/button-block-appender/index.mjs.map +2 -2
- package/build-module/components/child-layout-control/index.mjs +5 -5
- package/build-module/components/child-layout-control/index.mjs.map +2 -2
- package/build-module/components/collab/note-icon-slot.mjs.map +2 -2
- package/build-module/components/collab/note-icon-toolbar-slot.mjs.map +2 -2
- package/build-module/components/color-palette/control.mjs.map +2 -2
- package/build-module/components/color-palette/index.mjs.map +2 -2
- package/build-module/components/color-palette/with-color-context.mjs.map +2 -2
- package/build-module/components/color-style-selector/index.mjs.map +2 -2
- package/build-module/components/colors/utils.mjs +1 -3
- package/build-module/components/colors/utils.mjs.map +2 -2
- package/build-module/components/colors/with-colors.mjs +57 -75
- package/build-module/components/colors/with-colors.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/colors-gradients/dropdown.mjs.map +2 -2
- package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +5 -5
- package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +2 -2
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.mjs.map +2 -2
- package/build-module/components/contrast-checker/index.mjs.map +2 -2
- package/build-module/components/convert-to-group-buttons/index.mjs +2 -5
- package/build-module/components/convert-to-group-buttons/index.mjs.map +2 -2
- package/build-module/components/convert-to-group-buttons/toolbar.mjs +3 -5
- package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +2 -2
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.mjs.map +2 -2
- package/build-module/components/copy-handler/index.mjs.map +2 -2
- package/build-module/components/date-format-picker/index.mjs.map +2 -2
- package/build-module/components/default-block-appender/index.mjs.map +2 -2
- package/build-module/components/dimension-control/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +4 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/index.mjs +19 -17
- package/build-module/components/dimensions-tool/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/utils.mjs +35 -0
- package/build-module/components/dimensions-tool/utils.mjs.map +7 -0
- package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
- package/build-module/components/duotone-control/index.mjs +2 -0
- package/build-module/components/duotone-control/index.mjs.map +2 -2
- package/build-module/components/editable-text/index.mjs.map +2 -2
- package/build-module/components/editor-styles/index.mjs.map +2 -2
- package/build-module/components/fit-text-size-warning/index.mjs.map +2 -2
- package/build-module/components/font-appearance-control/index.mjs.map +2 -2
- package/build-module/components/font-family/index.mjs.map +2 -2
- package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
- package/build-module/components/font-sizes/utils.mjs +1 -3
- package/build-module/components/font-sizes/utils.mjs.map +2 -2
- package/build-module/components/font-sizes/with-font-sizes.mjs.map +2 -2
- package/build-module/components/global-styles/advanced-panel.mjs +5 -2
- package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
- package/build-module/components/global-styles/background-panel.mjs.map +2 -2
- package/build-module/components/global-styles/border-panel.mjs +2 -5
- package/build-module/components/global-styles/border-panel.mjs.map +2 -2
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
- package/build-module/components/global-styles/color-panel.mjs +14 -2
- package/build-module/components/global-styles/color-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs +9 -5
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/filters-panel.mjs +16 -9
- package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
- package/build-module/components/global-styles/hooks.mjs.map +2 -2
- package/build-module/components/global-styles/image-settings-panel.mjs.map +2 -2
- package/build-module/components/global-styles/inheritance/index.mjs.map +2 -2
- package/build-module/components/global-styles/inherited-value-context.mjs.map +2 -2
- package/build-module/components/global-styles/shadow-panel-components.mjs +16 -11
- package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
- package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
- package/build-module/components/global-styles/state-control.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
- package/build-module/components/global-styles/typography-utils.mjs.map +2 -2
- package/build-module/components/global-styles/utils.mjs +8 -0
- package/build-module/components/global-styles/utils.mjs.map +2 -2
- package/build-module/components/gradients/use-gradient.mjs.map +2 -2
- package/build-module/components/grid/grid-item-movers.mjs.map +2 -2
- package/build-module/components/grid/grid-item-resizer.mjs.map +2 -2
- package/build-module/components/grid/grid-visualizer.mjs.map +2 -2
- package/build-module/components/grid/use-get-number-of-blocks-before-cell.mjs.map +2 -2
- package/build-module/components/grid/use-grid-layout-sync.mjs.map +2 -2
- package/build-module/components/height-control/index.mjs.map +2 -2
- package/build-module/components/html-element-control/index.mjs.map +2 -2
- package/build-module/components/html-element-control/messages.mjs.map +2 -2
- package/build-module/components/iframe/index.mjs +19 -24
- package/build-module/components/iframe/index.mjs.map +2 -2
- package/build-module/components/iframe/use-scale-canvas.mjs +21 -7
- package/build-module/components/iframe/use-scale-canvas.mjs.map +2 -2
- package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +2 -2
- package/build-module/components/image-editor/context.mjs.map +2 -2
- package/build-module/components/image-editor/cropper.mjs.map +2 -2
- package/build-module/components/image-editor/form-controls.mjs.map +2 -2
- package/build-module/components/image-editor/index.mjs.map +2 -2
- package/build-module/components/image-editor/rotation-button.mjs.map +2 -2
- package/build-module/components/image-editor/use-save-image.mjs.map +2 -2
- package/build-module/components/image-editor/use-transform-image.mjs.map +2 -2
- package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
- package/build-module/components/image-size-control/index.mjs.map +2 -2
- package/build-module/components/image-size-control/use-dimension-handler.mjs.map +2 -2
- package/build-module/components/inner-blocks/button-block-appender.mjs.map +2 -2
- package/build-module/components/inner-blocks/default-block-appender.mjs.map +2 -2
- package/build-module/components/inner-blocks/index.mjs +5 -3
- package/build-module/components/inner-blocks/index.mjs.map +2 -2
- package/build-module/components/inner-blocks/use-block-context.mjs.map +2 -2
- package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs +35 -8
- package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs.map +2 -2
- package/build-module/components/inner-blocks/use-nested-settings-update.mjs.map +2 -2
- package/build-module/components/inner-content/index.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-explorer/index.mjs +39 -22
- package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs +22 -56
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs +20 -45
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/index.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.mjs.map +2 -2
- package/build-module/components/inserter/block-patterns-tab/utils.mjs.map +2 -2
- package/build-module/components/inserter/block-types-tab.mjs.map +2 -2
- package/build-module/components/inserter/category-tabs/index.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-insertion-point.mjs +4 -4
- package/build-module/components/inserter/hooks/use-insertion-point.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-patterns-paging.mjs.map +2 -2
- package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
- package/build-module/components/inserter/index.mjs +4 -13
- package/build-module/components/inserter/index.mjs.map +2 -2
- package/build-module/components/inserter/library.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/utils.mjs.map +2 -2
- package/build-module/components/inserter/menu.mjs +19 -8
- package/build-module/components/inserter/menu.mjs.map +2 -2
- package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
- package/build-module/components/inserter/no-results.mjs.map +2 -2
- package/build-module/components/inserter/panel.mjs.map +2 -2
- package/build-module/components/inserter/preview-panel.mjs.map +2 -2
- package/build-module/components/inserter/quick-inserter.mjs +30 -27
- package/build-module/components/inserter/quick-inserter.mjs.map +2 -2
- package/build-module/components/inserter/search-items.mjs.map +2 -2
- package/build-module/components/inserter/search-results.mjs.map +2 -2
- package/build-module/components/inserter/tips.mjs.map +2 -2
- package/build-module/components/inserter-draggable-blocks/index.mjs.map +2 -2
- package/build-module/components/inserter-list-item/index.mjs.map +2 -2
- package/build-module/components/inserter-listbox/context.mjs.map +2 -2
- package/build-module/components/inserter-listbox/group.mjs.map +2 -2
- package/build-module/components/inserter-listbox/index.mjs.map +2 -2
- package/build-module/components/inserter-listbox/item.mjs.map +2 -2
- package/build-module/components/inserter-listbox/row.mjs.map +2 -2
- package/build-module/components/inserter-menu-extension/index.mjs.map +2 -2
- package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +2 -2
- package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls/fill.mjs +15 -17
- package/build-module/components/inspector-controls/fill.mjs.map +2 -2
- package/build-module/components/inspector-controls/groups.mjs.map +2 -2
- package/build-module/components/inspector-controls/index.mjs.map +2 -2
- package/build-module/components/inspector-controls/last-item.mjs.map +2 -2
- package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +2 -2
- package/build-module/components/inspector-controls/slot.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/index.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/utils.mjs.map +2 -2
- package/build-module/components/inspector-popover-header/index.mjs.map +2 -2
- package/build-module/components/justify-content-control/index.mjs.map +2 -2
- package/build-module/components/justify-content-control/ui.mjs.map +2 -2
- package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
- package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
- package/build-module/components/line-height-control/index.mjs.map +2 -2
- package/build-module/components/link-control/constants.mjs.map +2 -2
- package/build-module/components/link-control/index.mjs.map +2 -2
- package/build-module/components/link-control/is-url-like.mjs.map +2 -2
- package/build-module/components/link-control/link-preview.mjs.map +2 -2
- package/build-module/components/link-control/normalize-url.mjs.map +2 -2
- package/build-module/components/link-control/search-create-button.mjs.map +2 -2
- package/build-module/components/link-control/search-input.mjs.map +2 -2
- package/build-module/components/link-control/search-item.mjs.map +2 -2
- package/build-module/components/link-control/search-results.mjs +1 -1
- package/build-module/components/link-control/search-results.mjs.map +2 -2
- package/build-module/components/link-control/settings-drawer.mjs.map +2 -2
- package/build-module/components/link-control/settings.mjs.map +2 -2
- package/build-module/components/link-control/use-create-page.mjs.map +2 -2
- package/build-module/components/link-control/use-internal-value.mjs.map +2 -2
- package/build-module/components/link-control/use-rich-url-data.mjs +1 -1
- package/build-module/components/link-control/use-rich-url-data.mjs.map +2 -2
- package/build-module/components/link-control/use-search-handler.mjs.map +2 -2
- package/build-module/components/link-control/viewer-slot.mjs.map +2 -2
- package/build-module/components/link-picker/link-picker.mjs.map +2 -2
- package/build-module/components/link-picker/link-preview.mjs.map +2 -2
- package/build-module/components/list-view/appender.mjs +7 -4
- package/build-module/components/list-view/appender.mjs.map +2 -2
- package/build-module/components/list-view/aria-referenced-text.mjs +2 -9
- package/build-module/components/list-view/aria-referenced-text.mjs.map +2 -2
- package/build-module/components/list-view/block-contents.mjs +18 -21
- package/build-module/components/list-view/block-contents.mjs.map +2 -2
- package/build-module/components/list-view/block-select-button.mjs +49 -26
- package/build-module/components/list-view/block-select-button.mjs.map +2 -2
- package/build-module/components/list-view/block.mjs +40 -47
- package/build-module/components/list-view/block.mjs.map +2 -2
- package/build-module/components/list-view/branch.mjs +100 -80
- package/build-module/components/list-view/branch.mjs.map +2 -2
- package/build-module/components/list-view/context.mjs +11 -1
- package/build-module/components/list-view/context.mjs.map +2 -2
- package/build-module/components/list-view/drop-indicator.mjs +6 -6
- package/build-module/components/list-view/drop-indicator.mjs.map +2 -2
- package/build-module/components/list-view/expander.mjs.map +2 -2
- package/build-module/components/list-view/index.mjs +119 -100
- package/build-module/components/list-view/index.mjs.map +3 -3
- package/build-module/components/list-view/leaf.mjs.map +2 -2
- package/build-module/components/list-view/use-block-selection.mjs.map +2 -2
- package/build-module/components/list-view/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-block-indexes.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-collapse-items.mjs +3 -4
- package/build-module/components/list-view/use-list-view-collapse-items.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-drop-zone.mjs +7 -13
- package/build-module/components/list-view/use-list-view-drop-zone.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-expand-selected-item.mjs +3 -3
- package/build-module/components/list-view/use-list-view-expand-selected-item.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-images.mjs +4 -3
- package/build-module/components/list-view/use-list-view-images.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-scroll-into-view.mjs.map +2 -2
- package/build-module/components/list-view/utils.mjs +18 -4
- package/build-module/components/list-view/utils.mjs.map +2 -2
- package/build-module/components/media-placeholder/index.mjs +3 -3
- package/build-module/components/media-placeholder/index.mjs.map +2 -2
- package/build-module/components/media-replace-flow/index.mjs.map +2 -2
- package/build-module/components/media-upload/check.mjs.map +2 -2
- package/build-module/components/media-upload/index.mjs.map +2 -2
- package/build-module/components/multi-selection-inspector/index.mjs +33 -12
- package/build-module/components/multi-selection-inspector/index.mjs.map +2 -2
- package/build-module/components/navigable-toolbar/index.mjs +30 -18
- package/build-module/components/navigable-toolbar/index.mjs.map +2 -2
- package/build-module/components/observe-typing/index.mjs.map +2 -2
- package/build-module/components/panel-color-settings/index.mjs.map +2 -2
- package/build-module/components/plain-text/index.mjs.map +2 -2
- package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
- package/build-module/components/preset-input-control/index.mjs.map +2 -2
- package/build-module/components/preview-options/index.mjs.map +2 -2
- package/build-module/components/provider/block-refs-provider.mjs.map +2 -2
- package/build-module/components/provider/index.mjs +6 -2
- package/build-module/components/provider/index.mjs.map +2 -2
- package/build-module/components/provider/selection-context.mjs.map +2 -2
- package/build-module/components/provider/use-block-sync.mjs.map +2 -2
- package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
- package/build-module/components/provider/with-registry-provider.mjs.map +2 -2
- package/build-module/components/publish-date-time-picker/index.mjs +3 -2
- package/build-module/components/publish-date-time-picker/index.mjs.map +2 -2
- package/build-module/components/recursion-provider/index.mjs.map +2 -2
- package/build-module/components/resizable-box-popover/index.mjs.map +2 -2
- package/build-module/components/resolution-tool/index.mjs.map +2 -2
- package/build-module/components/responsive-block-control/index.mjs.map +2 -2
- package/build-module/components/responsive-block-control/label.mjs.map +2 -2
- package/build-module/components/rich-text/content.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs +46 -39
- package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/firefox-compat.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/index.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-rules.mjs +13 -10
- package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -1
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
- package/build-module/components/rich-text/format-edit.mjs.map +2 -2
- package/build-module/components/rich-text/format-toolbar/index.mjs.map +2 -2
- package/build-module/components/rich-text/format-toolbar-container.mjs.map +2 -2
- package/build-module/components/rich-text/get-rich-text-values.mjs.map +2 -2
- package/build-module/components/rich-text/index.mjs +7 -5
- package/build-module/components/rich-text/index.mjs.map +2 -2
- package/build-module/components/rich-text/multiline.mjs +112 -72
- package/build-module/components/rich-text/multiline.mjs.map +2 -2
- package/build-module/components/rich-text/prevent-event-discovery.mjs.map +2 -2
- package/build-module/components/rich-text/toolbar-button.mjs.map +2 -2
- package/build-module/components/rich-text/use-mark-persistent.mjs.map +2 -2
- package/build-module/components/rich-text/utils.mjs.map +2 -2
- package/build-module/components/rich-text/with-deprecations.mjs.map +2 -2
- package/build-module/components/selection-scroll-into-view/index.mjs.map +2 -2
- package/build-module/components/skip-to-selected-block/index.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/index.mjs +2 -2
- package/build-module/components/spacing-sizes-control/index.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/linked-button.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/utils.mjs.map +2 -2
- package/build-module/components/tabbed-sidebar/index.mjs.map +2 -2
- package/build-module/components/text-alignment-control/index.mjs.map +2 -2
- package/build-module/components/text-decoration-control/index.mjs.map +2 -2
- package/build-module/components/text-indent-control/index.mjs.map +2 -2
- package/build-module/components/text-transform-control/index.mjs.map +2 -2
- package/build-module/components/tool-selector/index.mjs.map +2 -2
- package/build-module/components/typewriter/index.mjs.map +2 -2
- package/build-module/components/unit-control/index.mjs.map +2 -2
- package/build-module/components/url-input/button.mjs.map +2 -2
- package/build-module/components/url-input/index.mjs +30 -48
- package/build-module/components/url-input/index.mjs.map +2 -2
- package/build-module/components/url-popover/image-url-input-ui.mjs +2 -2
- package/build-module/components/url-popover/image-url-input-ui.mjs.map +2 -2
- package/build-module/components/url-popover/index.mjs.map +2 -2
- package/build-module/components/url-popover/link-editor.mjs.map +2 -2
- package/build-module/components/url-popover/link-viewer-url.mjs.map +2 -2
- package/build-module/components/url-popover/link-viewer.mjs.map +2 -2
- package/build-module/components/use-block-commands/index.mjs +2 -1
- package/build-module/components/use-block-commands/index.mjs.map +2 -2
- package/build-module/components/use-block-display-information/index.mjs +2 -1
- package/build-module/components/use-block-display-information/index.mjs.map +2 -2
- package/build-module/components/use-block-drop-zone/index.mjs.map +2 -2
- package/build-module/components/use-flash-editable-blocks/index.mjs.map +2 -2
- package/build-module/components/use-list-view-panel-state/index.mjs.map +2 -2
- package/build-module/components/use-moving-animation/index.mjs +2 -2
- package/build-module/components/use-moving-animation/index.mjs.map +2 -2
- package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
- package/build-module/components/use-paste-styles/index.mjs.map +2 -2
- package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
- package/build-module/components/use-settings/index.mjs.map +2 -2
- package/build-module/components/warning/index.mjs.map +2 -2
- package/build-module/components/writing-flow/index.mjs.map +2 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs +11 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs +31 -5
- package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs.map +2 -2
- package/build-module/components/writing-flow/use-editable-root.mjs.map +2 -2
- package/build-module/components/writing-flow/use-home-end.mjs.map +2 -2
- package/build-module/components/writing-flow/use-input.mjs +66 -14
- package/build-module/components/writing-flow/use-input.mjs.map +3 -3
- package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-preview-mode-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
- package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
- package/build-module/components/writing-flow/use-tab-nav.mjs +3 -1
- package/build-module/components/writing-flow/use-tab-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/utils.mjs.map +2 -2
- package/build-module/components/writing-mode-control/index.mjs.map +2 -2
- package/build-module/hooks/align.mjs.map +2 -2
- package/build-module/hooks/allowed-blocks.mjs.map +2 -2
- package/build-module/hooks/anchor.mjs.map +2 -2
- package/build-module/hooks/aria-label.mjs.map +2 -2
- package/build-module/hooks/auto-inspector-controls.mjs.map +2 -2
- package/build-module/hooks/background.mjs +1 -4
- package/build-module/hooks/background.mjs.map +2 -2
- package/build-module/hooks/block-bindings.mjs.map +2 -2
- package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +2 -2
- package/build-module/hooks/block-fields/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/link/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/media/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
- package/build-module/hooks/block-fields/use-inspector-popover-placement.mjs.map +2 -2
- package/build-module/hooks/block-hooks.mjs.map +2 -2
- package/build-module/hooks/block-renaming.mjs.map +2 -2
- package/build-module/hooks/block-style-state.mjs.map +2 -2
- package/build-module/hooks/block-style-variation.mjs.map +2 -2
- package/build-module/hooks/border.mjs +26 -8
- package/build-module/hooks/border.mjs.map +2 -2
- package/build-module/hooks/color.mjs.map +2 -2
- package/build-module/hooks/compat.mjs.map +2 -2
- package/build-module/hooks/contrast-checker.mjs.map +2 -2
- package/build-module/hooks/custom-class-name.mjs.map +2 -2
- package/build-module/hooks/dimensions.mjs +9 -2
- package/build-module/hooks/dimensions.mjs.map +2 -2
- package/build-module/hooks/duotone.mjs +8 -4
- package/build-module/hooks/duotone.mjs.map +2 -2
- package/build-module/hooks/elements.mjs.map +2 -2
- package/build-module/hooks/fit-text.mjs.map +2 -2
- package/build-module/hooks/font-family.mjs +1 -3
- package/build-module/hooks/font-family.mjs.map +2 -2
- package/build-module/hooks/font-size.mjs.map +2 -2
- package/build-module/hooks/gap.mjs +6 -1
- package/build-module/hooks/gap.mjs.map +2 -2
- package/build-module/hooks/generated-class-name.mjs.map +2 -2
- package/build-module/hooks/grid-visualizer.mjs.map +2 -2
- package/build-module/hooks/index.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs +36 -13
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +24 -4
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/line-height.mjs.map +2 -2
- package/build-module/hooks/list-view.mjs.map +2 -2
- package/build-module/hooks/lock.mjs.map +2 -2
- package/build-module/hooks/metadata.mjs.map +2 -2
- package/build-module/hooks/position.mjs.map +2 -2
- package/build-module/hooks/settings.mjs.map +2 -2
- package/build-module/hooks/spacing-visualizer.mjs.map +2 -2
- package/build-module/hooks/state-utils.mjs.map +2 -2
- package/build-module/hooks/states.mjs +8 -5
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/hooks/style.mjs.map +2 -2
- package/build-module/hooks/supports.mjs.map +2 -2
- package/build-module/hooks/text-align.mjs.map +2 -2
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/hooks/use-border-props.mjs.map +2 -2
- package/build-module/hooks/use-cached-truthy.mjs.map +2 -2
- package/build-module/hooks/use-color-props.mjs.map +2 -2
- package/build-module/hooks/use-content-only-section-edit.mjs.map +2 -2
- package/build-module/hooks/use-dimensions-props.mjs.map +2 -2
- package/build-module/hooks/use-shadow-props.mjs.map +2 -2
- package/build-module/hooks/use-spacing-props.mjs.map +2 -2
- package/build-module/hooks/use-typography-props.mjs +1 -3
- package/build-module/hooks/use-typography-props.mjs.map +2 -2
- package/build-module/hooks/use-zoom-out.mjs.map +2 -2
- package/build-module/hooks/utils.mjs.map +2 -2
- package/build-module/index.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs +8 -1
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +9 -0
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/flow.mjs +4 -1
- package/build-module/layouts/flow.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +5 -1
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/layouts/index.mjs.map +2 -2
- package/build-module/layouts/utils.mjs.map +2 -2
- package/build-module/lock-unlock.mjs.map +2 -2
- package/build-module/private-apis.mjs +3 -1
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs +105 -37
- package/build-module/store/actions.mjs.map +3 -3
- package/build-module/store/defaults.mjs +2 -0
- package/build-module/store/defaults.mjs.map +2 -2
- package/build-module/store/get-block-settings.mjs.map +2 -2
- package/build-module/store/index.mjs.map +2 -2
- package/build-module/store/private-actions.mjs +19 -2
- package/build-module/store/private-actions.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +27 -10
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +3 -1
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/selectors.mjs +21 -8
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-module/store/utils.mjs.map +2 -2
- package/build-module/utils/fit-text-frontend.mjs.map +2 -2
- package/build-module/utils/format-font-style.mjs.map +2 -2
- package/build-module/utils/format-font-weight.mjs.map +2 -2
- package/build-module/utils/get-font-styles-and-weights.mjs.map +2 -2
- package/build-module/utils/group-blocks.mjs +21 -0
- package/build-module/utils/group-blocks.mjs.map +7 -0
- package/build-module/utils/native-undo.mjs.map +2 -2
- package/build-module/utils/pasting.mjs.map +2 -2
- package/build-module/utils/selection.mjs.map +2 -2
- package/build-module/utils/sibling-block-attributes.mjs +20 -0
- package/build-module/utils/sibling-block-attributes.mjs.map +7 -0
- package/build-module/utils/transform-styles/index.mjs.map +2 -2
- package/build-module/utils/use-notify-copy.mjs.map +2 -2
- package/build-style/content-rtl.css +2 -2
- package/build-style/content.css +2 -2
- package/build-style/style-rtl.css +145 -76
- package/build-style/style.css +145 -76
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/build-types/components/block-visibility/constants.d.ts +45 -0
- package/build-types/components/block-visibility/constants.d.ts.map +1 -0
- package/build-types/components/block-visibility/use-block-visibility.d.ts +35 -0
- package/build-types/components/block-visibility/use-block-visibility.d.ts.map +1 -0
- package/build-types/lock-unlock.d.ts +2 -0
- package/build-types/lock-unlock.d.ts.map +1 -0
- package/build-types/utils/fit-text-frontend.d.ts +0 -5
- package/build-types/utils/fit-text-frontend.d.ts.map +1 -1
- package/build-types/utils/format-font-style.d.ts +0 -3
- package/build-types/utils/format-font-style.d.ts.map +1 -1
- package/build-types/utils/format-font-weight.d.ts +0 -3
- package/build-types/utils/format-font-weight.d.ts.map +1 -1
- package/build-types/utils/get-font-styles-and-weights.d.ts.map +1 -1
- package/build-types/utils/pasting.d.ts.map +1 -1
- package/build-types/utils/selection.d.ts.map +1 -1
- package/build-types/utils/transform-styles/index.d.ts +0 -3
- package/build-types/utils/transform-styles/index.d.ts.map +1 -1
- package/package.json +43 -42
- package/src/autocompleters/block.js +0 -7
- package/src/autocompleters/test/block.js +0 -7
- package/src/components/alignment-control/index.js +0 -3
- package/src/components/alignment-control/stories/aliginment-toolbar.story.jsx +0 -7
- package/src/components/alignment-control/stories/index.story.jsx +0 -7
- package/src/components/alignment-control/test/index.js +0 -11
- package/src/components/alignment-control/ui.js +0 -3
- package/src/components/autocomplete/index.js +0 -7
- package/src/components/background-image-control/README.md +122 -0
- package/src/components/background-image-control/index.js +0 -12
- package/src/components/background-image-control/test/index.js +0 -4
- package/src/components/block-actions/README.md +67 -0
- package/src/components/block-actions/index.js +3 -14
- package/src/components/block-alignment-control/constants.js +0 -3
- package/src/components/block-alignment-control/index.js +0 -3
- package/src/components/block-alignment-control/test/index.js +0 -7
- package/src/components/block-alignment-control/ui.js +0 -11
- package/src/components/block-alignment-control/use-available-alignments.js +0 -7
- package/src/components/block-alignment-matrix-control/index.js +0 -3
- package/src/components/block-alignment-matrix-control/stories/index.story.jsx +0 -7
- package/src/components/block-allowed-blocks/allowed-blocks-control.js +0 -7
- package/src/components/block-allowed-blocks/modal.js +0 -7
- package/src/components/block-bindings/attribute-control.js +10 -11
- package/src/components/block-bindings/index.js +0 -3
- package/src/components/block-bindings/source-fields-list.js +0 -11
- package/src/components/block-bindings/test/use-block-bindings-utils.js +1 -12
- package/src/components/block-bindings/use-block-bindings-utils.js +0 -7
- package/src/components/block-breadcrumb/index.js +0 -7
- package/src/components/block-breadcrumb/test/index.js +0 -7
- package/src/components/block-canvas/index.js +0 -7
- package/src/components/block-card/index.js +0 -11
- package/src/components/block-compare/block-view.js +0 -3
- package/src/components/block-compare/index.js +0 -11
- package/src/components/block-compare/test/block-view.js +0 -7
- package/src/components/block-content-overlay/index.js +0 -7
- package/src/components/block-context/README.md +0 -1
- package/src/components/block-context/index.js +0 -3
- package/src/components/block-controls/README.md +0 -3
- package/src/components/block-controls/fill.js +0 -7
- package/src/components/block-controls/groups.js +0 -3
- package/src/components/block-controls/hook.js +0 -7
- package/src/components/block-controls/index.js +0 -3
- package/src/components/block-controls/slot.js +0 -7
- package/src/components/block-controls/test/index.js +0 -11
- package/src/components/block-draggable/draggable-chip.js +0 -7
- package/src/components/block-draggable/index.js +0 -7
- package/src/components/block-draggable/stories/index.story.jsx +0 -3
- package/src/components/block-draggable/use-scroll-when-dragging.js +0 -3
- package/src/components/block-edit/context.js +0 -3
- package/src/components/block-edit/edit.js +0 -11
- package/src/components/block-edit/index.js +0 -7
- package/src/components/block-edit/multiple-usage-warning.js +0 -7
- package/src/components/block-edit/test/edit.js +0 -11
- package/src/components/block-edit-visually-button/README.md +39 -0
- package/src/components/block-edit-visually-button/index.js +0 -7
- package/src/components/block-editing-mode/README.md +72 -0
- package/src/components/block-editing-mode/index.js +0 -7
- package/src/components/block-full-height-alignment-control/index.js +0 -3
- package/src/components/block-heading-level-dropdown/heading-level-icon.js +0 -3
- package/src/components/block-heading-level-dropdown/index.js +0 -7
- package/src/components/block-heading-level-dropdown/stories/index.story.jsx +0 -7
- package/src/components/block-icon/index.js +0 -7
- package/src/components/block-icon/stories/index.story.ts +0 -7
- package/src/components/block-icon/test/index.js +0 -11
- package/src/components/block-inspector/edit-contents.js +27 -32
- package/src/components/block-inspector/index.js +13 -14
- package/src/components/block-inspector/inspector-pre-tabs-slot-fill.js +0 -3
- package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +0 -7
- package/src/components/block-keyboard-shortcuts/index.js +256 -0
- package/src/components/block-list/README.md +98 -0
- package/src/components/block-list/block-crash-boundary.js +0 -3
- package/src/components/block-list/block-crash-warning.js +0 -7
- package/src/components/block-list/block-html.js +0 -11
- package/src/components/block-list/block-invalid-warning.js +0 -7
- package/src/components/block-list/block.js +64 -23
- package/src/components/block-list/index.js +69 -25
- package/src/components/block-list/layout.js +0 -7
- package/src/components/block-list/private-block-context.js +0 -3
- package/src/components/block-list/subdirectory-icon.js +0 -3
- package/src/components/block-list/use-block-props/index.js +57 -12
- package/src/components/block-list/use-block-props/use-block-refs.js +0 -7
- package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +0 -3
- package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -7
- package/src/components/block-list/use-block-props/use-focus-handler.js +0 -7
- package/src/components/block-list/use-block-props/use-intersection-observer.js +0 -7
- package/src/components/block-list/use-block-props/use-is-hovered.js +0 -7
- package/src/components/block-list/use-block-props/use-register-block-event-handlers.js +0 -7
- package/src/components/block-list/use-block-props/use-scroll-into-view.js +0 -3
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +6 -15
- package/src/components/block-list/use-in-between-inserter.js +0 -7
- package/src/components/block-list/zoom-out-separator.js +0 -11
- package/src/components/block-list-appender/index.js +0 -11
- package/src/components/block-lock/README.md +66 -0
- package/src/components/block-lock/menu-item.js +0 -7
- package/src/components/block-lock/modal.js +0 -7
- package/src/components/block-lock/toolbar.js +0 -7
- package/src/components/block-lock/use-block-lock.js +0 -7
- package/src/components/block-manager/category.js +0 -7
- package/src/components/block-manager/checklist.js +0 -7
- package/src/components/block-manager/index.js +0 -7
- package/src/components/block-mover/button.js +17 -26
- package/src/components/block-mover/index.js +0 -12
- package/src/components/block-mover/mover-description.js +0 -3
- package/src/components/block-mover/stories/index.story.jsx +0 -7
- package/src/components/block-mover/test/mover-description.js +0 -3
- package/src/components/block-navigation/dropdown.js +0 -11
- package/src/components/block-parent-selector/index.js +111 -37
- package/src/components/block-pattern-setup/index.js +0 -8
- package/src/components/block-pattern-setup/setup-toolbar.js +0 -7
- package/src/components/block-pattern-setup/use-patterns-setup.js +0 -7
- package/src/components/block-patterns-list/index.js +0 -11
- package/src/components/block-patterns-list/stories/index.story.jsx +3 -10
- package/src/components/block-patterns-paging/index.js +0 -3
- package/src/components/block-popover/README.md +10 -3
- package/src/components/block-popover/cover.js +0 -7
- package/src/components/block-popover/drop-zone.js +0 -7
- package/src/components/block-popover/inbetween.js +8 -13
- package/src/components/block-popover/index.js +0 -11
- package/src/components/block-popover/stories/index.story.jsx +143 -0
- package/src/components/block-popover/use-popover-scroll.js +0 -3
- package/src/components/block-preview/async.js +0 -3
- package/src/components/block-preview/auto.js +0 -7
- package/src/components/block-preview/index.js +0 -13
- package/src/components/block-preview/test/index.js +0 -11
- package/src/components/block-quick-navigation/index.js +0 -7
- package/src/components/block-removal-warning-modal/index.js +0 -7
- package/src/components/block-rename/modal.js +0 -7
- package/src/components/block-rename/rename-control.js +0 -7
- package/src/components/block-rename/use-block-rename.js +0 -3
- package/src/components/block-selection-clearer/index.js +0 -7
- package/src/components/block-selection-clearer/test/index.js +0 -11
- package/src/components/block-settings-menu/block-html-convert-button.js +0 -7
- package/src/components/block-settings-menu/block-mode-toggle.js +0 -7
- package/src/components/block-settings-menu/block-parent-selector-menu-item.js +0 -7
- package/src/components/block-settings-menu/block-settings-dropdown.js +1 -8
- package/src/components/block-settings-menu/block-settings-menu-first-item.js +0 -3
- package/src/components/block-settings-menu/index.js +0 -7
- package/src/components/block-settings-menu/test/block-mode-toggle.js +0 -11
- package/src/components/block-settings-menu-controls/index.js +0 -7
- package/src/components/block-styles/index.js +95 -54
- package/src/components/block-styles/menu-items.js +0 -3
- package/src/components/block-styles/style.scss +5 -34
- package/src/components/block-styles/test/utils.js +0 -3
- package/src/components/block-styles/use-styles-for-block.js +0 -7
- package/src/components/block-styles/utils.js +0 -3
- package/src/components/block-switcher/block-styles-menu.js +0 -7
- package/src/components/block-switcher/block-transformations-menu.js +0 -7
- package/src/components/block-switcher/block-variation-transformations.js +0 -7
- package/src/components/block-switcher/index.js +0 -7
- package/src/components/block-switcher/pattern-transformations-menu.js +0 -8
- package/src/components/block-switcher/preview-block-popover.js +0 -7
- package/src/components/block-switcher/test/index.js +0 -11
- package/src/components/block-switcher/test/use-transformed.patterns.js +0 -7
- package/src/components/block-switcher/test/utils.js +0 -7
- package/src/components/block-switcher/use-transformed-patterns.js +0 -7
- package/src/components/block-switcher/utils.js +0 -3
- package/src/components/block-title/index.js +0 -4
- package/src/components/block-title/stories/index.story.jsx +0 -7
- package/src/components/block-title/test/index.js +0 -11
- package/src/components/block-title/use-block-display-title.js +0 -7
- package/src/components/block-toolbar/block-styles-dropdown.js +0 -7
- package/src/components/block-toolbar/block-toolbar-icon.js +0 -7
- package/src/components/block-toolbar/block-toolbar-last-item.js +0 -3
- package/src/components/block-toolbar/change-design.js +0 -7
- package/src/components/block-toolbar/edit-section-button.js +0 -7
- package/src/components/block-toolbar/index.js +0 -11
- package/src/components/block-toolbar/pattern-overrides-dropdown.js +0 -7
- package/src/components/block-toolbar/switch-section-style.js +0 -7
- package/src/components/block-toolbar/test/block-toolbar-icon.js +0 -11
- package/src/components/block-toolbar/use-has-block-toolbar.js +0 -6
- package/src/components/block-toolbar/utils.js +0 -7
- package/src/components/block-tools/block-toolbar-popover.js +0 -9
- package/src/components/block-tools/empty-block-inserter.js +0 -7
- package/src/components/block-tools/index.js +3 -20
- package/src/components/block-tools/insertion-point.js +0 -11
- package/src/components/block-tools/style.scss +94 -0
- package/src/components/block-tools/use-block-toolbar-popover-props.js +0 -7
- package/src/components/block-tools/use-selected-block-tool-props.js +0 -7
- package/src/components/block-tools/use-show-block-tools.js +0 -7
- package/src/components/block-tools/zoom-out-mode-inserter-button.js +0 -7
- package/src/components/block-tools/zoom-out-mode-inserters.js +0 -7
- package/src/components/block-types-list/index.js +0 -7
- package/src/components/block-variation-picker/index.js +0 -7
- package/src/components/block-variation-transforms/index.js +0 -7
- package/src/components/block-vertical-alignment-control/index.js +0 -3
- package/src/components/block-vertical-alignment-control/test/index.js +0 -7
- package/src/components/block-vertical-alignment-control/ui.js +0 -3
- package/src/components/block-visibility/{constants.js → constants.ts} +14 -7
- package/src/components/block-visibility/modal.js +0 -11
- package/src/components/block-visibility/test/use-block-visibility.js +0 -12
- package/src/components/block-visibility/test/utils.js +0 -3
- package/src/components/block-visibility/use-block-visibility.ts +92 -0
- package/src/components/block-visibility/utils.js +0 -7
- package/src/components/block-visibility/viewport-menu-item.js +0 -7
- package/src/components/block-visibility/viewport-toolbar.js +0 -7
- package/src/components/block-visibility/viewport-visibility-info.js +0 -7
- package/src/components/border-radius-control/README.md +0 -3
- package/src/components/border-radius-control/constants.js +0 -3
- package/src/components/border-radius-control/index.js +0 -7
- package/src/components/border-radius-control/linked-button.js +0 -3
- package/src/components/border-radius-control/stories/index.story.jsx +0 -7
- package/src/components/border-radius-control/test/index.js +0 -12
- package/src/components/border-radius-control/test/utils.js +0 -3
- package/src/components/border-radius-control/utils.js +0 -7
- package/src/components/button-block-appender/index.js +0 -11
- package/src/components/child-layout-control/index.js +5 -12
- package/src/components/child-layout-control/test/index.js +0 -11
- package/src/components/collab/note-icon-slot.js +0 -3
- package/src/components/collab/note-icon-toolbar-slot.js +0 -3
- package/src/components/color-palette/control.js +0 -3
- package/src/components/color-palette/index.js +0 -7
- package/src/components/color-palette/stories/control.story.jsx +0 -7
- package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -29
- package/src/components/color-palette/test/control.js +0 -7
- package/src/components/color-palette/with-color-context.js +0 -7
- package/src/components/color-style-selector/index.js +0 -3
- package/src/components/colors/test/utils.js +0 -3
- package/src/components/colors/test/with-colors.js +6 -14
- package/src/components/colors/utils.js +1 -15
- package/src/components/colors/with-colors.js +84 -120
- package/src/components/colors-gradients/control.js +0 -11
- package/src/components/colors-gradients/dropdown.js +0 -15
- package/src/components/colors-gradients/panel-color-gradient-settings.js +21 -28
- package/src/components/colors-gradients/style.scss +17 -7
- package/src/components/colors-gradients/test/control.js +0 -7
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +0 -7
- package/src/components/contrast-checker/index.js +0 -7
- package/src/components/contrast-checker/stories/index.story.ts +0 -3
- package/src/components/contrast-checker/test/index.js +0 -11
- package/src/components/convert-to-group-buttons/index.js +2 -13
- package/src/components/convert-to-group-buttons/toolbar.js +3 -12
- package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +0 -7
- package/src/components/copy-handler/index.js +0 -7
- package/src/components/date-format-picker/index.js +0 -3
- package/src/components/date-format-picker/stories/index.story.jsx +0 -7
- package/src/components/default-block-appender/content.scss +6 -3
- package/src/components/default-block-appender/index.js +0 -11
- package/src/components/default-block-appender/test/index.js +0 -7
- package/src/components/dimension-control/index.js +0 -11
- package/src/components/dimension-control/stories/index.story.jsx +0 -7
- package/src/components/dimensions-tool/aspect-ratio-tool.js +16 -10
- package/src/components/dimensions-tool/index.js +34 -29
- package/src/components/dimensions-tool/scale-tool.js +0 -3
- package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.jsx +0 -7
- package/src/components/dimensions-tool/stories/index.story.jsx +0 -7
- package/src/components/dimensions-tool/stories/scale-tool.story.jsx +0 -7
- package/src/components/dimensions-tool/stories/width-height-tool.story.jsx +0 -7
- package/src/components/dimensions-tool/test/index.js +166 -13
- package/src/components/dimensions-tool/test/utils.js +51 -0
- package/src/components/dimensions-tool/utils.js +67 -0
- package/src/components/dimensions-tool/width-height-tool.js +0 -3
- package/src/components/duotone-control/index.js +2 -3
- package/src/components/duotone-control/test/index.js +100 -0
- package/src/components/editable-text/index.js +0 -7
- package/src/components/editor-styles/index.js +0 -11
- package/src/components/fit-text-size-warning/index.js +0 -3
- package/src/components/font-appearance-control/index.js +0 -7
- package/src/components/font-family/index.js +0 -11
- package/src/components/font-family/stories/index.story.jsx +0 -7
- package/src/components/font-sizes/font-size-picker.js +0 -7
- package/src/components/font-sizes/test/fluid-utils.js +0 -7
- package/src/components/font-sizes/test/utils.js +0 -7
- package/src/components/font-sizes/utils.js +1 -11
- package/src/components/font-sizes/with-font-sizes.js +0 -7
- package/src/components/global-styles/advanced-panel.js +5 -9
- package/src/components/global-styles/background-panel.js +0 -7
- package/src/components/global-styles/border-panel.js +11 -16
- package/src/components/global-styles/color-gradient-dropdown-item.js +0 -11
- package/src/components/global-styles/color-panel.js +13 -8
- package/src/components/global-styles/dimensions-panel.js +17 -16
- package/src/components/global-styles/filters-panel.js +24 -21
- package/src/components/global-styles/hooks.js +0 -7
- package/src/components/global-styles/image-settings-panel.js +0 -7
- package/src/components/global-styles/inheritance/index.js +0 -7
- package/src/components/global-styles/inheritance/test/index.js +0 -11
- package/src/components/global-styles/inherited-value-context.js +0 -7
- package/src/components/global-styles/shadow-panel-components.js +38 -23
- package/src/components/global-styles/state-control-badges.js +0 -7
- package/src/components/global-styles/state-control.js +0 -3
- package/src/components/global-styles/test/background-panel.js +0 -8
- package/src/components/global-styles/test/border-panel.js +230 -7
- package/src/components/global-styles/test/color-panel.js +24 -7
- package/src/components/global-styles/test/dimensions-panel.js +98 -14
- package/src/components/global-styles/test/filters-panel.js +84 -7
- package/src/components/global-styles/test/inherited-value-context-core.js +0 -11
- package/src/components/global-styles/test/inherited-value-context.js +0 -12
- package/src/components/global-styles/test/state-control-badges.js +0 -7
- package/src/components/global-styles/test/typography-panel-core.js +0 -7
- package/src/components/global-styles/test/typography-panel.js +0 -7
- package/src/components/global-styles/test/typography-utils.js +0 -3
- package/src/components/global-styles/test/utils.js +30 -0
- package/src/components/global-styles/typography-panel.js +0 -7
- package/src/components/global-styles/typography-utils.js +0 -3
- package/src/components/global-styles/utils.js +23 -3
- package/src/components/gradients/use-gradient.js +0 -7
- package/src/components/grid/grid-item-movers.js +0 -11
- package/src/components/grid/grid-item-resizer.js +0 -7
- package/src/components/grid/grid-visualizer.js +0 -11
- package/src/components/grid/use-get-number-of-blocks-before-cell.js +0 -7
- package/src/components/grid/use-grid-layout-sync.js +0 -7
- package/src/components/height-control/index.js +0 -7
- package/src/components/height-control/stories/index.story.jsx +0 -7
- package/src/components/html-element-control/index.js +0 -7
- package/src/components/html-element-control/messages.js +0 -3
- package/src/components/iframe/index.js +4 -16
- package/src/components/iframe/use-scale-canvas.js +38 -14
- package/src/components/image-editor/aspect-ratio-dropdown.js +0 -7
- package/src/components/image-editor/context.js +0 -7
- package/src/components/image-editor/cropper.js +0 -11
- package/src/components/image-editor/form-controls.js +0 -7
- package/src/components/image-editor/index.js +0 -7
- package/src/components/image-editor/rotation-button.js +0 -8
- package/src/components/image-editor/test/index.js +0 -3
- package/src/components/image-editor/use-save-image.js +0 -7
- package/src/components/image-editor/use-transform-image.js +0 -3
- package/src/components/image-editor/zoom-dropdown.js +0 -7
- package/src/components/image-size-control/index.js +0 -7
- package/src/components/image-size-control/test/index.js +0 -7
- package/src/components/image-size-control/use-dimension-handler.js +0 -3
- package/src/components/inner-blocks/README.md +2 -0
- package/src/components/inner-blocks/button-block-appender.js +0 -7
- package/src/components/inner-blocks/default-block-appender.js +0 -3
- package/src/components/inner-blocks/index.js +11 -13
- package/src/components/inner-blocks/stories/index.story.jsx +246 -0
- package/src/components/inner-blocks/test/index.js +0 -8
- package/src/components/inner-blocks/use-block-context.js +0 -7
- package/src/components/inner-blocks/use-inner-block-template-sync.js +47 -23
- package/src/components/inner-blocks/use-nested-settings-update.js +0 -7
- package/src/components/inner-content/index.js +0 -7
- package/src/components/inner-content/test/index.js +0 -11
- package/src/components/inserter/block-patterns-explorer/index.js +24 -18
- package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +18 -59
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +22 -54
- package/src/components/inserter/block-patterns-tab/index.js +0 -7
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +0 -8
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +0 -7
- package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +0 -8
- package/src/components/inserter/block-patterns-tab/utils.js +0 -4
- package/src/components/inserter/block-types-tab.js +0 -7
- package/src/components/inserter/category-tabs/index.js +0 -7
- package/src/components/inserter/hooks/use-block-types-state.js +0 -7
- package/src/components/inserter/hooks/use-insertion-point.js +9 -11
- package/src/components/inserter/hooks/use-patterns-paging.js +0 -3
- package/src/components/inserter/hooks/use-patterns-state.js +0 -7
- package/src/components/inserter/index.js +4 -28
- package/src/components/inserter/library.js +0 -7
- package/src/components/inserter/media-tab/hooks.js +0 -7
- package/src/components/inserter/media-tab/media-list.js +0 -7
- package/src/components/inserter/media-tab/media-panel.js +0 -11
- package/src/components/inserter/media-tab/media-preview.js +0 -12
- package/src/components/inserter/media-tab/media-tab.js +0 -7
- package/src/components/inserter/media-tab/test/hooks.js +0 -7
- package/src/components/inserter/media-tab/test/media-panel.js +0 -7
- package/src/components/inserter/media-tab/utils.js +0 -3
- package/src/components/inserter/menu.js +23 -21
- package/src/components/inserter/mobile-tab-navigation.js +0 -3
- package/src/components/inserter/no-results.js +0 -3
- package/src/components/inserter/panel.js +0 -3
- package/src/components/inserter/preview-panel.js +0 -7
- package/src/components/inserter/quick-inserter.js +15 -24
- package/src/components/inserter/search-items.js +0 -3
- package/src/components/inserter/search-results.js +0 -7
- package/src/components/inserter/stories/index.story.jsx +0 -7
- package/src/components/inserter/style.scss +44 -62
- package/src/components/inserter/test/get-appender-label.js +0 -3
- package/src/components/inserter/test/search-items.js +0 -3
- package/src/components/inserter/tips.js +0 -3
- package/src/components/inserter-draggable-blocks/index.js +0 -7
- package/src/components/inserter-list-item/index.js +0 -11
- package/src/components/inserter-listbox/context.js +0 -3
- package/src/components/inserter-listbox/group.js +0 -3
- package/src/components/inserter-listbox/index.js +0 -8
- package/src/components/inserter-listbox/item.js +0 -3
- package/src/components/inserter-listbox/row.js +0 -3
- package/src/components/inserter-menu-extension/index.js +0 -3
- package/src/components/inspector-controls/block-support-slot-container.js +0 -3
- package/src/components/inspector-controls/block-support-tools-panel.js +0 -7
- package/src/components/inspector-controls/fill.js +22 -37
- package/src/components/inspector-controls/groups.js +0 -3
- package/src/components/inspector-controls/index.js +0 -3
- package/src/components/inspector-controls/last-item.js +0 -7
- package/src/components/inspector-controls/list-view-content-popover.js +0 -7
- package/src/components/inspector-controls/slot.js +0 -7
- package/src/components/inspector-controls-tabs/README.md +92 -0
- package/src/components/inspector-controls-tabs/advanced-controls-panel.js +0 -7
- package/src/components/inspector-controls-tabs/content-tab.js +0 -7
- package/src/components/inspector-controls-tabs/index.js +0 -8
- package/src/components/inspector-controls-tabs/position-controls-panel.js +0 -7
- package/src/components/inspector-controls-tabs/settings-tab.js +0 -7
- package/src/components/inspector-controls-tabs/styles-tab.js +1 -8
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -7
- package/src/components/inspector-controls-tabs/utils.js +0 -3
- package/src/components/inspector-popover-header/index.js +0 -3
- package/src/components/justify-content-control/index.js +0 -3
- package/src/components/justify-content-control/ui.js +0 -3
- package/src/components/keyboard-shortcuts/index.js +0 -7
- package/src/components/letter-spacing-control/index.js +0 -7
- package/src/components/letter-spacing-control/stories/index.story.jsx +0 -7
- package/src/components/line-height-control/index.js +0 -7
- package/src/components/line-height-control/stories/index.story.jsx +0 -7
- package/src/components/line-height-control/test/index.js +0 -11
- package/src/components/link-control/constants.js +0 -3
- package/src/components/link-control/index.js +0 -11
- package/src/components/link-control/is-url-like.js +0 -3
- package/src/components/link-control/link-preview.js +0 -13
- package/src/components/link-control/normalize-url.js +0 -7
- package/src/components/link-control/search-create-button.js +0 -3
- package/src/components/link-control/search-input.js +0 -7
- package/src/components/link-control/search-item.js +0 -3
- package/src/components/link-control/search-results.js +1 -12
- package/src/components/link-control/settings-drawer.js +0 -3
- package/src/components/link-control/settings.js +0 -3
- package/src/components/link-control/style.scss +1 -1
- package/src/components/link-control/test/index.js +5 -11
- package/src/components/link-control/test/is-url-like.js +0 -3
- package/src/components/link-control/test/url-normalization.test.js +0 -11
- package/src/components/link-control/use-create-page.js +0 -3
- package/src/components/link-control/use-internal-value.js +0 -7
- package/src/components/link-control/use-rich-url-data.js +1 -8
- package/src/components/link-control/use-search-handler.js +0 -7
- package/src/components/link-control/viewer-slot.js +0 -3
- package/src/components/link-picker/link-picker.js +0 -7
- package/src/components/link-picker/link-preview.js +0 -7
- package/src/components/link-picker/test/index.js +0 -11
- package/src/components/list-view/appender.js +7 -11
- package/src/components/list-view/aria-referenced-text.js +12 -19
- package/src/components/list-view/block-contents.js +28 -28
- package/src/components/list-view/block-select-button.js +62 -40
- package/src/components/list-view/block.js +41 -58
- package/src/components/list-view/branch.js +179 -169
- package/src/components/list-view/context.js +24 -3
- package/src/components/list-view/drop-indicator.js +6 -18
- package/src/components/list-view/expander.js +0 -3
- package/src/components/list-view/index.js +145 -117
- package/src/components/list-view/leaf.js +0 -11
- package/src/components/list-view/style.scss +24 -4
- package/src/components/list-view/test/use-list-view-drop-zone.js +0 -3
- package/src/components/list-view/test/utils.js +0 -3
- package/src/components/list-view/use-block-selection.js +0 -7
- package/src/components/list-view/use-clipboard-handler.js +0 -7
- package/src/components/list-view/use-list-view-block-indexes.js +0 -3
- package/src/components/list-view/use-list-view-client-ids.js +0 -8
- package/src/components/list-view/use-list-view-collapse-items.js +3 -11
- package/src/components/list-view/use-list-view-drop-zone.js +11 -28
- package/src/components/list-view/use-list-view-expand-selected-item.js +3 -10
- package/src/components/list-view/use-list-view-images.js +6 -10
- package/src/components/list-view/use-list-view-scroll-into-view.js +0 -3
- package/src/components/list-view/utils.js +23 -7
- package/src/components/media-placeholder/index.js +9 -15
- package/src/components/media-placeholder/test/get-computed-accept-attribute.js +0 -3
- package/src/components/media-placeholder/test/index.js +0 -7
- package/src/components/media-replace-flow/index.js +0 -11
- package/src/components/media-replace-flow/test/index.js +0 -10
- package/src/components/media-upload/check.js +0 -7
- package/src/components/media-upload/index.js +0 -3
- package/src/components/multi-selection-inspector/index.js +42 -21
- package/src/components/multi-selection-inspector/style.scss +5 -0
- package/src/components/navigable-toolbar/index.js +38 -27
- package/src/components/observe-typing/index.js +0 -7
- package/src/components/panel-color-settings/README.md +0 -7
- package/src/components/panel-color-settings/index.js +0 -3
- package/src/components/panel-color-settings/test/index.js +0 -7
- package/src/components/plain-text/index.js +0 -11
- package/src/components/plain-text/stories/index.story.jsx +3 -7
- package/src/components/preset-input-control/custom-value-controls.js +0 -4
- package/src/components/preset-input-control/index.js +0 -7
- package/src/components/preset-input-control/test/index.js +0 -7
- package/src/components/preset-input-control/test/utils.js +0 -3
- package/src/components/preview-options/index.js +0 -3
- package/src/components/provider/block-refs-provider.js +0 -3
- package/src/components/provider/index.js +7 -8
- package/src/components/provider/selection-context.js +0 -3
- package/src/components/provider/test/experimental-provider.js +0 -10
- package/src/components/provider/test/use-block-sync.js +0 -12
- package/src/components/provider/use-block-sync.js +0 -7
- package/src/components/provider/use-media-upload-settings.js +0 -3
- package/src/components/provider/with-registry-provider.js +0 -7
- package/src/components/publish-date-time-picker/README.md +10 -0
- package/src/components/publish-date-time-picker/index.js +17 -21
- package/src/components/recursion-provider/README.md +0 -3
- package/src/components/recursion-provider/index.js +0 -7
- package/src/components/recursion-provider/test/index.js +0 -7
- package/src/components/resizable-box-popover/index.js +0 -7
- package/src/components/resolution-tool/index.js +0 -3
- package/src/components/resolution-tool/stories/index.story.jsx +0 -7
- package/src/components/responsive-block-control/index.js +0 -11
- package/src/components/responsive-block-control/label.js +0 -3
- package/src/components/responsive-block-control/test/index.js +0 -11
- package/src/components/rich-text/content.js +0 -11
- package/src/components/rich-text/event-listeners/before-input-rules.js +0 -7
- package/src/components/rich-text/event-listeners/delete.js +0 -7
- package/src/components/rich-text/event-listeners/enter.js +58 -52
- package/src/components/rich-text/event-listeners/firefox-compat.js +0 -3
- package/src/components/rich-text/event-listeners/index.js +0 -7
- package/src/components/rich-text/event-listeners/input-events.js +0 -8
- package/src/components/rich-text/event-listeners/input-rules.js +15 -20
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +0 -8
- package/src/components/rich-text/event-listeners/paste-handler.js +14 -8
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +0 -8
- package/src/components/rich-text/event-listeners/shortcuts.js +0 -8
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +0 -8
- package/src/components/rich-text/format-edit.js +0 -7
- package/src/components/rich-text/format-toolbar/index.js +0 -11
- package/src/components/rich-text/format-toolbar-container.js +0 -7
- package/src/components/rich-text/get-rich-text-values.js +0 -7
- package/src/components/rich-text/index.js +9 -15
- package/src/components/rich-text/multiline.js +126 -93
- package/src/components/rich-text/prevent-event-discovery.js +0 -3
- package/src/components/rich-text/toolbar-button.js +0 -3
- package/src/components/rich-text/use-mark-persistent.js +0 -7
- package/src/components/rich-text/utils.js +0 -3
- package/src/components/rich-text/with-deprecations.js +0 -7
- package/src/components/selection-scroll-into-view/index.js +0 -3
- package/src/components/skip-to-selected-block/index.js +0 -7
- package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +0 -7
- package/src/components/spacing-sizes-control/index.js +2 -9
- package/src/components/spacing-sizes-control/input-controls/axial.js +0 -3
- package/src/components/spacing-sizes-control/input-controls/separated.js +0 -3
- package/src/components/spacing-sizes-control/input-controls/single.js +0 -3
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -7
- package/src/components/spacing-sizes-control/linked-button.js +0 -3
- package/src/components/spacing-sizes-control/test/index.js +0 -12
- package/src/components/spacing-sizes-control/test/utils.js +0 -3
- package/src/components/spacing-sizes-control/utils.js +0 -7
- package/src/components/tabbed-sidebar/index.js +0 -7
- package/src/components/tabbed-sidebar/stories/index.story.jsx +0 -7
- package/src/components/text-alignment-control/index.js +0 -7
- package/src/components/text-alignment-control/stories/index.story.jsx +0 -7
- package/src/components/text-decoration-control/index.js +0 -7
- package/src/components/text-decoration-control/stories/index.story.jsx +0 -7
- package/src/components/text-indent-control/index.js +0 -7
- package/src/components/text-transform-control/index.js +0 -7
- package/src/components/text-transform-control/stories/index.story.jsx +0 -7
- package/src/components/tool-selector/index.js +0 -3
- package/src/components/typewriter/index.js +0 -3
- package/src/components/unit-control/index.js +0 -7
- package/src/components/unit-control/stories/index.story.jsx +0 -7
- package/src/components/url-input/button.js +0 -7
- package/src/components/url-input/index.js +57 -77
- package/src/components/url-input/test/button.js +0 -11
- package/src/components/url-input/test/fixtures/validated-input-control-deprecation.js +27 -0
- package/src/components/url-input/test/index.js +90 -11
- package/src/components/url-popover/README.md +7 -0
- package/src/components/url-popover/image-url-input-ui.js +2 -9
- package/src/components/url-popover/index.js +0 -7
- package/src/components/url-popover/link-editor.js +0 -11
- package/src/components/url-popover/link-viewer-url.js +0 -7
- package/src/components/url-popover/link-viewer.js +0 -11
- package/src/components/url-popover/stories/index.story.jsx +133 -54
- package/src/components/url-popover/style.scss +5 -0
- package/src/components/use-block-commands/index.js +2 -9
- package/src/components/use-block-display-information/index.js +1 -8
- package/src/components/use-block-display-information/test/index.js +0 -11
- package/src/components/use-block-drop-zone/index.js +0 -7
- package/src/components/use-block-drop-zone/test/index.js +0 -3
- package/src/components/use-flash-editable-blocks/index.js +0 -7
- package/src/components/use-list-view-panel-state/index.js +0 -7
- package/src/components/use-moving-animation/index.js +9 -14
- package/src/components/use-on-block-drop/index.js +0 -7
- package/src/components/use-on-block-drop/test/index.js +1 -7
- package/src/components/use-paste-styles/index.js +0 -7
- package/src/components/use-resize-canvas/index.js +0 -3
- package/src/components/use-settings/index.js +0 -7
- package/src/components/warning/index.js +0 -7
- package/src/components/warning/stories/index.story.jsx +0 -7
- package/src/components/warning/test/index.js +0 -7
- package/src/components/writing-flow/index.js +0 -11
- package/src/components/writing-flow/test/index.js +0 -7
- package/src/components/writing-flow/use-arrow-nav.js +23 -16
- package/src/components/writing-flow/use-click-selection.js +0 -7
- package/src/components/writing-flow/use-clipboard-handler.js +65 -11
- package/src/components/writing-flow/use-drag-selection.js +0 -7
- package/src/components/writing-flow/use-editable-root-event-handlers.js +0 -7
- package/src/components/writing-flow/use-editable-root.js +0 -7
- package/src/components/writing-flow/use-home-end.js +0 -7
- package/src/components/writing-flow/use-input.js +105 -22
- package/src/components/writing-flow/use-multi-selection.js +0 -7
- package/src/components/writing-flow/use-preview-mode-nav.js +0 -7
- package/src/components/writing-flow/use-select-all.js +0 -7
- package/src/components/writing-flow/use-selection-observer.js +0 -7
- package/src/components/writing-flow/use-tab-nav.js +7 -8
- package/src/components/writing-flow/utils.js +0 -7
- package/src/components/writing-mode-control/index.js +0 -7
- package/src/components/writing-mode-control/stories/index.story.jsx +0 -7
- package/src/elements/test/index.js +0 -3
- package/src/hooks/align.js +0 -11
- package/src/hooks/allowed-blocks.js +0 -7
- package/src/hooks/anchor.js +0 -7
- package/src/hooks/aria-label.js +0 -7
- package/src/hooks/auto-inspector-controls.js +0 -7
- package/src/hooks/background.js +3 -15
- package/src/hooks/block-bindings.js +0 -7
- package/src/hooks/block-fields/fields-dropdown-menu.js +0 -7
- package/src/hooks/block-fields/index.js +0 -1
- package/src/hooks/block-fields/link/index.js +0 -7
- package/src/hooks/block-fields/media/index.js +0 -7
- package/src/hooks/block-fields/rich-text/index.js +0 -7
- package/src/hooks/block-fields/use-inspector-popover-placement.js +0 -3
- package/src/hooks/block-hooks.js +0 -7
- package/src/hooks/block-renaming.js +0 -3
- package/src/hooks/block-style-state.js +0 -7
- package/src/hooks/block-style-variation.js +0 -7
- package/src/hooks/border.js +27 -19
- package/src/hooks/color.js +0 -11
- package/src/hooks/compat.js +0 -3
- package/src/hooks/contrast-checker.js +0 -8
- package/src/hooks/custom-class-name.js +0 -11
- package/src/hooks/dimensions.js +8 -12
- package/src/hooks/duotone.js +23 -18
- package/src/hooks/elements.js +0 -7
- package/src/hooks/fit-text.js +0 -8
- package/src/hooks/font-family.js +1 -10
- package/src/hooks/font-size.js +0 -7
- package/src/hooks/gap.js +15 -2
- package/src/hooks/generated-class-name.js +0 -3
- package/src/hooks/grid-visualizer.js +0 -7
- package/src/hooks/index.js +0 -3
- package/src/hooks/layout-child.js +41 -16
- package/src/hooks/layout.js +118 -84
- package/src/hooks/line-height.js +0 -7
- package/src/hooks/list-view.js +0 -8
- package/src/hooks/lock.js +0 -3
- package/src/hooks/metadata.js +0 -3
- package/src/hooks/position.js +0 -11
- package/src/hooks/settings.js +0 -3
- package/src/hooks/spacing-visualizer.js +0 -7
- package/src/hooks/state-utils.js +0 -3
- package/src/hooks/states.js +8 -12
- package/src/hooks/style.js +0 -7
- package/src/hooks/supports.js +0 -3
- package/src/hooks/test/align.js +0 -7
- package/src/hooks/test/allowed-blocks.js +0 -7
- package/src/hooks/test/anchor.js +0 -7
- package/src/hooks/test/auto-inspector-controls.js +0 -7
- package/src/hooks/test/background.js +115 -3
- package/src/hooks/test/block-style-state.js +0 -3
- package/src/hooks/test/custom-class-name.js +0 -7
- package/src/hooks/test/dimensions.js +0 -7
- package/src/hooks/test/duotone.js +0 -3
- package/src/hooks/test/font-size.js +0 -11
- package/src/hooks/test/gap.js +31 -4
- package/src/hooks/test/generate-fields-from-attributes.js +0 -3
- package/src/hooks/test/generated-class-name.js +0 -7
- package/src/hooks/test/inherited-value-wiring.js +0 -3
- package/src/hooks/test/layout-child.js +60 -4
- package/src/hooks/test/layout.js +27 -3
- package/src/hooks/test/metadata.js +0 -7
- package/src/hooks/test/preset-round-trip.js +0 -6
- package/src/hooks/test/settings.js +0 -7
- package/src/hooks/test/state-utils.js +0 -7
- package/src/hooks/test/style.js +0 -7
- package/src/hooks/test/text-align.js +0 -7
- package/src/hooks/test/use-typography-props.js +0 -3
- package/src/hooks/test/utils.js +0 -3
- package/src/hooks/text-align.js +0 -11
- package/src/hooks/typography.js +0 -8
- package/src/hooks/use-border-props.js +0 -3
- package/src/hooks/use-cached-truthy.js +0 -3
- package/src/hooks/use-color-props.js +0 -11
- package/src/hooks/use-content-only-section-edit.js +0 -7
- package/src/hooks/use-dimensions-props.js +0 -3
- package/src/hooks/use-shadow-props.js +0 -3
- package/src/hooks/use-spacing-props.js +0 -3
- package/src/hooks/use-typography-props.js +1 -15
- package/src/hooks/use-zoom-out.js +0 -7
- package/src/hooks/utils.js +0 -11
- package/src/index.js +0 -3
- package/src/layouts/constrained.js +9 -8
- package/src/layouts/flex.js +15 -7
- package/src/layouts/flow.js +4 -8
- package/src/layouts/grid.js +9 -9
- package/src/layouts/index.js +0 -3
- package/src/layouts/test/constrained.js +26 -11
- package/src/layouts/test/flex.js +0 -11
- package/src/layouts/test/flow.js +26 -3
- package/src/layouts/test/grid.js +46 -11
- package/src/layouts/test/utils.js +0 -3
- package/src/layouts/utils.js +0 -7
- package/src/lock-unlock.ts +0 -3
- package/src/private-apis.js +2 -7
- package/src/store/actions.js +176 -54
- package/src/store/defaults.js +4 -3
- package/src/store/get-block-settings.js +0 -7
- package/src/store/index.js +0 -7
- package/src/store/private-actions.js +33 -5
- package/src/store/private-selectors.js +43 -17
- package/src/store/reducer.js +8 -12
- package/src/store/selectors.js +44 -21
- package/src/store/test/actions.js +203 -26
- package/src/store/test/array.js +0 -3
- package/src/store/test/get-block-settings.js +0 -7
- package/src/store/test/performance.js +0 -3
- package/src/store/test/private-actions.js +0 -3
- package/src/store/test/private-selectors.js +155 -17
- package/src/store/test/reducer.js +30 -11
- package/src/store/test/registry-selectors.js +0 -7
- package/src/store/test/selectors.js +143 -7
- package/src/store/utils.js +0 -7
- package/src/utils/fit-text-frontend.ts +0 -8
- package/src/utils/format-font-style.ts +0 -7
- package/src/utils/format-font-weight.ts +0 -7
- package/src/utils/get-font-styles-and-weights.ts +0 -7
- package/src/utils/group-blocks.js +36 -0
- package/src/utils/native-undo.js +0 -3
- package/src/utils/pasting.ts +0 -3
- package/src/utils/selection.ts +0 -3
- package/src/utils/sibling-block-attributes.js +30 -0
- package/src/utils/test/block-bindings.js +0 -3
- package/src/utils/test/color-values.js +0 -3
- package/src/utils/test/format-font-style.js +0 -3
- package/src/utils/test/format-font-weight.js +0 -3
- package/src/utils/test/get-font-styles-and-weights.js +0 -3
- package/src/utils/test/math.js +0 -3
- package/src/utils/test/object.js +0 -3
- package/src/utils/test/pasting.js +0 -3
- package/src/utils/test/selection.js +0 -3
- package/src/utils/test/sorting.js +0 -3
- package/src/utils/test/transform-styles.js +0 -3
- package/src/utils/transform-styles/index.ts +0 -8
- package/src/utils/use-notify-copy.js +0 -7
- package/build/components/floating-toolbar/nav-up-icon.cjs +0 -52
- package/build/components/floating-toolbar/nav-up-icon.cjs.map +0 -7
- package/build/components/gradients/with-gradient.cjs.map +0 -7
- package/build/components/inserter-button/sparkles.cjs +0 -36
- package/build/components/inserter-button/sparkles.cjs.map +0 -7
- package/build-module/components/floating-toolbar/nav-up-icon.mjs +0 -31
- package/build-module/components/floating-toolbar/nav-up-icon.mjs.map +0 -7
- package/build-module/components/gradients/with-gradient.mjs +0 -11
- package/build-module/components/gradients/with-gradient.mjs.map +0 -7
- package/build-module/components/inserter-button/sparkles.mjs +0 -15
- package/build-module/components/inserter-button/sparkles.mjs.map +0 -7
- package/build-style/default-editor-styles-rtl.css +0 -68
- package/build-style/default-editor-styles.css +0 -68
- package/src/components/block-visibility/use-block-visibility.js +0 -76
- package/src/components/floating-toolbar/nav-up-icon.js +0 -25
- package/src/components/gradients/with-gradient.js +0 -12
- package/src/components/inserter-button/README.md +0 -62
- package/src/components/inserter-button/sparkles.js +0 -15
- package/src/default-editor-styles.scss +0 -25
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/inserter/media-tab/hooks.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\n/** @typedef {import('../../../store/actions').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('../../../store/actions').InserterMediaItem} InserterMediaItem */\n/** @typedef {import('../../../store/actions').InserterMediaResponse} InserterMediaResponse */\n\n/**\n * Normalizes the result of a media category's `fetch`, which may be either a\n * plain array of media items or an `InserterMediaResponse` carrying pagination\n * totals. Sources that don't report totals leave them `undefined`, which is how\n * the panel knows to hide the pager.\n *\n * @param {InserterMediaItem[]|InserterMediaResponse|undefined} result The raw `fetch` result.\n * @return {{ mediaItems: InserterMediaItem[], totalItems: number|undefined, totalPages: number|undefined }} The normalized result.\n */\nfunction normalizeFetchResult( result ) {\n\tif ( Array.isArray( result ) ) {\n\t\treturn { mediaItems: result };\n\t}\n\treturn {\n\t\tmediaItems: result?.mediaItems ?? [],\n\t\ttotalItems: result?.totalItems,\n\t\ttotalPages: result?.totalPages,\n\t};\n}\n\n/**\n * Fetches media items based on the provided category.\n * Each media category is responsible for providing a `fetch` function.\n *\n * @param {Object} category The media category to fetch results for.\n * @param {InserterMediaRequest} query The query args to use for the request.\n * @param {any} refreshKey Optional value that, when changed, forces\n * a refetch (e.g. after attaching/detaching).\n * @return {{ mediaList: InserterMediaItem[], isLoading: boolean, totalItems: number|undefined, totalPages: number|undefined }} The media results and paging totals.\n */\nexport function useMediaResults( category, query = {}, refreshKey ) {\n\tconst [ mediaList, setMediaList ] = useState();\n\tconst [ totals, setTotals ] = useState( {} );\n\tconst [ isLoading, setIsLoading ] = useState( false );\n\t// We need to keep track of the last request made because\n\t// multiple request can be fired without knowing the order\n\t// of resolution, and we need to ensure we are showing\n\t// the results of the last request.\n\t// In the future we could use AbortController to cancel previous\n\t// requests, but we don't for now as it involves adding support\n\t// for this to `core-data` package.\n\tconst lastRequestRef = useRef();\n\tconst lastQueryKeyRef = useRef();\n\tconst lastFetchRef = useRef();\n\tconst lastSourceRef = useRef();\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tconst key = JSON.stringify( {\n\t\t\t\tcategory: category.name,\n\t\t\t\t...query,\n\t\t\t} );\n\t\t\t// Unique token so identical-query refreshes can't apply stale results.\n\t\t\tconst request = {};\n\t\t\tlastRequestRef.current = request;\n\t\t\tsetIsLoading( true );\n\t\t\t// Only clear the previous results when the category source or query\n\t\t\t// changes, not on a manual refresh (a `refreshKey` bump after\n\t\t\t// attach/detach). Keeping them lets the panel dim the existing grid\n\t\t\t// during the refetch instead of blanking it.\n\t\t\tif (\n\t\t\t\tlastQueryKeyRef.current !== key ||\n\t\t\t\tlastFetchRef.current !== category.fetch\n\t\t\t) {\n\t\t\t\tsetMediaList( [] );\n\t\t\t}\n\t\t\t// Reset paging totals only when the source (category or its `fetch`)\n\t\t\t// changes, so switching to an array-returning source doesn't leave a\n\t\t\t// stale pager showing. A mere page change keeps the previous totals,\n\t\t\t// which is what holds the footer mounted while the next page loads.\n\t\t\tif (\n\t\t\t\tlastSourceRef.current !== category.name ||\n\t\t\t\tlastFetchRef.current !== category.fetch\n\t\t\t) {\n\t\t\t\tsetTotals( {} );\n\t\t\t}\n\t\t\tlastQueryKeyRef.current = key;\n\t\t\tlastFetchRef.current = category.fetch;\n\t\t\tlastSourceRef.current = category.name;\n\t\t\t// Omit the default first page so sources that forward the query to a\n\t\t\t// strict external API don't receive an unexpected `page` arg.\n\t\t\tconst { page, ...queryWithoutPage } = query;\n\t\t\tconst fetchQuery = page > 1 ? query : queryWithoutPage;\n\t\t\tconst { mediaItems, totalItems, totalPages } = normalizeFetchResult(\n\t\t\t\tawait category.fetch?.( fetchQuery )\n\t\t\t);\n\t\t\tif ( request === lastRequestRef.current ) {\n\t\t\t\t// Set together so the grid and the pager never disagree.\n\t\t\t\tsetMediaList( mediaItems );\n\t\t\t\tsetTotals( { totalItems, totalPages } );\n\t\t\t\tsetIsLoading( false );\n\t\t\t}\n\t\t} )();\n\t}, [\n\t\tcategory.name,\n\t\tcategory.fetch,\n\t\t...Object.values( query ),\n\t\trefreshKey,\n\t] );\n\treturn {\n\t\tmediaList,\n\t\tisLoading,\n\t\ttotalItems: totals.totalItems,\n\t\ttotalPages: totals.totalPages,\n\t};\n}\n\n/**\n * Delays surfacing a loading state until a request has been in flight for\n * `delay` ms, so brief operations (e.g. a quick attach/detach refetch) don't\n * flash a loading indicator at all. Mirrors the DataViews `useDelayedLoading`\n * hook.\n *\n * @param {boolean} isLoading Whether a request is currently in flight.\n * @param {number} delay Milliseconds to wait before showing the loader.\n * @return {boolean} Whether the loading state should be shown yet.\n */\nexport function useDelayedLoading( isLoading, delay = 400 ) {\n\tconst [ showLoading, setShowLoading ] = useState( false );\n\tuseEffect( () => {\n\t\tif ( ! isLoading ) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst timeout = setTimeout( () => setShowLoading( true ), delay );\n\t\treturn () => {\n\t\t\tclearTimeout( timeout );\n\t\t\tsetShowLoading( false );\n\t\t};\n\t}, [ isLoading, delay ] );\n\treturn showLoading;\n}\n\nexport function useMediaCategories( rootClientId ) {\n\tconst [ categories, setCategories ] = useState( [] );\n\n\tconst inserterMediaCategories = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blockEditorStore ) ).getInserterMediaCategories(),\n\t\t[]\n\t);\n\tconst { canInsertImage, canInsertVideo, canInsertAudio } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tcanInsertImage: canInsertBlockType(\n\t\t\t\t\t'core/image',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertVideo: canInsertBlockType(\n\t\t\t\t\t'core/video',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertAudio: canInsertBlockType(\n\t\t\t\t\t'core/audio',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tconst _categories = [];\n\t\t\t// If `inserterMediaCategories` is not defined in\n\t\t\t// block editor settings, do not show any media categories.\n\t\t\tif ( ! inserterMediaCategories ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Loop through categories to check if they have at least one media item.\n\t\t\tconst categoriesHaveMedia = new Map(\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tinserterMediaCategories.map( async ( category ) => {\n\t\t\t\t\t\t// Some sources are external and we don't need to make a request.\n\t\t\t\t\t\tif ( category.isExternalResource ) {\n\t\t\t\t\t\t\treturn [ category.name, true ];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet results = [];\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst { mediaItems } = normalizeFetchResult(\n\t\t\t\t\t\t\t\tawait category.fetch( { per_page: 1 } )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresults = mediaItems;\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t// If the request fails, we shallow the error and just don't show\n\t\t\t\t\t\t\t// the category, in order to not break the media tab.\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [ category.name, !! results.length ];\n\t\t\t\t\t} )\n\t\t\t\t)\n\t\t\t);\n\t\t\t// We need to filter out categories that don't have any media items or\n\t\t\t// whose corresponding block type is not allowed to be inserted, based\n\t\t\t// on the category's `mediaType`. A category that provides an\n\t\t\t// `emptyMessage` stays in the list even when empty, so it can show\n\t\t\t// that message (e.g. Attachments, to expose its \"Attach\" action).\n\t\t\tconst canInsertMediaType = {\n\t\t\t\timage: canInsertImage,\n\t\t\t\tvideo: canInsertVideo,\n\t\t\t\taudio: canInsertAudio,\n\t\t\t};\n\t\t\tinserterMediaCategories.forEach( ( category ) => {\n\t\t\t\tif (\n\t\t\t\t\tcanInsertMediaType[ category.mediaType ] &&\n\t\t\t\t\t( categoriesHaveMedia.get( category.name ) ||\n\t\t\t\t\t\tcategory.emptyMessage )\n\t\t\t\t) {\n\t\t\t\t\t_categories.push( category );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tif ( !! _categories.length ) {\n\t\t\t\tsetCategories( _categories );\n\t\t\t}\n\t\t} )();\n\t}, [\n\t\tcanInsertImage,\n\t\tcanInsertVideo,\n\t\tcanInsertAudio,\n\t\tinserterMediaCategories,\n\t] );\n\treturn categories;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["blockEditorStore"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/inserter/media-tab/media-list.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { Composite } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { MediaPreview } from './media-preview';\n\nfunction MediaList( {\n\tmediaList,\n\tcategory,\n\tonClick,\n\tonDetach,\n\tlabel = __( 'Media List' ),\n} ) {\n\treturn (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-inserter__media-list\"\n\t\t\taria-label={ label }\n\t\t>\n\t\t\t{ mediaList.map( ( media, index ) => (\n\t\t\t\t<MediaPreview\n\t\t\t\t\tkey={ media.id || media.sourceId || index }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t\tcategory={ category }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tonDetach={ onDetach }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport default MediaList;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA0B;AAC1B,kBAAmB;AACnB,2BAA6B;AAgBzB;AAdJ,SAAS,UAAW;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAQ,gBAAI,YAAa;AAC1B,GAAI;AACH,SACC;AAAA,IAAC;AAAA;AAAA,MACA,MAAK;AAAA,MACL,WAAU;AAAA,MACV,cAAa;AAAA,MAEX,oBAAU,IAAK,CAAE,OAAO,UACzB;AAAA,QAAC;AAAA;AAAA,UAEA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,QAJM,MAAM,MAAM,MAAM,YAAY;AAAA,MAKrC,CACC;AAAA;AAAA,EACH;AAEF;AAEA,IAAO,qBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/inserter/media-tab/media-panel.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Modal, Spinner, SearchControl } from '@wordpress/components';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { useDebouncedInput, usePrevious } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { getScrollContainer } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { Stack } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport MediaList from './media-list';\nimport MediaUpload from '../../media-upload';\nimport MediaUploadCheck from '../../media-upload/check';\nimport { useMediaResults, useDelayedLoading } from './hooks';\nimport InserterNoResults from '../no-results';\nimport BlockPatternsPaging from '../../block-patterns-paging';\n\nconst MEDIA_ITEMS_PER_PAGE = 20;\n\n// The attach flow is image-only, so the picker is constrained to images.\nconst ATTACH_ALLOWED_TYPES = [ 'image' ];\n\n/**\n * Opens the Media Library to attach images to the current post. Only rendered\n * for media categories that expose an `attach` capability (i.e. the \"Attached\n * images\" source); other sources render the panel exactly as before.\n *\n * The picker opens fresh each time with no pre-selected value, so it is purely\n * additive: selecting images attaches them, and it does not imply that\n * deselecting would detach. Detaching is a separate, explicit per-item action.\n *\n * @param {Object} props\n * @param {Function} props.onSelect Called with the selected media items.\n */\nfunction AttachImagesButton( { onSelect } ) {\n\treturn (\n\t\t<MediaUploadCheck>\n\t\t\t<MediaUpload\n\t\t\t\tmultiple=\"add\"\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ ATTACH_ALLOWED_TYPES }\n\t\t\t\ttitle={ __( 'Attach images' ) }\n\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-inserter__media-panel-attach\"\n\t\t\t\t\t\tdata-unstable-ignore-focus-outside-for-relatedtarget=\".media-modal\"\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tevent.target.focus();\n\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attach images' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</MediaUploadCheck>\n\t);\n}\n\nexport function MediaCategoryPanel( { rootClientId, onInsert, category } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst [ page, setPage ] = useState( 1 );\n\t// The desktop panel persists across category switches (it's driven by the\n\t// selected category, not remounted), so reset paging whenever the source\n\t// category or the search term changes. Adjusting state during render (rather\n\t// than in an effect) keeps the query on page 1 for the very next fetch,\n\t// avoiding a wasted request for the previous page. Mirrors `usePatternsPaging`.\n\tconst previousCategory = usePrevious( category.name );\n\tconst previousSearch = usePrevious( debouncedSearch );\n\tif (\n\t\t( previousCategory !== category.name ||\n\t\t\tpreviousSearch !== debouncedSearch ) &&\n\t\tpage !== 1\n\t) {\n\t\tsetPage( 1 );\n\t}\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\tper_page: MEDIA_ITEMS_PER_PAGE,\n\t\t\tpage,\n\t\t\tsearch: debouncedSearch,\n\t\t} ),\n\t\t[ page, debouncedSearch ]\n\t);\n\tconst [ refreshKey, setRefreshKey ] = useState( 0 );\n\tconst { mediaList, isLoading, totalItems, totalPages } = useMediaResults(\n\t\tcategory,\n\t\tquery,\n\t\trefreshKey\n\t);\n\tconst numPages = totalPages || 1;\n\t// If the current set shrinks below the active page (e.g. detaching images\n\t// empties the last page), clamp back into range so the grid isn't left blank\n\t// on a page that no longer exists.\n\tif ( typeof totalPages === 'number' && page > numPages ) {\n\t\tsetPage( numPages );\n\t}\n\t// Private to core's media categories, these capabilities act on WordPress\n\t// attachments:\n\t// - `attach`/`detach`/`invalidate` manage the images attached to this post.\n\t// - `subscribe` watches the attachment cache backing them.\n\t// An external resource can never own a post's attachments, and every category\n\t// registered by an extender through the public `registerInserterMediaCategory`\n\t// API is flagged as one — so this guard stops such a category from opting into\n\t// the workflow just by setting these props.\n\tconst supportsAttachments = ! category.isExternalResource;\n\tconst attach = supportsAttachments ? category.attach : undefined;\n\tconst detach = supportsAttachments ? category.detach : undefined;\n\tconst subscribe = supportsAttachments ? category.subscribe : undefined;\n\n\t// Only show the pager for multi-page sources. Gating on the page count (not\n\t// `mediaList.length`) keeps the footer mounted while paging, since the count\n\t// persists across the fetch. It also skips the shared component's stray\n\t// single-page item count, which reads oddly here.\n\tconst showPagination = numPages > 1;\n\t// The footer holds the pager and/or the attach button; it exists when either\n\t// is present so it can own their shared top/horizontal breathing room.\n\tconst hasFooter = showPagination || !! attach;\n\tconst scrollContainerRef = useRef();\n\tconst changePage = useCallback( ( nextPage ) => {\n\t\tconst scrollContainer = getScrollContainer(\n\t\t\tscrollContainerRef.current\n\t\t);\n\t\tscrollContainer?.scrollTo( 0, 0 );\n\t\tsetPage( nextPage );\n\t}, [] );\n\tconst { createErrorNotice, createSuccessNotice, createWarningNotice } =\n\t\tuseDispatch( noticesStore );\n\n\t// Dim (rather than blank) the populated grid while a refetch is in flight,\n\t// but only once it has run long enough to be worth signalling — quick\n\t// attach/detach refetches resolve before this and show nothing.\n\tconst showRefreshing = useDelayedLoading( isLoading );\n\n\t// Invalidate the cached results and force `useMediaResults` to refetch so\n\t// the grid reflects images that were just attached or detached.\n\tconst refresh = useCallback( () => {\n\t\tif ( supportsAttachments ) {\n\t\t\tcategory.invalidate?.( query );\n\t\t}\n\t\tsetRefreshKey( ( key ) => key + 1 );\n\t}, [ category, query, supportsAttachments ] );\n\n\t// A media modal opened anywhere in the editor (a canvas block, the featured\n\t// image panel, the \"Attach images\" button) attaches its uploads to the current\n\t// post, and invalidates the cached attachment queries when it closes. Refetch\n\t// so the grid reflects the newly attached images.\n\tuseEffect( () => {\n\t\tif ( ! subscribe ) {\n\t\t\treturn;\n\t\t}\n\t\treturn subscribe( () => setRefreshKey( ( key ) => key + 1 ), query );\n\t}, [ subscribe, query ] );\n\n\tconst handleAttach = useCallback(\n\t\tasync ( selectedMedia ) => {\n\t\t\ttry {\n\t\t\t\tconst attachedCount = await attach( selectedMedia );\n\n\t\t\t\tif ( ! attachedCount ) {\n\t\t\t\t\t// This source only attaches images (the picker's \"Upload\n\t\t\t\t\t// files\" tab otherwise accepts any file type), so a selection\n\t\t\t\t\t// with no images attaches nothing.\n\t\t\t\t\tcreateWarningNotice( __( 'No images were attached.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trefresh();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %1$d: Number of images attached. %2$s: Name of the post type e.g: \"Page\". */\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'%1$d image attached to %2$s.',\n\t\t\t\t\t\t\t\t\t'%1$d images attached to %2$s.',\n\t\t\t\t\t\t\t\t\tattachedCount\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tattachedCount,\n\t\t\t\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: %d: Number of images attached to the post. */\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'%d image attached to post.',\n\t\t\t\t\t\t\t\t\t'%d images attached to post.',\n\t\t\t\t\t\t\t\t\tattachedCount\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tattachedCount\n\t\t\t\t\t\t ),\n\t\t\t\t\t{ type: 'snackbar', id: 'inserter-notice' }\n\t\t\t\t);\n\t\t\t} catch {\n\t\t\t\tcreateErrorNotice( __( 'Could not attach images.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tattach,\n\t\t\tcategory,\n\t\t\trefresh,\n\t\t\tcreateErrorNotice,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateWarningNotice,\n\t\t]\n\t);\n\n\tconst handleDetach = useCallback(\n\t\tasync ( media ) => {\n\t\t\ttry {\n\t\t\t\tawait detach( media );\n\t\t\t\trefresh();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: Name of the post type e.g: \"Page\". */\n\t\t\t\t\t\t\t\t__( 'Image detached from %s.' ),\n\t\t\t\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Image detached from post.' ),\n\t\t\t\t\t{ type: 'snackbar', id: 'inserter-notice' }\n\t\t\t\t);\n\t\t\t} catch {\n\t\t\t\tcreateErrorNotice( __( 'Could not detach image.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ detach, category, refresh, createErrorNotice, createSuccessNotice ]\n\t);\n\n\t// Detaching is confirmed first: the dropdown sets the pending item, which\n\t// opens a modal, and only `confirmDetach` performs the detach.\n\tconst [ mediaPendingDetach, setMediaPendingDetach ] = useState();\n\tconst confirmDetach = useCallback( () => {\n\t\tconst media = mediaPendingDetach;\n\t\tsetMediaPendingDetach( undefined );\n\t\thandleDetach( media );\n\t}, [ handleDetach, mediaPendingDetach ] );\n\n\tconst baseCssClass = 'block-editor-inserter__media-panel';\n\tconst searchLabel = category.labels.search_items || __( 'Search' );\n\treturn (\n\t\t<div\n\t\t\tref={ scrollContainerRef }\n\t\t\tclassName={ clsx( baseCssClass, {\n\t\t\t\t// The footer supplies the breathing room beneath the grid, so the\n\t\t\t\t// list drops its own bottom padding (see styles).\n\t\t\t\t'has-footer': hasFooter,\n\t\t\t} ) }\n\t\t>\n\t\t\t<SearchControl\n\t\t\t\tclassName={ `${ baseCssClass }-search` }\n\t\t\t\tonChange={ setSearch }\n\t\t\t\tvalue={ search }\n\t\t\t\tlabel={ searchLabel }\n\t\t\t\tplaceholder={ searchLabel }\n\t\t\t/>\n\t\t\t{ isLoading && ! mediaList?.length && (\n\t\t\t\t<div className={ `${ baseCssClass }-spinner` }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! mediaList?.length && (\n\t\t\t\t<InserterNoResults>\n\t\t\t\t\t{ category.emptyMessage && ! debouncedSearch\n\t\t\t\t\t\t? // For a source with a custom empty message (e.g.\n\t\t\t\t\t\t // Attachments) and no active search, an empty result\n\t\t\t\t\t\t // means nothing is attached yet — clearer than the\n\t\t\t\t\t\t // generic \"no results found\".\n\t\t\t\t\t\t category.emptyMessage\n\t\t\t\t\t\t: __( 'No results found.' ) }\n\t\t\t\t</InserterNoResults>\n\t\t\t) }\n\t\t\t{ !! mediaList?.length && (\n\t\t\t\t// Keep the existing items visible while a refetch is in flight,\n\t\t\t\t// dimming (and gently pulsing) them rather than clearing the grid,\n\t\t\t\t// so it doesn't flicker or pop.\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( `${ baseCssClass }-results`, {\n\t\t\t\t\t\t'is-loading': showRefreshing,\n\t\t\t\t\t} ) }\n\t\t\t\t\taria-busy={ showRefreshing }\n\t\t\t\t>\n\t\t\t\t\t<MediaList\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tonClick={ onInsert }\n\t\t\t\t\t\tonDetach={ detach ? setMediaPendingDetach : undefined }\n\t\t\t\t\t\tmediaList={ mediaList }\n\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasFooter && (\n\t\t\t\t// A single footer wrapper owns the top and horizontal breathing\n\t\t\t\t// room, so the pager and attach button don't span the full width\n\t\t\t\t// and sit clear of the grid above (see styles).\n\t\t\t\t<Stack\n\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\tgap=\"sm\"\n\t\t\t\t\tclassName={ `${ baseCssClass }-footer` }\n\t\t\t\t>\n\t\t\t\t\t{ showPagination && (\n\t\t\t\t\t\t// Reuse the Patterns tab pager (presentational only); only\n\t\t\t\t\t\t// rendered for multi-page sources (see `showPagination`).\n\t\t\t\t\t\t<BlockPatternsPaging\n\t\t\t\t\t\t\tcurrentPage={ page }\n\t\t\t\t\t\t\tnumPages={ numPages }\n\t\t\t\t\t\t\tchangePage={ changePage }\n\t\t\t\t\t\t\ttotalItems={ totalItems }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ attach && (\n\t\t\t\t\t\t// Lines up with the \"Open Media Library\" button in the\n\t\t\t\t\t\t// adjacent column.\n\t\t\t\t\t\t<AttachImagesButton onSelect={ handleAttach } />\n\t\t\t\t\t) }\n\t\t\t\t</Stack>\n\t\t\t) }\n\t\t\t{ mediaPendingDetach && (\n\t\t\t\t// A plain `Modal` (not `ConfirmDialog`) so we can pass\n\t\t\t\t// `overlayClassName` and stack it above the options dropdown that\n\t\t\t\t// opened it (see the z-index entry in `_z-index.scss`).\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Detach image' ) }\n\t\t\t\t\tonRequestClose={ () => setMediaPendingDetach( undefined ) }\n\t\t\t\t\toverlayClassName={ `${ baseCssClass }-detach-modal` }\n\t\t\t\t>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ category.postTypeLabel\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: Name of the post type e.g: \"Page\". */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'Detach this image from the current %s? The image will remain in the Media Library.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Detach this image from the current post? The image will remain in the Media Library.'\n\t\t\t\t\t\t\t ) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className={ `${ baseCssClass }-detach-actions` }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => setMediaPendingDetach( undefined ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ confirmDetach }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Detach' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport { Button, Modal, Spinner, SearchControl } from '@wordpress/components';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { useDebouncedInput, usePrevious } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { getScrollContainer } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { Stack } from '@wordpress/ui';\nimport MediaList from './media-list';\nimport MediaUpload from '../../media-upload';\nimport MediaUploadCheck from '../../media-upload/check';\nimport { useMediaResults, useDelayedLoading } from './hooks';\nimport InserterNoResults from '../no-results';\nimport BlockPatternsPaging from '../../block-patterns-paging';\n\nconst MEDIA_ITEMS_PER_PAGE = 20;\n\n// The attach flow is image-only, so the picker is constrained to images.\nconst ATTACH_ALLOWED_TYPES = [ 'image' ];\n\n/**\n * Opens the Media Library to attach images to the current post. Only rendered\n * for media categories that expose an `attach` capability (i.e. the \"Attached\n * images\" source); other sources render the panel exactly as before.\n *\n * The picker opens fresh each time with no pre-selected value, so it is purely\n * additive: selecting images attaches them, and it does not imply that\n * deselecting would detach. Detaching is a separate, explicit per-item action.\n *\n * @param {Object} props\n * @param {Function} props.onSelect Called with the selected media items.\n */\nfunction AttachImagesButton( { onSelect } ) {\n\treturn (\n\t\t<MediaUploadCheck>\n\t\t\t<MediaUpload\n\t\t\t\tmultiple=\"add\"\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ ATTACH_ALLOWED_TYPES }\n\t\t\t\ttitle={ __( 'Attach images' ) }\n\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-inserter__media-panel-attach\"\n\t\t\t\t\t\tdata-unstable-ignore-focus-outside-for-relatedtarget=\".media-modal\"\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tevent.target.focus();\n\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attach images' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</MediaUploadCheck>\n\t);\n}\n\nexport function MediaCategoryPanel( { rootClientId, onInsert, category } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst [ page, setPage ] = useState( 1 );\n\t// The desktop panel persists across category switches (it's driven by the\n\t// selected category, not remounted), so reset paging whenever the source\n\t// category or the search term changes. Adjusting state during render (rather\n\t// than in an effect) keeps the query on page 1 for the very next fetch,\n\t// avoiding a wasted request for the previous page. Mirrors `usePatternsPaging`.\n\tconst previousCategory = usePrevious( category.name );\n\tconst previousSearch = usePrevious( debouncedSearch );\n\tif (\n\t\t( previousCategory !== category.name ||\n\t\t\tpreviousSearch !== debouncedSearch ) &&\n\t\tpage !== 1\n\t) {\n\t\tsetPage( 1 );\n\t}\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\tper_page: MEDIA_ITEMS_PER_PAGE,\n\t\t\tpage,\n\t\t\tsearch: debouncedSearch,\n\t\t} ),\n\t\t[ page, debouncedSearch ]\n\t);\n\tconst [ refreshKey, setRefreshKey ] = useState( 0 );\n\tconst { mediaList, isLoading, totalItems, totalPages } = useMediaResults(\n\t\tcategory,\n\t\tquery,\n\t\trefreshKey\n\t);\n\tconst numPages = totalPages || 1;\n\t// If the current set shrinks below the active page (e.g. detaching images\n\t// empties the last page), clamp back into range so the grid isn't left blank\n\t// on a page that no longer exists.\n\tif ( typeof totalPages === 'number' && page > numPages ) {\n\t\tsetPage( numPages );\n\t}\n\t// Private to core's media categories, these capabilities act on WordPress\n\t// attachments:\n\t// - `attach`/`detach`/`invalidate` manage the images attached to this post.\n\t// - `subscribe` watches the attachment cache backing them.\n\t// An external resource can never own a post's attachments, and every category\n\t// registered by an extender through the public `registerInserterMediaCategory`\n\t// API is flagged as one — so this guard stops such a category from opting into\n\t// the workflow just by setting these props.\n\tconst supportsAttachments = ! category.isExternalResource;\n\tconst attach = supportsAttachments ? category.attach : undefined;\n\tconst detach = supportsAttachments ? category.detach : undefined;\n\tconst subscribe = supportsAttachments ? category.subscribe : undefined;\n\n\t// Only show the pager for multi-page sources. Gating on the page count (not\n\t// `mediaList.length`) keeps the footer mounted while paging, since the count\n\t// persists across the fetch. It also skips the shared component's stray\n\t// single-page item count, which reads oddly here.\n\tconst showPagination = numPages > 1;\n\t// The footer holds the pager and/or the attach button; it exists when either\n\t// is present so it can own their shared top/horizontal breathing room.\n\tconst hasFooter = showPagination || !! attach;\n\tconst scrollContainerRef = useRef();\n\tconst changePage = useCallback( ( nextPage ) => {\n\t\tconst scrollContainer = getScrollContainer(\n\t\t\tscrollContainerRef.current\n\t\t);\n\t\tscrollContainer?.scrollTo( 0, 0 );\n\t\tsetPage( nextPage );\n\t}, [] );\n\tconst { createErrorNotice, createSuccessNotice, createWarningNotice } =\n\t\tuseDispatch( noticesStore );\n\n\t// Dim (rather than blank) the populated grid while a refetch is in flight,\n\t// but only once it has run long enough to be worth signalling — quick\n\t// attach/detach refetches resolve before this and show nothing.\n\tconst showRefreshing = useDelayedLoading( isLoading );\n\n\t// Invalidate the cached results and force `useMediaResults` to refetch so\n\t// the grid reflects images that were just attached or detached.\n\tconst refresh = useCallback( () => {\n\t\tif ( supportsAttachments ) {\n\t\t\tcategory.invalidate?.( query );\n\t\t}\n\t\tsetRefreshKey( ( key ) => key + 1 );\n\t}, [ category, query, supportsAttachments ] );\n\n\t// A media modal opened anywhere in the editor (a canvas block, the featured\n\t// image panel, the \"Attach images\" button) attaches its uploads to the current\n\t// post, and invalidates the cached attachment queries when it closes. Refetch\n\t// so the grid reflects the newly attached images.\n\tuseEffect( () => {\n\t\tif ( ! subscribe ) {\n\t\t\treturn;\n\t\t}\n\t\treturn subscribe( () => setRefreshKey( ( key ) => key + 1 ), query );\n\t}, [ subscribe, query ] );\n\n\tconst handleAttach = useCallback(\n\t\tasync ( selectedMedia ) => {\n\t\t\ttry {\n\t\t\t\tconst attachedCount = await attach( selectedMedia );\n\n\t\t\t\tif ( ! attachedCount ) {\n\t\t\t\t\t// This source only attaches images (the picker's \"Upload\n\t\t\t\t\t// files\" tab otherwise accepts any file type), so a selection\n\t\t\t\t\t// with no images attaches nothing.\n\t\t\t\t\tcreateWarningNotice( __( 'No images were attached.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trefresh();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %1$d: Number of images attached. %2$s: Name of the post type e.g: \"Page\". */\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'%1$d image attached to %2$s.',\n\t\t\t\t\t\t\t\t\t'%1$d images attached to %2$s.',\n\t\t\t\t\t\t\t\t\tattachedCount\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tattachedCount,\n\t\t\t\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: %d: Number of images attached to the post. */\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'%d image attached to post.',\n\t\t\t\t\t\t\t\t\t'%d images attached to post.',\n\t\t\t\t\t\t\t\t\tattachedCount\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tattachedCount\n\t\t\t\t\t\t ),\n\t\t\t\t\t{ type: 'snackbar', id: 'inserter-notice' }\n\t\t\t\t);\n\t\t\t} catch {\n\t\t\t\tcreateErrorNotice( __( 'Could not attach images.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tattach,\n\t\t\tcategory,\n\t\t\trefresh,\n\t\t\tcreateErrorNotice,\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateWarningNotice,\n\t\t]\n\t);\n\n\tconst handleDetach = useCallback(\n\t\tasync ( media ) => {\n\t\t\ttry {\n\t\t\t\tawait detach( media );\n\t\t\t\trefresh();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: Name of the post type e.g: \"Page\". */\n\t\t\t\t\t\t\t\t__( 'Image detached from %s.' ),\n\t\t\t\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Image detached from post.' ),\n\t\t\t\t\t{ type: 'snackbar', id: 'inserter-notice' }\n\t\t\t\t);\n\t\t\t} catch {\n\t\t\t\tcreateErrorNotice( __( 'Could not detach image.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ detach, category, refresh, createErrorNotice, createSuccessNotice ]\n\t);\n\n\t// Detaching is confirmed first: the dropdown sets the pending item, which\n\t// opens a modal, and only `confirmDetach` performs the detach.\n\tconst [ mediaPendingDetach, setMediaPendingDetach ] = useState();\n\tconst confirmDetach = useCallback( () => {\n\t\tconst media = mediaPendingDetach;\n\t\tsetMediaPendingDetach( undefined );\n\t\thandleDetach( media );\n\t}, [ handleDetach, mediaPendingDetach ] );\n\n\tconst baseCssClass = 'block-editor-inserter__media-panel';\n\tconst searchLabel = category.labels.search_items || __( 'Search' );\n\treturn (\n\t\t<div\n\t\t\tref={ scrollContainerRef }\n\t\t\tclassName={ clsx( baseCssClass, {\n\t\t\t\t// The footer supplies the breathing room beneath the grid, so the\n\t\t\t\t// list drops its own bottom padding (see styles).\n\t\t\t\t'has-footer': hasFooter,\n\t\t\t} ) }\n\t\t>\n\t\t\t<SearchControl\n\t\t\t\tclassName={ `${ baseCssClass }-search` }\n\t\t\t\tonChange={ setSearch }\n\t\t\t\tvalue={ search }\n\t\t\t\tlabel={ searchLabel }\n\t\t\t\tplaceholder={ searchLabel }\n\t\t\t/>\n\t\t\t{ isLoading && ! mediaList?.length && (\n\t\t\t\t<div className={ `${ baseCssClass }-spinner` }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! mediaList?.length && (\n\t\t\t\t<InserterNoResults>\n\t\t\t\t\t{ category.emptyMessage && ! debouncedSearch\n\t\t\t\t\t\t? // For a source with a custom empty message (e.g.\n\t\t\t\t\t\t // Attachments) and no active search, an empty result\n\t\t\t\t\t\t // means nothing is attached yet — clearer than the\n\t\t\t\t\t\t // generic \"no results found\".\n\t\t\t\t\t\t category.emptyMessage\n\t\t\t\t\t\t: __( 'No results found.' ) }\n\t\t\t\t</InserterNoResults>\n\t\t\t) }\n\t\t\t{ !! mediaList?.length && (\n\t\t\t\t// Keep the existing items visible while a refetch is in flight,\n\t\t\t\t// dimming (and gently pulsing) them rather than clearing the grid,\n\t\t\t\t// so it doesn't flicker or pop.\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( `${ baseCssClass }-results`, {\n\t\t\t\t\t\t'is-loading': showRefreshing,\n\t\t\t\t\t} ) }\n\t\t\t\t\taria-busy={ showRefreshing }\n\t\t\t\t>\n\t\t\t\t\t<MediaList\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tonClick={ onInsert }\n\t\t\t\t\t\tonDetach={ detach ? setMediaPendingDetach : undefined }\n\t\t\t\t\t\tmediaList={ mediaList }\n\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasFooter && (\n\t\t\t\t// A single footer wrapper owns the top and horizontal breathing\n\t\t\t\t// room, so the pager and attach button don't span the full width\n\t\t\t\t// and sit clear of the grid above (see styles).\n\t\t\t\t<Stack\n\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\tgap=\"sm\"\n\t\t\t\t\tclassName={ `${ baseCssClass }-footer` }\n\t\t\t\t>\n\t\t\t\t\t{ showPagination && (\n\t\t\t\t\t\t// Reuse the Patterns tab pager (presentational only); only\n\t\t\t\t\t\t// rendered for multi-page sources (see `showPagination`).\n\t\t\t\t\t\t<BlockPatternsPaging\n\t\t\t\t\t\t\tcurrentPage={ page }\n\t\t\t\t\t\t\tnumPages={ numPages }\n\t\t\t\t\t\t\tchangePage={ changePage }\n\t\t\t\t\t\t\ttotalItems={ totalItems }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ attach && (\n\t\t\t\t\t\t// Lines up with the \"Open Media Library\" button in the\n\t\t\t\t\t\t// adjacent column.\n\t\t\t\t\t\t<AttachImagesButton onSelect={ handleAttach } />\n\t\t\t\t\t) }\n\t\t\t\t</Stack>\n\t\t\t) }\n\t\t\t{ mediaPendingDetach && (\n\t\t\t\t// A plain `Modal` (not `ConfirmDialog`) so we can pass\n\t\t\t\t// `overlayClassName` and stack it above the options dropdown that\n\t\t\t\t// opened it (see the z-index entry in `_z-index.scss`).\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Detach image' ) }\n\t\t\t\t\tonRequestClose={ () => setMediaPendingDetach( undefined ) }\n\t\t\t\t\toverlayClassName={ `${ baseCssClass }-detach-modal` }\n\t\t\t\t>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ category.postTypeLabel\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: Name of the post type e.g: \"Page\". */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'Detach this image from the current %s? The image will remain in the Media Library.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Detach this image from the current post? The image will remain in the Media Library.'\n\t\t\t\t\t\t\t ) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className={ `${ baseCssClass }-detach-actions` }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => setMediaPendingDetach( undefined ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ confirmDetach }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Detach' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["MediaUploadCheck", "MediaUpload", "noticesStore", "clsx", "InserterNoResults", "MediaList", "BlockPatternsPaging"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/inserter/media-tab/media-preview.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tSpinner,\n\tModal,\n\tFlex,\n\tFlexItem,\n\tButton,\n\tComposite,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { moreVertical, external, linkOff } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isBlobURL } from '@wordpress/blob';\nimport { getFilename } from '@wordpress/url';\n\nimport { Tooltip } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport InserterDraggableBlocks from '../../inserter-draggable-blocks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport { store as blockEditorStore } from '../../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst MEDIA_OPTIONS_POPOVER_PROPS = {\n\tplacement: 'bottom-end',\n\tclassName:\n\t\t'block-editor-inserter__media-list__item-preview-options__popover',\n};\n\nfunction MediaPreviewOptions( { category, media, onDetach } ) {\n\tif ( ! category.getReportUrl && ! onDetach ) {\n\t\treturn null;\n\t}\n\tconst reportUrl = category.getReportUrl?.( media );\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-inserter__media-list__item-preview-options\"\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }\n\t\t\ticon={ moreVertical }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t{ reportUrl && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\twindow.open( reportUrl, '_blank' ).focus()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: The media type to report e.g: \"image\", \"video\", \"audio\" */\n\t\t\t\t\t\t\t\t__( 'Report %s' ),\n\t\t\t\t\t\t\t\tcategory.mediaType\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ onDetach && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => onDetach( media ) }\n\t\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ category.postTypeLabel\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: Name of the post type e.g: \"Page\". */\n\t\t\t\t\t\t\t\t\t\t__( 'Detach from %s' ),\n\t\t\t\t\t\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Detach from post' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction InsertExternalImageModal( { onClose, onSubmit } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Insert external image' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tclassName=\"block-editor-inserter-media-tab-media-preview-inserter-external-image-modal\"\n\t\t>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</VStack>\n\t\t\t<Flex\n\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ onSubmit }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Insert' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nexport function MediaPreview( { media, onClick, onDetach, category } ) {\n\tconst [ showExternalUploadModal, setShowExternalUploadModal ] =\n\t\tuseState( false );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ isInserting, setIsInserting ] = useState( false );\n\tconst [ block, preview ] = useMemo(\n\t\t() => getBlockAndPreviewFromMedia( media, category.mediaType ),\n\t\t[ media, category.mediaType ]\n\t);\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { getSettings, getBlock } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst onMediaInsert = useCallback(\n\t\t( previewBlock ) => {\n\t\t\t// Prevent multiple uploads when we're in the process of inserting.\n\t\t\tif ( isInserting ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst settings = getSettings();\n\t\t\tconst clonedBlock = cloneBlock( previewBlock );\n\t\t\tconst { id, url, caption } = clonedBlock.attributes;\n\n\t\t\t// User has no permission to upload media.\n\t\t\tif ( ! id && ! settings.mediaUpload ) {\n\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Media item already exists in library, so just insert it.\n\t\t\tif ( !! id ) {\n\t\t\t\tonClick( clonedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetIsInserting( true );\n\t\t\t// Media item does not exist in library, so try to upload it.\n\t\t\t// Fist fetch the image data. This may fail if the image host\n\t\t\t// doesn't allow CORS with the domain.\n\t\t\t// If this happens, we insert the image block using the external\n\t\t\t// URL and let the user know about the possible implications.\n\t\t\twindow\n\t\t\t\t.fetch( url )\n\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tconst fileName = getFilename( url ) || 'image.jpg';\n\t\t\t\t\tconst file = new File( [ blob ], fileName, {\n\t\t\t\t\t\ttype: blob.type,\n\t\t\t\t\t} );\n\n\t\t\t\t\tsettings.mediaUpload( {\n\t\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\t\tadditionalData: { caption },\n\t\t\t\t\t\tonFileChange( [ img ] ) {\n\t\t\t\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( ! getBlock( clonedBlock.clientId ) ) {\n\t\t\t\t\t\t\t\t// Ensure the block is only inserted once.\n\t\t\t\t\t\t\t\tonClick( {\n\t\t\t\t\t\t\t\t\t...clonedBlock,\n\t\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t\t__( 'Image uploaded and inserted.' ),\n\t\t\t\t\t\t\t\t\t{ type: 'snackbar', id: 'inserter-notice' }\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// For subsequent calls, update the existing block.\n\t\t\t\t\t\t\t\tupdateBlockAttributes( clonedBlock.clientId, {\n\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tcreateErrorNotice( message, {\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t} );\n\t\t},\n\t\t[\n\t\t\tisInserting,\n\t\t\tgetSettings,\n\t\t\tonClick,\n\t\t\tcreateSuccessNotice,\n\t\t\tupdateBlockAttributes,\n\t\t\tcreateErrorNotice,\n\t\t\tgetBlock,\n\t\t]\n\t);\n\n\tconst title =\n\t\ttypeof media.title === 'string'\n\t\t\t? media.title\n\t\t\t: media.title?.rendered || __( 'no title' );\n\n\tconst onMouseEnter = useCallback( () => setIsHovered( true ), [] );\n\tconst onMouseLeave = useCallback( () => setIsHovered( false ), [] );\n\treturn (\n\t\t<>\n\t\t\t<InserterDraggableBlocks isEnabled blocks={ [ block ] }>\n\t\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-inserter__media-list__list-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\t\tonDragStart={ onDragStart }\n\t\t\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ /* Adding `is-hovered` class to the wrapper element is needed\n\t\t\t\t\t\tbecause the options Popover is rendered outside of this node. */ }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip.Root>\n\t\t\t\t\t\t\t\t<Tooltip.Trigger\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-list__item\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tonMediaInsert( block )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t\t\t\t\t\t{ isInserting && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview-spinner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</Composite.Item>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Tooltip.Popup>{ title }</Tooltip.Popup>\n\t\t\t\t\t\t\t</Tooltip.Root>\n\t\t\t\t\t\t\t{ ! isInserting && (\n\t\t\t\t\t\t\t\t<MediaPreviewOptions\n\t\t\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t\t\t\tmedia={ media }\n\t\t\t\t\t\t\t\t\tonDetach={ onDetach }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</InserterDraggableBlocks>\n\t\t\t{ showExternalUploadModal && (\n\t\t\t\t<InsertExternalImageModal\n\t\t\t\t\tonClose={ () => setShowExternalUploadModal( false ) }\n\t\t\t\t\tonSubmit={ () => {\n\t\t\t\t\t\tonClick( cloneBlock( block ) );\n\t\t\t\t\t\tcreateSuccessNotice( __( 'Image inserted.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetShowExternalUploadModal( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tSpinner,\n\tModal,\n\tFlex,\n\tFlexItem,\n\tButton,\n\tComposite,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { moreVertical, external, linkOff } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isBlobURL } from '@wordpress/blob';\nimport { getFilename } from '@wordpress/url';\nimport { Tooltip } from '@wordpress/ui';\nimport InserterDraggableBlocks from '../../inserter-draggable-blocks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport { store as blockEditorStore } from '../../../store';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst MEDIA_OPTIONS_POPOVER_PROPS = {\n\tplacement: 'bottom-end',\n\tclassName:\n\t\t'block-editor-inserter__media-list__item-preview-options__popover',\n};\n\nfunction MediaPreviewOptions( { category, media, onDetach } ) {\n\tif ( ! category.getReportUrl && ! onDetach ) {\n\t\treturn null;\n\t}\n\tconst reportUrl = category.getReportUrl?.( media );\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-inserter__media-list__item-preview-options\"\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }\n\t\t\ticon={ moreVertical }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t{ reportUrl && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\twindow.open( reportUrl, '_blank' ).focus()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: The media type to report e.g: \"image\", \"video\", \"audio\" */\n\t\t\t\t\t\t\t\t__( 'Report %s' ),\n\t\t\t\t\t\t\t\tcategory.mediaType\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ onDetach && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => onDetach( media ) }\n\t\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ category.postTypeLabel\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: Name of the post type e.g: \"Page\". */\n\t\t\t\t\t\t\t\t\t\t__( 'Detach from %s' ),\n\t\t\t\t\t\t\t\t\t\tcategory.postTypeLabel\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Detach from post' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction InsertExternalImageModal( { onClose, onSubmit } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Insert external image' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tclassName=\"block-editor-inserter-media-tab-media-preview-inserter-external-image-modal\"\n\t\t>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</VStack>\n\t\t\t<Flex\n\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ onSubmit }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Insert' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nexport function MediaPreview( { media, onClick, onDetach, category } ) {\n\tconst [ showExternalUploadModal, setShowExternalUploadModal ] =\n\t\tuseState( false );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ isInserting, setIsInserting ] = useState( false );\n\tconst [ block, preview ] = useMemo(\n\t\t() => getBlockAndPreviewFromMedia( media, category.mediaType ),\n\t\t[ media, category.mediaType ]\n\t);\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { getSettings, getBlock } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst onMediaInsert = useCallback(\n\t\t( previewBlock ) => {\n\t\t\t// Prevent multiple uploads when we're in the process of inserting.\n\t\t\tif ( isInserting ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst settings = getSettings();\n\t\t\tconst clonedBlock = cloneBlock( previewBlock );\n\t\t\tconst { id, url, caption } = clonedBlock.attributes;\n\n\t\t\t// User has no permission to upload media.\n\t\t\tif ( ! id && ! settings.mediaUpload ) {\n\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Media item already exists in library, so just insert it.\n\t\t\tif ( !! id ) {\n\t\t\t\tonClick( clonedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetIsInserting( true );\n\t\t\t// Media item does not exist in library, so try to upload it.\n\t\t\t// Fist fetch the image data. This may fail if the image host\n\t\t\t// doesn't allow CORS with the domain.\n\t\t\t// If this happens, we insert the image block using the external\n\t\t\t// URL and let the user know about the possible implications.\n\t\t\twindow\n\t\t\t\t.fetch( url )\n\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tconst fileName = getFilename( url ) || 'image.jpg';\n\t\t\t\t\tconst file = new File( [ blob ], fileName, {\n\t\t\t\t\t\ttype: blob.type,\n\t\t\t\t\t} );\n\n\t\t\t\t\tsettings.mediaUpload( {\n\t\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\t\tadditionalData: { caption },\n\t\t\t\t\t\tonFileChange( [ img ] ) {\n\t\t\t\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( ! getBlock( clonedBlock.clientId ) ) {\n\t\t\t\t\t\t\t\t// Ensure the block is only inserted once.\n\t\t\t\t\t\t\t\tonClick( {\n\t\t\t\t\t\t\t\t\t...clonedBlock,\n\t\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t\t__( 'Image uploaded and inserted.' ),\n\t\t\t\t\t\t\t\t\t{ type: 'snackbar', id: 'inserter-notice' }\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// For subsequent calls, update the existing block.\n\t\t\t\t\t\t\t\tupdateBlockAttributes( clonedBlock.clientId, {\n\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tcreateErrorNotice( message, {\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t} );\n\t\t},\n\t\t[\n\t\t\tisInserting,\n\t\t\tgetSettings,\n\t\t\tonClick,\n\t\t\tcreateSuccessNotice,\n\t\t\tupdateBlockAttributes,\n\t\t\tcreateErrorNotice,\n\t\t\tgetBlock,\n\t\t]\n\t);\n\n\tconst title =\n\t\ttypeof media.title === 'string'\n\t\t\t? media.title\n\t\t\t: media.title?.rendered || __( 'no title' );\n\n\tconst onMouseEnter = useCallback( () => setIsHovered( true ), [] );\n\tconst onMouseLeave = useCallback( () => setIsHovered( false ), [] );\n\treturn (\n\t\t<>\n\t\t\t<InserterDraggableBlocks isEnabled blocks={ [ block ] }>\n\t\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-inserter__media-list__list-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\t\tonDragStart={ onDragStart }\n\t\t\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ /* Adding `is-hovered` class to the wrapper element is needed\n\t\t\t\t\t\tbecause the options Popover is rendered outside of this node. */ }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip.Root>\n\t\t\t\t\t\t\t\t<Tooltip.Trigger\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-list__item\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tonMediaInsert( block )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t\t\t\t\t\t{ isInserting && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview-spinner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</Composite.Item>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Tooltip.Popup>{ title }</Tooltip.Popup>\n\t\t\t\t\t\t\t</Tooltip.Root>\n\t\t\t\t\t\t\t{ ! isInserting && (\n\t\t\t\t\t\t\t\t<MediaPreviewOptions\n\t\t\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t\t\t\tmedia={ media }\n\t\t\t\t\t\t\t\t\tonDetach={ onDetach }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</InserterDraggableBlocks>\n\t\t\t{ showExternalUploadModal && (\n\t\t\t\t<InsertExternalImageModal\n\t\t\t\t\tonClose={ () => setShowExternalUploadModal( false ) }\n\t\t\t\t\tonSubmit={ () => {\n\t\t\t\t\t\tonClick( cloneBlock( block ) );\n\t\t\t\t\t\tcreateSuccessNotice( __( 'Image inserted.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetShowExternalUploadModal( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["VStack", "noticesStore", "blockEditorStore", "InserterDraggableBlocks", "clsx"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/inserter/media-tab/media-tab.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { Button } from '@wordpress/components';\nimport { useCallback, useEffect, useMemo } from '@wordpress/element';\nimport { MediaCategoryPanel } from './media-panel';\nimport MediaUploadCheck from '../../media-upload/check';\nimport MediaUpload from '../../media-upload';\nimport { useMediaCategories } from './hooks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport MobileTabNavigation from '../mobile-tab-navigation';\nimport CategoryTabs from '../category-tabs';\nimport InserterNoResults from '../no-results';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video', 'audio' ];\n\nfunction MediaTab( {\n\trootClientId,\n\tselectedCategory,\n\tonSelectCategory,\n\tonInsert,\n\tchildren,\n} ) {\n\tconst mediaCategories = useMediaCategories( rootClientId );\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tconst baseCssClass = 'block-editor-inserter__media-tabs';\n\tconst onSelectMedia = useCallback(\n\t\t( media ) => {\n\t\t\tif ( ! media?.url ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// When the experimental DataViews media modal is enabled,\n\t\t\t// we need to extract the media type from mime_type (e.g., 'image/jpeg' -> 'image')\n\t\t\tconst mediaType =\n\t\t\t\twindow.__experimentalDataViewsMediaModal && media.mime_type\n\t\t\t\t\t? media.mime_type.split( '/' )[ 0 ]\n\t\t\t\t\t: media.type;\n\t\t\tconst [ block ] = getBlockAndPreviewFromMedia( media, mediaType );\n\t\t\tonInsert( block );\n\t\t},\n\t\t[ onInsert ]\n\t);\n\tconst categories = useMemo(\n\t\t() =>\n\t\t\tmediaCategories.map( ( mediaCategory ) => ( {\n\t\t\t\t...mediaCategory,\n\t\t\t\tlabel: mediaCategory.labels.name,\n\t\t\t} ) ),\n\t\t[ mediaCategories ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! selectedCategory ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst latestCategory = categories.find(\n\t\t\t( category ) => category.name === selectedCategory.name\n\t\t);\n\n\t\tif ( latestCategory && latestCategory !== selectedCategory ) {\n\t\t\tonSelectCategory( latestCategory );\n\t\t} else if ( ! latestCategory ) {\n\t\t\tonSelectCategory( null );\n\t\t}\n\t}, [ categories, onSelectCategory, selectedCategory ] );\n\n\tif ( ! categories.length ) {\n\t\treturn <InserterNoResults />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isMobile && (\n\t\t\t\t<div className={ `${ baseCssClass }-container` }>\n\t\t\t\t\t<CategoryTabs\n\t\t\t\t\t\tcategories={ categories }\n\t\t\t\t\t\tselectedCategory={ selectedCategory }\n\t\t\t\t\t\tonSelectCategory={ onSelectCategory }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</CategoryTabs>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\tmultiple={ false }\n\t\t\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t// Safari doesn't emit a focus event on button elements when\n\t\t\t\t\t\t\t\t\t\t// clicked and we need to manually focus the button here.\n\t\t\t\t\t\t\t\t\t\t// The reason is that core's Media Library modal explicitly triggers a\n\t\t\t\t\t\t\t\t\t\t// focus event and therefore a `blur` event is triggered on a different\n\t\t\t\t\t\t\t\t\t\t// element, which doesn't contain the `data-unstable-ignore-focus-outside-for-relatedtarget`\n\t\t\t\t\t\t\t\t\t\t// attribute making the Inserter dialog to close.\n\t\t\t\t\t\t\t\t\t\tevent.target.focus();\n\t\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-library-button\"\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tdata-unstable-ignore-focus-outside-for-relatedtarget=\".media-modal\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ isMobile && (\n\t\t\t\t<MobileTabNavigation\n\t\t\t\t\tcategories={ categories }\n\t\t\t\t\tscreenClassName=\"block-editor-inserter__media-mobile-screen\"\n\t\t\t\t>\n\t\t\t\t\t{ ( category ) => (\n\t\t\t\t\t\t<MediaCategoryPanel\n\t\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</MobileTabNavigation>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default MediaTab;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AACnB,qBAAiC;AACjC,wBAAuB;AACvB,qBAAgD;AAChD,yBAAmC;AACnC,mBAA6B;AAC7B,0BAAwB;AACxB,mBAAmC;AACnC,mBAA4C;AAC5C,mCAAgC;AAChC,2BAAyB;AACzB,wBAA8B;AAuDrB;AArDT,IAAM,sBAAsB,CAAE,SAAS,SAAS,OAAQ;AAExD,SAAS,SAAU;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,sBAAkB,iCAAoB,YAAa;AACzD,QAAM,eAAW,iCAAkB,UAAU,GAAI;AACjD,QAAM,eAAe;AACrB,QAAM,oBAAgB;AAAA,IACrB,CAAE,UAAW;AACZ,UAAK,CAAE,OAAO,KAAM;AACnB;AAAA,MACD;AAGA,YAAM,YACL,OAAO,qCAAqC,MAAM,YAC/C,MAAM,UAAU,MAAO,GAAI,EAAG,CAAE,IAChC,MAAM;AACV,YAAM,CAAE,KAAM,QAAI,0CAA6B,OAAO,SAAU;AAChE,eAAU,KAAM;AAAA,IACjB;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,iBAAa;AAAA,IAClB,MACC,gBAAgB,IAAK,CAAE,mBAAqB;AAAA,MAC3C,GAAG;AAAA,MACH,OAAO,cAAc,OAAO;AAAA,IAC7B,EAAI;AAAA,IACL,CAAE,eAAgB;AAAA,EACnB;AACA,gCAAW,MAAM;AAChB,QAAK,CAAE,kBAAmB;AACzB;AAAA,IACD;AAEA,UAAM,iBAAiB,WAAW;AAAA,MACjC,CAAE,aAAc,SAAS,SAAS,iBAAiB;AAAA,IACpD;AAEA,QAAK,kBAAkB,mBAAmB,kBAAmB;AAC5D,uBAAkB,cAAe;AAAA,IAClC,WAAY,CAAE,gBAAiB;AAC9B,uBAAkB,IAAK;AAAA,IACxB;AAAA,EACD,GAAG,CAAE,YAAY,kBAAkB,gBAAiB,CAAE;AAEtD,MAAK,CAAE,WAAW,QAAS;AAC1B,WAAO,4CAAC,kBAAAA,SAAA,EAAkB;AAAA,EAC3B;AAEA,SACC,4EACG;AAAA,KAAE,YACH,6CAAC,SAAI,WAAY,GAAI,YAAa,cACjC;AAAA;AAAA,QAAC,qBAAAC;AAAA,QAAA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UAEE;AAAA;AAAA,MACH;AAAA,MACA,4CAAC,aAAAC,SAAA,EACA;AAAA,QAAC,oBAAAC;AAAA,QAAA;AAAA,UACA,UAAW;AAAA,UACX,UAAW;AAAA,UACX,cAAe;AAAA,UACf,QAAS,CAAE,EAAE,KAAK,MACjB;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cACrB,SAAU,CAAE,UAAW;AAOtB,sBAAM,OAAO,MAAM;AACnB,qBAAK;AAAA,cACN;AAAA,cACA,WAAU;AAAA,cACV,SAAQ;AAAA,cACR,wDAAqD;AAAA,cAEnD,8BAAI,oBAAqB;AAAA;AAAA,UAC5B;AAAA;AAAA,MAEF,GACD;AAAA,OACD;AAAA,IAEC,YACD;AAAA,MAAC,6BAAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,iBAAgB;AAAA,QAEd,WAAE,aACH;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACD;AAAA;AAAA,IAEF;AAAA,KAEF;AAEF;AAEA,IAAO,oBAAQ;",
|
|
6
6
|
"names": ["InserterNoResults", "CategoryTabs", "MediaUploadCheck", "MediaUpload", "MobileTabNavigation"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/inserter/media-tab/utils.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { createBlock } from '@wordpress/blocks';\n\nconst mediaTypeTag = { image: 'img', video: 'video', audio: 'audio' };\n\n/** @typedef {import('./hooks').InserterMediaItem} InserterMediaItem */\n\n/**\n * Creates a block and a preview element from a media object.\n *\n * @param {InserterMediaItem} media The media object to create the block from.\n * @param {('image'|'audio'|'video')} mediaType The media type to create the block for.\n * @return {[WPBlock, React.JSX.Element]} An array containing the block and the preview element.\n */\nexport function getBlockAndPreviewFromMedia( media, mediaType ) {\n\t// Add the common attributes between the different media types.\n\tconst attributes = {\n\t\tid: media.id || undefined,\n\t\tcaption: media.caption || undefined,\n\t};\n\tconst mediaSrc = media.url;\n\tconst alt = media.alt || undefined;\n\tif ( mediaType === 'image' ) {\n\t\tattributes.url = mediaSrc;\n\t\tattributes.alt = alt;\n\t} else if ( [ 'video', 'audio' ].includes( mediaType ) ) {\n\t\tattributes.src = mediaSrc;\n\t}\n\tconst PreviewTag = mediaTypeTag[ mediaType ];\n\tconst preview = (\n\t\t<PreviewTag\n\t\t\tsrc={ media.previewUrl || mediaSrc }\n\t\t\talt={ alt }\n\t\t\tcontrols={ mediaType === 'audio' ? true : undefined }\n\t\t\tinert=\"true\"\n\t\t\tonError={ ( { currentTarget } ) => {\n\t\t\t\t// Fall back to the media source if the preview cannot be loaded.\n\t\t\t\tif ( currentTarget.src === media.previewUrl ) {\n\t\t\t\t\tcurrentTarget.src = mediaSrc;\n\t\t\t\t}\n\t\t\t} }\n\t\t/>\n\t);\n\treturn [ createBlock( `core/${ mediaType }`, attributes ), preview ];\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA4B;AA6B1B;AA3BF,IAAM,eAAe,EAAE,OAAO,OAAO,OAAO,SAAS,OAAO,QAAQ;AAW7D,SAAS,4BAA6B,OAAO,WAAY;AAE/D,QAAM,aAAa;AAAA,IAClB,IAAI,MAAM,MAAM;AAAA,IAChB,SAAS,MAAM,WAAW;AAAA,EAC3B;AACA,QAAM,WAAW,MAAM;AACvB,QAAM,MAAM,MAAM,OAAO;AACzB,MAAK,cAAc,SAAU;AAC5B,eAAW,MAAM;AACjB,eAAW,MAAM;AAAA,EAClB,WAAY,CAAE,SAAS,OAAQ,EAAE,SAAU,SAAU,GAAI;AACxD,eAAW,MAAM;AAAA,EAClB;AACA,QAAM,aAAa,aAAc,SAAU;AAC3C,QAAM,UACL;AAAA,IAAC;AAAA;AAAA,MACA,KAAM,MAAM,cAAc;AAAA,MAC1B;AAAA,MACA,UAAW,cAAc,UAAU,OAAO;AAAA,MAC1C,OAAM;AAAA,MACN,SAAU,CAAE,EAAE,cAAc,MAAO;AAElC,YAAK,cAAc,QAAQ,MAAM,YAAa;AAC7C,wBAAc,MAAM;AAAA,QACrB;AAAA,MACD;AAAA;AAAA,EACD;AAED,SAAO,KAAE,2BAAa,QAAS,SAAU,IAAI,UAAW,GAAG,OAAQ;AACpE;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -109,9 +109,11 @@ function InserterMenu({
|
|
|
109
109
|
insertionIndex: __experimentalInsertionIndex,
|
|
110
110
|
shouldFocusBlock
|
|
111
111
|
});
|
|
112
|
+
const { hideInsertionPoint } = (0, import_data.useDispatch)(import_store.store);
|
|
112
113
|
const blockTypesTabRef = (0, import_element.useRef)();
|
|
113
114
|
const onInsert = (0, import_element.useCallback)(
|
|
114
115
|
(blocks, meta, shouldForceFocusBlock, _rootClientId) => {
|
|
116
|
+
hideInsertionPoint();
|
|
115
117
|
onInsertBlocks(
|
|
116
118
|
blocks,
|
|
117
119
|
meta,
|
|
@@ -128,16 +130,23 @@ function InserterMenu({
|
|
|
128
130
|
}
|
|
129
131
|
});
|
|
130
132
|
},
|
|
131
|
-
[
|
|
133
|
+
[
|
|
134
|
+
hideInsertionPoint,
|
|
135
|
+
onInsertBlocks,
|
|
136
|
+
maybeCloseInserter,
|
|
137
|
+
onSelect,
|
|
138
|
+
ref,
|
|
139
|
+
shouldFocusBlock
|
|
140
|
+
]
|
|
132
141
|
);
|
|
133
142
|
const onInsertPattern = (0, import_element.useCallback)(
|
|
134
143
|
(blocks, patternName, ...args) => {
|
|
135
|
-
|
|
144
|
+
hideInsertionPoint();
|
|
136
145
|
onInsertBlocks(blocks, { patternName }, ...args);
|
|
137
146
|
onSelect();
|
|
138
147
|
maybeCloseInserter();
|
|
139
148
|
},
|
|
140
|
-
[onInsertBlocks, maybeCloseInserter, onSelect
|
|
149
|
+
[hideInsertionPoint, onInsertBlocks, maybeCloseInserter, onSelect]
|
|
141
150
|
);
|
|
142
151
|
const onHover = (0, import_element.useCallback)(
|
|
143
152
|
(item) => {
|
|
@@ -317,11 +326,13 @@ function InserterMenu({
|
|
|
317
326
|
};
|
|
318
327
|
const tabsRef = (0, import_element.useRef)();
|
|
319
328
|
(0, import_element.useLayoutEffect)(() => {
|
|
320
|
-
if (tabsRef.current) {
|
|
321
|
-
|
|
322
|
-
tabsRef.current.querySelector('[role="tab"][aria-selected="true"]')?.focus();
|
|
323
|
-
});
|
|
329
|
+
if (!tabsRef.current) {
|
|
330
|
+
return;
|
|
324
331
|
}
|
|
332
|
+
const frame = window.requestAnimationFrame(() => {
|
|
333
|
+
tabsRef.current?.querySelector('[role="tab"][aria-selected="true"]')?.focus();
|
|
334
|
+
});
|
|
335
|
+
return () => window.cancelAnimationFrame(frame);
|
|
325
336
|
}, []);
|
|
326
337
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
327
338
|
"div",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inserter/menu.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseLayoutEffect,\n} from '@wordpress/element';\nimport { SearchControl, Popover } from '@wordpress/components';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { __ } from '@wordpress/i18n';\nimport { useDebouncedInput, useViewportMatch } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTab from './block-patterns-tab';\nimport { PatternCategoryPreviews } from './block-patterns-tab/pattern-category-previews';\nimport { MediaTab, MediaCategoryPanel } from './media-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport { store as blockEditorStore } from '../../store';\nimport TabbedSidebar from '../tabbed-sidebar';\nimport { useZoomOut } from '../../hooks/use-zoom-out';\nimport { unlock } from '../../lock-unlock';\n\nconst NOOP = () => {};\nfunction InserterMenu(\n\t{\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\t__experimentalInsertionIndex,\n\t\tonSelect,\n\t\tshowInserterHelpPanel,\n\t\tshowMostUsedBlocks,\n\t\t__experimentalFilterValue = '',\n\t\tshouldFocusBlock = true,\n\t\tonPatternCategorySelection,\n\t\tonClose,\n\t\t__experimentalInitialTab,\n\t\t__experimentalInitialCategory,\n\t},\n\tref\n) {\n\tconst { isZoomOutMode, hasSectionRootClientId } = useSelect( ( select ) => {\n\t\tconst { isZoomOut, getSectionRootClientId } = unlock(\n\t\t\tselect( blockEditorStore )\n\t\t);\n\n\t\treturn {\n\t\t\tisZoomOutMode: isZoomOut(),\n\t\t\thasSectionRootClientId: !! getSectionRootClientId(),\n\t\t};\n\t}, [] );\n\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( __experimentalFilterValue );\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] = useState(\n\t\t__experimentalInitialCategory\n\t);\n\tconst [ patternFilter, setPatternFilter ] = useState( 'all' );\n\tconst [ selectedMediaCategory, setSelectedMediaCategory ] =\n\t\tuseState( null );\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst maybeCloseInserter = isMobileViewport ? onClose : NOOP;\n\n\tfunction getInitialTab() {\n\t\tif ( __experimentalInitialTab ) {\n\t\t\treturn __experimentalInitialTab;\n\t\t}\n\n\t\tif ( isZoomOutMode ) {\n\t\t\treturn 'patterns';\n\t\t}\n\n\t\treturn 'blocks';\n\t}\n\tconst [ selectedTab, setSelectedTab ] = useState( getInitialTab() );\n\n\tconst shouldUseZoomOut =\n\t\thasSectionRootClientId &&\n\t\t( selectedTab === 'patterns' || selectedTab === 'media' );\n\n\tuseZoomOut( shouldUseZoomOut && isLargeViewport );\n\n\tconst [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ] =\n\t\tuseInsertionPoint( {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\t\tshouldFocusBlock,\n\t\t} );\n\tconst blockTypesTabRef = useRef();\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock, _rootClientId ) => {\n\t\t\tonInsertBlocks(\n\t\t\t\tblocks,\n\t\t\t\tmeta,\n\t\t\t\tshouldForceFocusBlock,\n\t\t\t\t_rootClientId\n\t\t\t);\n\t\t\tonSelect( blocks );\n\t\t\tmaybeCloseInserter();\n\n\t\t\t// Check for focus loss due to filtering blocks by selected block type\n\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\tif (\n\t\t\t\t\t! shouldFocusBlock &&\n\t\t\t\t\t! blockTypesTabRef.current?.contains(\n\t\t\t\t\t\tref.current.ownerDocument.activeElement\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\t// There has been a focus loss, so focus the first button in the block types tab\n\t\t\t\t\tblockTypesTabRef.current?.querySelector( 'button' ).focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\t[ onInsertBlocks, maybeCloseInserter, onSelect, ref, shouldFocusBlock ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName, ...args ) => {\n\t\t\tonToggleInsertionPoint( false );\n\t\t\tonInsertBlocks( blocks, { patternName }, ...args );\n\t\t\tonSelect();\n\t\t\tmaybeCloseInserter();\n\t\t},\n\t\t[ onInsertBlocks, maybeCloseInserter, onSelect, onToggleInsertionPoint ]\n\t);\n\n\tconst onHover = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( item );\n\t\t\tsetHoveredItem( item );\n\t\t},\n\t\t[ onToggleInsertionPoint, setHoveredItem ]\n\t);\n\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory, filter ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t\tsetPatternFilter( filter );\n\t\t\tonPatternCategorySelection?.();\n\t\t},\n\t\t[ setSelectedPatternCategory, onPatternCategorySelection ]\n\t);\n\n\tconst showPatternPanel =\n\t\tselectedTab === 'patterns' &&\n\t\t! delayedFilterValue &&\n\t\t!! selectedPatternCategory;\n\n\tconst showMediaPanel = selectedTab === 'media' && !! selectedMediaCategory;\n\n\tconst [ isScrolled, setIsScrolled ] = useState( false );\n\tconst blocksPanelRef = useRef( null );\n\tconst patternsPanelRef = useRef( null );\n\tconst mediaPanelRef = useRef( null );\n\tuseEffect( () => {\n\t\tconst handleScroll = ( event ) => {\n\t\t\tsetIsScrolled( event.currentTarget.scrollTop > 0 );\n\t\t};\n\t\tconst panels = [\n\t\t\tblocksPanelRef.current,\n\t\t\tpatternsPanelRef.current,\n\t\t\tmediaPanelRef.current,\n\t\t].filter( Boolean );\n\t\tpanels.forEach( ( panel ) =>\n\t\t\tpanel.addEventListener( 'scroll', handleScroll )\n\t\t);\n\n\t\treturn () => {\n\t\t\tpanels.forEach( ( panel ) =>\n\t\t\t\tpanel.removeEventListener( 'scroll', handleScroll )\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst inserterSearch = useMemo( () => {\n\t\tif ( selectedTab === 'media' ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<SearchControl\n\t\t\t\t\tclassName={ clsx( 'block-editor-inserter__search', {\n\t\t\t\t\t\t'is-scrolled': isScrolled,\n\t\t\t\t\t} ) }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tif ( hoveredItem ) {\n\t\t\t\t\t\t\tsetHoveredItem( null );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t\t{ !! delayedFilterValue && (\n\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\tfilterValue={ delayedFilterValue }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\tprioritizePatterns={ selectedTab === 'patterns' }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}, [\n\t\tselectedTab,\n\t\thoveredItem,\n\t\tsetHoveredItem,\n\t\tsetFilterValue,\n\t\tfilterValue,\n\t\tdelayedFilterValue,\n\t\tonSelect,\n\t\tonHover,\n\t\tshouldFocusBlock,\n\t\tclientId,\n\t\trootClientId,\n\t\t__experimentalInsertionIndex,\n\t\tisAppender,\n\t\tisScrolled,\n\t] );\n\n\tconst blocksTab = useMemo( () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-inserter__block-list\">\n\t\t\t\t\t<BlockTypesTab\n\t\t\t\t\t\tref={ blockTypesTabRef }\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ showInserterHelpPanel && (\n\t\t\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t\t\t<VisuallyHidden render={ <h2 /> }>\n\t\t\t\t\t\t\t{ __( 'A tip for using the block editor' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<Tips />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}, [\n\t\tdestinationRootClientId,\n\t\tonInsert,\n\t\tonHover,\n\t\tshowMostUsedBlocks,\n\t\tshowInserterHelpPanel,\n\t] );\n\n\tconst patternsTab = useMemo( () => {\n\t\treturn (\n\t\t\t<BlockPatternsTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonSelectCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t>\n\t\t\t\t{ showPatternPanel && (\n\t\t\t\t\t<PatternCategoryPreviews\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\t\t\tcategory={ selectedPatternCategory }\n\t\t\t\t\t\tpatternFilter={ patternFilter }\n\t\t\t\t\t\tshowTitlesAsTooltip\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockPatternsTab>\n\t\t);\n\t}, [\n\t\tdestinationRootClientId,\n\t\tonInsertPattern,\n\t\tonClickPatternCategory,\n\t\tpatternFilter,\n\t\tselectedPatternCategory,\n\t\tshowPatternPanel,\n\t] );\n\n\tconst mediaTab = useMemo( () => {\n\t\treturn (\n\t\t\t<MediaTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tselectedCategory={ selectedMediaCategory }\n\t\t\t\tonSelectCategory={ setSelectedMediaCategory }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t>\n\t\t\t\t{ showMediaPanel && (\n\t\t\t\t\t<MediaCategoryPanel\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tcategory={ selectedMediaCategory }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</MediaTab>\n\t\t);\n\t}, [\n\t\tdestinationRootClientId,\n\t\tonInsert,\n\t\tselectedMediaCategory,\n\t\tsetSelectedMediaCategory,\n\t\tshowMediaPanel,\n\t] );\n\n\tconst handleSetSelectedTab = ( value ) => {\n\t\t// If no longer on patterns tab remove the category setting.\n\t\tif ( value !== 'patterns' ) {\n\t\t\tsetSelectedPatternCategory( null );\n\t\t}\n\t\tsetSelectedTab( value );\n\t};\n\n\t// Focus first active tab, if any\n\tconst tabsRef = useRef();\n\tuseLayoutEffect( () => {\n\t\tif ( tabsRef.current ) {\n\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\ttabsRef.current\n\t\t\t\t\t.querySelector( '[role=\"tab\"][aria-selected=\"true\"]' )\n\t\t\t\t\t?.focus();\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( 'block-editor-inserter__menu', {\n\t\t\t\t'show-panel': showPatternPanel || showMediaPanel,\n\t\t\t\t'is-zoom-out': isZoomOutMode,\n\t\t\t} ) }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t<div className=\"block-editor-inserter__main-area\">\n\t\t\t\t<TabbedSidebar\n\t\t\t\t\tref={ tabsRef }\n\t\t\t\t\tonSelect={ handleSetSelectedTab }\n\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\tselectedTab={ selectedTab }\n\t\t\t\t\tcloseButtonLabel={ __( 'Close Block Inserter' ) }\n\t\t\t\t\ttabs={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'blocks',\n\t\t\t\t\t\t\ttitle: __( 'Blocks' ),\n\t\t\t\t\t\t\tpanelRef: blocksPanelRef,\n\t\t\t\t\t\t\tpanel: (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ inserterSearch }\n\t\t\t\t\t\t\t\t\t{ selectedTab === 'blocks' &&\n\t\t\t\t\t\t\t\t\t\t! delayedFilterValue &&\n\t\t\t\t\t\t\t\t\t\tblocksTab }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'patterns',\n\t\t\t\t\t\t\ttitle: __( 'Patterns' ),\n\t\t\t\t\t\t\tpanelRef: patternsPanelRef,\n\t\t\t\t\t\t\tpanel: (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ inserterSearch }\n\t\t\t\t\t\t\t\t\t{ selectedTab === 'patterns' &&\n\t\t\t\t\t\t\t\t\t\t! delayedFilterValue &&\n\t\t\t\t\t\t\t\t\t\tpatternsTab }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'media',\n\t\t\t\t\t\t\ttitle: __( 'Media' ),\n\t\t\t\t\t\t\tpanelRef: mediaPanelRef,\n\t\t\t\t\t\t\tpanel: (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ inserterSearch }\n\t\t\t\t\t\t\t\t\t{ mediaTab }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-inserter__preview-container__popover\"\n\t\t\t\t\tplacement=\"right-start\"\n\t\t\t\t\toffset={ 16 }\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\tanimate={ false }\n\t\t\t\t>\n\t\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const PrivateInserterMenu = forwardRef( InserterMenu );\n\nfunction PublicInserterMenu( props, ref ) {\n\treturn (\n\t\t<PrivateInserterMenu\n\t\t\t{ ...props }\n\t\t\tonPatternCategorySelection={ NOOP }\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( PublicInserterMenu );\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import clsx from 'clsx';\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseLayoutEffect,\n} from '@wordpress/element';\nimport { SearchControl, Popover } from '@wordpress/components';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { __ } from '@wordpress/i18n';\nimport { useDebouncedInput, useViewportMatch } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTab from './block-patterns-tab';\nimport { PatternCategoryPreviews } from './block-patterns-tab/pattern-category-previews';\nimport { MediaTab, MediaCategoryPanel } from './media-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport { store as blockEditorStore } from '../../store';\nimport TabbedSidebar from '../tabbed-sidebar';\nimport { useZoomOut } from '../../hooks/use-zoom-out';\nimport { unlock } from '../../lock-unlock';\n\nconst NOOP = () => {};\nfunction InserterMenu(\n\t{\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\t__experimentalInsertionIndex,\n\t\tonSelect,\n\t\tshowInserterHelpPanel,\n\t\tshowMostUsedBlocks,\n\t\t__experimentalFilterValue = '',\n\t\tshouldFocusBlock = true,\n\t\tonPatternCategorySelection,\n\t\tonClose,\n\t\t__experimentalInitialTab,\n\t\t__experimentalInitialCategory,\n\t},\n\tref\n) {\n\tconst { isZoomOutMode, hasSectionRootClientId } = useSelect( ( select ) => {\n\t\tconst { isZoomOut, getSectionRootClientId } = unlock(\n\t\t\tselect( blockEditorStore )\n\t\t);\n\n\t\treturn {\n\t\t\tisZoomOutMode: isZoomOut(),\n\t\t\thasSectionRootClientId: !! getSectionRootClientId(),\n\t\t};\n\t}, [] );\n\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( __experimentalFilterValue );\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] = useState(\n\t\t__experimentalInitialCategory\n\t);\n\tconst [ patternFilter, setPatternFilter ] = useState( 'all' );\n\tconst [ selectedMediaCategory, setSelectedMediaCategory ] =\n\t\tuseState( null );\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst maybeCloseInserter = isMobileViewport ? onClose : NOOP;\n\n\tfunction getInitialTab() {\n\t\tif ( __experimentalInitialTab ) {\n\t\t\treturn __experimentalInitialTab;\n\t\t}\n\n\t\tif ( isZoomOutMode ) {\n\t\t\treturn 'patterns';\n\t\t}\n\n\t\treturn 'blocks';\n\t}\n\tconst [ selectedTab, setSelectedTab ] = useState( getInitialTab() );\n\n\tconst shouldUseZoomOut =\n\t\thasSectionRootClientId &&\n\t\t( selectedTab === 'patterns' || selectedTab === 'media' );\n\n\tuseZoomOut( shouldUseZoomOut && isLargeViewport );\n\n\tconst [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ] =\n\t\tuseInsertionPoint( {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\t\tshouldFocusBlock,\n\t\t} );\n\tconst { hideInsertionPoint } = useDispatch( blockEditorStore );\n\tconst blockTypesTabRef = useRef();\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock, _rootClientId ) => {\n\t\t\t// The cue points at a position that no longer exists once the\n\t\t\t// blocks are inserted, so clear it regardless of what showed it.\n\t\t\thideInsertionPoint();\n\t\t\tonInsertBlocks(\n\t\t\t\tblocks,\n\t\t\t\tmeta,\n\t\t\t\tshouldForceFocusBlock,\n\t\t\t\t_rootClientId\n\t\t\t);\n\t\t\tonSelect( blocks );\n\t\t\tmaybeCloseInserter();\n\n\t\t\t// Check for focus loss due to filtering blocks by selected block type\n\t\t\twindow.requestAnimationFrame( () => {\n\t\t\t\tif (\n\t\t\t\t\t! shouldFocusBlock &&\n\t\t\t\t\t! blockTypesTabRef.current?.contains(\n\t\t\t\t\t\tref.current.ownerDocument.activeElement\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\t// There has been a focus loss, so focus the first button in the block types tab\n\t\t\t\t\tblockTypesTabRef.current?.querySelector( 'button' ).focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\t[\n\t\t\thideInsertionPoint,\n\t\t\tonInsertBlocks,\n\t\t\tmaybeCloseInserter,\n\t\t\tonSelect,\n\t\t\tref,\n\t\t\tshouldFocusBlock,\n\t\t]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName, ...args ) => {\n\t\t\thideInsertionPoint();\n\t\t\tonInsertBlocks( blocks, { patternName }, ...args );\n\t\t\tonSelect();\n\t\t\tmaybeCloseInserter();\n\t\t},\n\t\t[ hideInsertionPoint, onInsertBlocks, maybeCloseInserter, onSelect ]\n\t);\n\n\tconst onHover = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( item );\n\t\t\tsetHoveredItem( item );\n\t\t},\n\t\t[ onToggleInsertionPoint, setHoveredItem ]\n\t);\n\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory, filter ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t\tsetPatternFilter( filter );\n\t\t\tonPatternCategorySelection?.();\n\t\t},\n\t\t[ setSelectedPatternCategory, onPatternCategorySelection ]\n\t);\n\n\tconst showPatternPanel =\n\t\tselectedTab === 'patterns' &&\n\t\t! delayedFilterValue &&\n\t\t!! selectedPatternCategory;\n\n\tconst showMediaPanel = selectedTab === 'media' && !! selectedMediaCategory;\n\n\tconst [ isScrolled, setIsScrolled ] = useState( false );\n\tconst blocksPanelRef = useRef( null );\n\tconst patternsPanelRef = useRef( null );\n\tconst mediaPanelRef = useRef( null );\n\tuseEffect( () => {\n\t\tconst handleScroll = ( event ) => {\n\t\t\tsetIsScrolled( event.currentTarget.scrollTop > 0 );\n\t\t};\n\t\tconst panels = [\n\t\t\tblocksPanelRef.current,\n\t\t\tpatternsPanelRef.current,\n\t\t\tmediaPanelRef.current,\n\t\t].filter( Boolean );\n\t\tpanels.forEach( ( panel ) =>\n\t\t\tpanel.addEventListener( 'scroll', handleScroll )\n\t\t);\n\n\t\treturn () => {\n\t\t\tpanels.forEach( ( panel ) =>\n\t\t\t\tpanel.removeEventListener( 'scroll', handleScroll )\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst inserterSearch = useMemo( () => {\n\t\tif ( selectedTab === 'media' ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<SearchControl\n\t\t\t\t\tclassName={ clsx( 'block-editor-inserter__search', {\n\t\t\t\t\t\t'is-scrolled': isScrolled,\n\t\t\t\t\t} ) }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tif ( hoveredItem ) {\n\t\t\t\t\t\t\tsetHoveredItem( null );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t\t{ !! delayedFilterValue && (\n\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\tfilterValue={ delayedFilterValue }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\tprioritizePatterns={ selectedTab === 'patterns' }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}, [\n\t\tselectedTab,\n\t\thoveredItem,\n\t\tsetHoveredItem,\n\t\tsetFilterValue,\n\t\tfilterValue,\n\t\tdelayedFilterValue,\n\t\tonSelect,\n\t\tonHover,\n\t\tshouldFocusBlock,\n\t\tclientId,\n\t\trootClientId,\n\t\t__experimentalInsertionIndex,\n\t\tisAppender,\n\t\tisScrolled,\n\t] );\n\n\tconst blocksTab = useMemo( () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-inserter__block-list\">\n\t\t\t\t\t<BlockTypesTab\n\t\t\t\t\t\tref={ blockTypesTabRef }\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ showInserterHelpPanel && (\n\t\t\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t\t\t<VisuallyHidden render={ <h2 /> }>\n\t\t\t\t\t\t\t{ __( 'A tip for using the block editor' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<Tips />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}, [\n\t\tdestinationRootClientId,\n\t\tonInsert,\n\t\tonHover,\n\t\tshowMostUsedBlocks,\n\t\tshowInserterHelpPanel,\n\t] );\n\n\tconst patternsTab = useMemo( () => {\n\t\treturn (\n\t\t\t<BlockPatternsTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonSelectCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t>\n\t\t\t\t{ showPatternPanel && (\n\t\t\t\t\t<PatternCategoryPreviews\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\t\t\tcategory={ selectedPatternCategory }\n\t\t\t\t\t\tpatternFilter={ patternFilter }\n\t\t\t\t\t\tshowTitlesAsTooltip\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockPatternsTab>\n\t\t);\n\t}, [\n\t\tdestinationRootClientId,\n\t\tonInsertPattern,\n\t\tonClickPatternCategory,\n\t\tpatternFilter,\n\t\tselectedPatternCategory,\n\t\tshowPatternPanel,\n\t] );\n\n\tconst mediaTab = useMemo( () => {\n\t\treturn (\n\t\t\t<MediaTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tselectedCategory={ selectedMediaCategory }\n\t\t\t\tonSelectCategory={ setSelectedMediaCategory }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t>\n\t\t\t\t{ showMediaPanel && (\n\t\t\t\t\t<MediaCategoryPanel\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tcategory={ selectedMediaCategory }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</MediaTab>\n\t\t);\n\t}, [\n\t\tdestinationRootClientId,\n\t\tonInsert,\n\t\tselectedMediaCategory,\n\t\tsetSelectedMediaCategory,\n\t\tshowMediaPanel,\n\t] );\n\n\tconst handleSetSelectedTab = ( value ) => {\n\t\t// If no longer on patterns tab remove the category setting.\n\t\tif ( value !== 'patterns' ) {\n\t\t\tsetSelectedPatternCategory( null );\n\t\t}\n\t\tsetSelectedTab( value );\n\t};\n\n\t// Focus first active tab, if any\n\tconst tabsRef = useRef();\n\tuseLayoutEffect( () => {\n\t\tif ( ! tabsRef.current ) {\n\t\t\treturn;\n\t\t}\n\t\tconst frame = window.requestAnimationFrame( () => {\n\t\t\ttabsRef.current\n\t\t\t\t?.querySelector( '[role=\"tab\"][aria-selected=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t} );\n\t\treturn () => window.cancelAnimationFrame( frame );\n\t}, [] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( 'block-editor-inserter__menu', {\n\t\t\t\t'show-panel': showPatternPanel || showMediaPanel,\n\t\t\t\t'is-zoom-out': isZoomOutMode,\n\t\t\t} ) }\n\t\t\tref={ ref }\n\t\t>\n\t\t\t<div className=\"block-editor-inserter__main-area\">\n\t\t\t\t<TabbedSidebar\n\t\t\t\t\tref={ tabsRef }\n\t\t\t\t\tonSelect={ handleSetSelectedTab }\n\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\tselectedTab={ selectedTab }\n\t\t\t\t\tcloseButtonLabel={ __( 'Close Block Inserter' ) }\n\t\t\t\t\ttabs={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'blocks',\n\t\t\t\t\t\t\ttitle: __( 'Blocks' ),\n\t\t\t\t\t\t\tpanelRef: blocksPanelRef,\n\t\t\t\t\t\t\tpanel: (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ inserterSearch }\n\t\t\t\t\t\t\t\t\t{ selectedTab === 'blocks' &&\n\t\t\t\t\t\t\t\t\t\t! delayedFilterValue &&\n\t\t\t\t\t\t\t\t\t\tblocksTab }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'patterns',\n\t\t\t\t\t\t\ttitle: __( 'Patterns' ),\n\t\t\t\t\t\t\tpanelRef: patternsPanelRef,\n\t\t\t\t\t\t\tpanel: (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ inserterSearch }\n\t\t\t\t\t\t\t\t\t{ selectedTab === 'patterns' &&\n\t\t\t\t\t\t\t\t\t\t! delayedFilterValue &&\n\t\t\t\t\t\t\t\t\t\tpatternsTab }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'media',\n\t\t\t\t\t\t\ttitle: __( 'Media' ),\n\t\t\t\t\t\t\tpanelRef: mediaPanelRef,\n\t\t\t\t\t\t\tpanel: (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ inserterSearch }\n\t\t\t\t\t\t\t\t\t{ mediaTab }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-inserter__preview-container__popover\"\n\t\t\t\t\tplacement=\"right-start\"\n\t\t\t\t\toffset={ 16 }\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\tanimate={ false }\n\t\t\t\t>\n\t\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const PrivateInserterMenu = forwardRef( InserterMenu );\n\nfunction PublicInserterMenu( props, ref ) {\n\treturn (\n\t\t<PrivateInserterMenu\n\t\t\t{ ...props }\n\t\t\tonPatternCategorySelection={ NOOP }\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( PublicInserterMenu );\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["blockEditorStore", "useInsertionPoint", "clsx", "InserterSearchResults", "BlockTypesTab", "Tips", "BlockPatternsTab", "TabbedSidebar", "InserterPreviewPanel"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inserter/mobile-tab-navigation.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { __, isRTL } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalHeading as Heading,\n\t__experimentalView as View,\n\tNavigator,\n\tFlexBlock,\n} from '@wordpress/components';\nimport { Icon, chevronRight, chevronLeft } from '@wordpress/icons';\n\nfunction ScreenHeader( { title } ) {\n\treturn (\n\t\t<VStack spacing={ 0 }>\n\t\t\t<View>\n\t\t\t\t<Spacer marginBottom={ 0 } paddingX={ 4 } paddingY={ 3 }>\n\t\t\t\t\t<HStack spacing={ 2 }>\n\t\t\t\t\t\t<Navigator.BackButton\n\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t// TODO: This style override is also used in ToolsPanelHeader.\n\t\t\t\t\t\t\t\t// It should be supported out-of-the-box by Button.\n\t\t\t\t\t\t\t\t{ minWidth: 24, padding: 0 }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Spacer>\n\t\t\t\t\t\t\t<Heading level={ 5 }>{ title }</Heading>\n\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t</HStack>\n\t\t\t\t</Spacer>\n\t\t\t</View>\n\t\t</VStack>\n\t);\n}\n\nexport default function MobileTabNavigation( {\n\tcategories,\n\tchildren,\n\tscreenClassName,\n} ) {\n\treturn (\n\t\t<Navigator\n\t\t\tinitialPath=\"/\"\n\t\t\tclassName=\"block-editor-inserter__mobile-tab-navigation\"\n\t\t>\n\t\t\t<Navigator.Screen path=\"/\">\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t\t<Navigator.Button\n\t\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\t\tpath={ `/category/${ category.name }` }\n\t\t\t\t\t\t\tas={ Item }\n\t\t\t\t\t\t\tisAction\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t<FlexBlock>{ category.label }</FlexBlock>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronLeft : chevronRight\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</Navigator.Button>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t</Navigator.Screen>\n\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t<Navigator.Screen\n\t\t\t\t\tkey={ category.name }\n\t\t\t\t\tclassName={ screenClassName }\n\t\t\t\t\tpath={ `/category/${ category.name }` }\n\t\t\t\t>\n\t\t\t\t\t<ScreenHeader title={ __( 'Back' ) } />\n\t\t\t\t\t{ children( category ) }\n\t\t\t\t</Navigator.Screen>\n\t\t\t) ) }\n\t\t</Navigator>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA0B;AAC1B,wBAUO;AACP,mBAAgD;AAO3C;AALL,SAAS,aAAc,EAAE,MAAM,GAAI;AAClC,SACC,4CAAC,kBAAAA,sBAAA,EAAO,SAAU,GACjB,sDAAC,kBAAAC,oBAAA,EACA,sDAAC,kBAAAC,sBAAA,EAAO,cAAe,GAAI,UAAW,GAAI,UAAW,GACpD,uDAAC,kBAAAC,sBAAA,EAAO,SAAU,GACjB;AAAA;AAAA,MAAC,4BAAU;AAAA,MAAV;AAAA,QACA;AAAA;AAAA;AAAA,UAGC,EAAE,UAAU,IAAI,SAAS,EAAE;AAAA;AAAA,QAE5B,UAAO,mBAAM,IAAI,4BAAe;AAAA,QAChC,MAAK;AAAA,QACL,WAAQ,gBAAI,MAAO;AAAA;AAAA,IACpB;AAAA,IACA,4CAAC,kBAAAD,sBAAA,EACA,sDAAC,kBAAAE,uBAAA,EAAQ,OAAQ,GAAM,iBAAO,GAC/B;AAAA,KACD,GACD,GACD,GACD;AAEF;AAEe,SAAR,oBAAsC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,SACC;AAAA,IAAC;AAAA;AAAA,MACA,aAAY;AAAA,MACZ,WAAU;AAAA,MAEV;AAAA,oDAAC,4BAAU,QAAV,EAAiB,MAAK,KACtB,sDAAC,kBAAAC,yBAAA,EACE,qBAAW,IAAK,CAAE,aACnB;AAAA,UAAC,4BAAU;AAAA,UAAV;AAAA,YAEA,MAAO,aAAc,SAAS,IAAK;AAAA,YACnC,IAAK,kBAAAC;AAAA,YACL,UAAQ;AAAA,YAER,uDAAC,kBAAAH,sBAAA,EACA;AAAA,0DAAC,+BAAY,mBAAS,OAAO;AAAA,cAC7B;AAAA,gBAAC;AAAA;AAAA,kBACA,UACC,mBAAM,IAAI,2BAAc;AAAA;AAAA,cAE1B;AAAA,eACD;AAAA;AAAA,UAZM,SAAS;AAAA,QAahB,CACC,GACH,GACD;AAAA,QACE,WAAW,IAAK,CAAE,aACnB;AAAA,UAAC,4BAAU;AAAA,UAAV;AAAA,YAEA,WAAY;AAAA,YACZ,MAAO,aAAc,SAAS,IAAK;AAAA,YAEnC;AAAA,0DAAC,gBAAa,WAAQ,gBAAI,MAAO,GAAI;AAAA,cACnC,SAAU,QAAS;AAAA;AAAA;AAAA,UALf,SAAS;AAAA,QAMhB,CACC;AAAA;AAAA;AAAA,EACH;AAEF;",
|
|
6
6
|
"names": ["VStack", "View", "Spacer", "HStack", "Heading", "ItemGroup", "Item"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inserter/no-results.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { __ } from '@wordpress/i18n';\n\nfunction InserterNoResults( { children = __( 'No results found.' ) } ) {\n\treturn (\n\t\t<div className=\"block-editor-inserter__no-results\">\n\t\t\t<p>{ children }</p>\n\t\t</div>\n\t);\n}\n\nexport default InserterNoResults;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AAKhB;AAHH,SAAS,kBAAmB,EAAE,eAAW,gBAAI,mBAAoB,EAAE,GAAI;AACtE,SACC,4CAAC,SAAI,WAAU,qCACd,sDAAC,OAAI,UAAU,GAChB;AAEF;AAEA,IAAO,qBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inserter/panel.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { Icon as WCIcon } from '@wordpress/components';\n\nfunction InserterPanel( { title, icon, children } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"block-editor-inserter__panel-header\">\n\t\t\t\t<h2 className=\"block-editor-inserter__panel-title\">\n\t\t\t\t\t{ title }\n\t\t\t\t</h2>\n\t\t\t\t<WCIcon icon={ icon } />\n\t\t\t</div>\n\t\t\t<div className=\"block-editor-inserter__panel-content\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default InserterPanel;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA+B;AAI7B;AAFF,SAAS,cAAe,EAAE,OAAO,MAAM,SAAS,GAAI;AACnD,SACC,4EACC;AAAA,iDAAC,SAAI,WAAU,uCACd;AAAA,kDAAC,QAAG,WAAU,sCACX,iBACH;AAAA,MACA,4CAAC,kBAAAA,MAAA,EAAO,MAAc;AAAA,OACvB;AAAA,IACA,4CAAC,SAAI,WAAU,wCACZ,UACH;AAAA,KACD;AAEF;AAEA,IAAO,gBAAQ;",
|
|
6
6
|
"names": ["WCIcon"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/inserter/preview-panel.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import {\n\tisReusableBlock,\n\tcreateBlock,\n\tgetBlockFromExample,\n} from '@wordpress/blocks';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport BlockCard from '../block-card';\nimport BlockPreview from '../block-preview';\n\nfunction InserterPreviewPanel( { item } ) {\n\tconst { name, title, icon, description, initialAttributes, example } = item;\n\tconst isReusable = isReusableBlock( item );\n\tconst blocks = useMemo( () => {\n\t\tif ( ! example ) {\n\t\t\treturn createBlock( name, initialAttributes );\n\t\t}\n\t\treturn getBlockFromExample( name, {\n\t\t\tattributes: {\n\t\t\t\t...example.attributes,\n\t\t\t\t...initialAttributes,\n\t\t\t},\n\t\t\tinnerBlocks: example.innerBlocks,\n\t\t\tinnerContent: example.innerContent,\n\t\t} );\n\t}, [ name, example, initialAttributes ] );\n\t// Same as height of BlockPreviewPanel.\n\tconst previewHeight = 144;\n\tconst sidebarWidth = 280;\n\tconst viewportWidth = example?.viewportWidth ?? 500;\n\tconst scale = sidebarWidth / viewportWidth;\n\tconst minHeight =\n\t\tscale !== 0 && scale < 1 && previewHeight\n\t\t\t? previewHeight / scale\n\t\t\t: previewHeight;\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__preview-container\">\n\t\t\t<div className=\"block-editor-inserter__preview\">\n\t\t\t\t{ isReusable || example ? (\n\t\t\t\t\t<div className=\"block-editor-inserter__preview-content\">\n\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t\t\t\tminHeight={ previewHeight }\n\t\t\t\t\t\t\tadditionalStyles={\n\t\t\t\t\t\t\t\t//We want this CSS to be in sync with the one in BlockPreviewPanel.\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcss: `\n\t\t\t\t\t\t\t\t\t\tbody { \n\t\t\t\t\t\t\t\t\t\t\tpadding: 24px;\n\t\t\t\t\t\t\t\t\t\t\tmin-height:${ Math.round( minHeight ) }px;\n\t\t\t\t\t\t\t\t\t\t\tdisplay:flex;\n\t\t\t\t\t\t\t\t\t\t\talign-items:center;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t.is-root-container { width: 100%; }\n\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"block-editor-inserter__preview-content-missing\">\n\t\t\t\t\t\t{ __( 'No preview available.' ) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! isReusable && (\n\t\t\t\t<BlockCard\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tdescription={ description }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default InserterPreviewPanel;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAIO;AACP,qBAAwB;AACxB,kBAAmB;AACnB,wBAAsB;AACtB,2BAAyB;AA6BvB;AA3BF,SAAS,qBAAsB,EAAE,KAAK,GAAI;AACzC,QAAM,EAAE,MAAM,OAAO,MAAM,aAAa,mBAAmB,QAAQ,IAAI;AACvE,QAAM,iBAAa,+BAAiB,IAAK;AACzC,QAAM,aAAS,wBAAS,MAAM;AAC7B,QAAK,CAAE,SAAU;AAChB,iBAAO,2BAAa,MAAM,iBAAkB;AAAA,IAC7C;AACA,eAAO,mCAAqB,MAAM;AAAA,MACjC,YAAY;AAAA,QACX,GAAG,QAAQ;AAAA,QACX,GAAG;AAAA,MACJ;AAAA,MACA,aAAa,QAAQ;AAAA,MACrB,cAAc,QAAQ;AAAA,IACvB,CAAE;AAAA,EACH,GAAG,CAAE,MAAM,SAAS,iBAAkB,CAAE;AAExC,QAAM,gBAAgB;AACtB,QAAM,eAAe;AACrB,QAAM,gBAAgB,SAAS,iBAAiB;AAChD,QAAM,QAAQ,eAAe;AAC7B,QAAM,YACL,UAAU,KAAK,QAAQ,KAAK,gBACzB,gBAAgB,QAChB;AAEJ,SACC,6CAAC,SAAI,WAAU,4CACd;AAAA,gDAAC,SAAI,WAAU,kCACZ,wBAAc,UACf,4CAAC,SAAI,WAAU,0CACd;AAAA,MAAC,qBAAAA;AAAA,MAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAY;AAAA,QACZ;AAAA;AAAA,UAEC;AAAA,YACC;AAAA,cACC,KAAK;AAAA;AAAA;AAAA,wBAGU,KAAK,MAAO,SAAU,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMxC;AAAA,UACD;AAAA;AAAA;AAAA,IAEF,GACD,IAEA,4CAAC,SAAI,WAAU,kDACZ,8BAAI,uBAAwB,GAC/B,GAEF;AAAA,IACE,CAAE,cACH;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;AAEA,IAAO,wBAAQ;",
|
|
6
6
|
"names": ["BlockPreview", "BlockCard"]
|
|
7
7
|
}
|