@wordpress/block-editor 9.2.0 → 9.3.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 +6 -0
- package/build/autocompleters/block.js +3 -1
- package/build/autocompleters/block.js.map +1 -1
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +3 -7
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-content-overlay/index.js.map +1 -1
- package/build/components/block-context/index.js.map +1 -1
- package/build/components/block-controls/hook.js.map +1 -1
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block-selection-button.native.js.map +1 -1
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-list-appender/index.native.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +1 -1
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-selection-clearer/index.js.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.js +3 -7
- package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +6 -3
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-styles/index.js +6 -3
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/menu-items.js +3 -7
- package/build/components/block-styles/menu-items.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-toolbar/index.native.js.map +1 -1
- package/build/components/block-toolbar/utils.js +5 -8
- package/build/components/block-toolbar/utils.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/copy-handler/index.js +17 -1
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/default-block-appender/index.native.js.map +1 -1
- package/build/components/default-style-picker/index.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-size-control/index.js +3 -1
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.js +18 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +3 -7
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/menu.native.js.map +1 -1
- package/build/components/inserter/no-results.native.js.map +1 -1
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/search-items.js +1 -1
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter/search-results.native.js.map +1 -1
- package/build/components/inspector-popover-header/index.js +56 -0
- package/build/components/inspector-popover-header/index.js.map +1 -0
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/index.js +4 -4
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-create-button.js +1 -3
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js +5 -3
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +3 -7
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/list-view/utils.js +1 -7
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.js +4 -4
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +20 -5
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload/index.native.js +1 -1
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/preview-options/index.js +4 -0
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +5 -3
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/publish-date-time-picker/index.js +14 -16
- package/build/components/publish-date-time-picker/index.js.map +1 -1
- package/build/components/rich-text/embed-handler-picker.native.js +4 -8
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/ungroup-button/index.native.js +3 -7
- package/build/components/ungroup-button/index.native.js.map +1 -1
- package/build/components/url-input/index.js +14 -3
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build/components/use-display-block-controls/index.native.js.map +1 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.native.js.map +1 -1
- package/build/components/use-setting/index.js.map +1 -1
- package/build/components/writing-flow/use-arrow-nav.js +12 -12
- package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build/components/writing-flow/use-click-selection.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/components/writing-flow/use-select-all.js.map +1 -1
- package/build/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color-panel.native.js.map +1 -1
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/layout.js +38 -1
- package/build/hooks/layout.js.map +1 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +1 -1
- package/build/store/selectors.js.map +1 -1
- package/build/utils/pasting.js.map +1 -1
- package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-module/autocompleters/block.js +4 -1
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +2 -5
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-content-overlay/index.js.map +1 -1
- package/build-module/components/block-context/index.js.map +1 -1
- package/build-module/components/block-controls/hook.js.map +1 -1
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.native.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +1 -1
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-selection-clearer/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-mode-toggle.js +3 -5
- package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +9 -3
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-styles/index.js +5 -2
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/menu-items.js +3 -5
- package/build-module/components/block-styles/menu-items.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build-module/components/block-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-toolbar/utils.js +3 -5
- package/build-module/components/block-toolbar/utils.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/copy-handler/index.js +18 -2
- package/build-module/components/copy-handler/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.native.js.map +1 -1
- package/build-module/components/default-style-picker/index.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-size-control/index.js +4 -1
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/index.js +2 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +2 -5
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/no-results.native.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/search-items.js +2 -2
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/search-results.native.js.map +1 -1
- package/build-module/components/inspector-popover-header/index.js +46 -0
- package/build-module/components/inspector-popover-header/index.js.map +1 -0
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/index.js +2 -1
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-create-button.js +1 -2
- package/build-module/components/link-control/search-create-button.js.map +1 -1
- package/build-module/components/link-control/search-input.js +3 -1
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +2 -5
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/list-view/utils.js +1 -6
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +2 -1
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +22 -7
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +1 -1
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/preview-options/index.js +4 -0
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +4 -1
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/publish-date-time-picker/index.js +14 -16
- package/build-module/components/publish-date-time-picker/index.js.map +1 -1
- package/build-module/components/rich-text/embed-handler-picker.native.js +3 -5
- package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/ungroup-button/index.native.js +3 -5
- package/build-module/components/ungroup-button/index.native.js.map +1 -1
- package/build-module/components/url-input/index.js +11 -1
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build-module/components/use-display-block-controls/index.native.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/components/writing-flow/use-arrow-nav.js +12 -11
- package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build-module/components/writing-flow/use-click-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-select-all.js.map +1 -1
- package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color-panel.native.js.map +1 -1
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/layout.js +39 -2
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +2 -2
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/pasting.js.map +1 -1
- package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
- package/build-style/style-rtl.css +16 -23
- package/build-style/style.css +16 -23
- package/package.json +28 -28
- package/src/autocompleters/block.js +2 -1
- package/src/components/block-actions/index.js +2 -3
- package/src/components/block-alignment-control/ui.js +4 -6
- package/src/components/block-alignment-matrix-control/index.js +2 -4
- package/src/components/block-breadcrumb/index.js +2 -5
- package/src/components/block-compare/test/block-view.js +2 -1
- package/src/components/block-content-overlay/index.js +2 -5
- package/src/components/block-context/index.js +4 -4
- package/src/components/block-controls/hook.js +2 -3
- package/src/components/block-draggable/index.js +6 -13
- package/src/components/block-draggable/index.native.js +6 -14
- package/src/components/block-draggable/test/index.native.js +12 -15
- package/src/components/block-edit/test/edit.js +2 -1
- package/src/components/block-list/block-list-item.native.js +4 -12
- package/src/components/block-list/block-selection-button.native.js +2 -3
- package/src/components/block-list/block.js +8 -10
- package/src/components/block-list/block.native.js +10 -15
- package/src/components/block-list/index.js +2 -3
- package/src/components/block-list/index.native.js +12 -21
- package/src/components/block-list/test/block-list-context.native.js +8 -16
- package/src/components/block-list/use-block-props/index.js +6 -3
- package/src/components/block-list/use-block-props/use-block-custom-class-name.js +2 -3
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +2 -3
- package/src/components/block-list/use-in-between-inserter.js +2 -3
- package/src/components/block-list-appender/index.js +2 -5
- package/src/components/block-list-appender/index.native.js +2 -3
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +4 -6
- package/src/components/block-mover/button.js +2 -3
- package/src/components/block-mover/index.native.js +4 -6
- package/src/components/block-parent-selector/index.js +2 -3
- package/src/components/block-pattern-setup/index.js +3 -5
- package/src/components/block-preview/auto.js +4 -8
- package/src/components/block-selection-clearer/index.js +2 -3
- package/src/components/block-settings-menu/block-mode-toggle.js +4 -8
- package/src/components/block-settings-menu/block-settings-dropdown.js +9 -9
- package/src/components/block-styles/index.js +3 -1
- package/src/components/block-styles/menu-items.js +2 -5
- package/src/components/block-switcher/block-transformations-menu.js +2 -4
- package/src/components/block-toolbar/index.native.js +2 -5
- package/src/components/block-toolbar/utils.js +3 -11
- package/src/components/block-tools/block-contextual-toolbar.js +2 -5
- package/src/components/block-tools/index.js +2 -3
- package/src/components/block-types-list/index.native.js +2 -4
- package/src/components/block-variation-transforms/index.js +4 -6
- package/src/components/color-palette/test/control.js +2 -1
- package/src/components/color-style-selector/index.js +27 -28
- package/src/components/colors/test/with-colors.js +14 -14
- package/src/components/colors/with-colors.js +8 -12
- package/src/components/colors-gradients/dropdown.js +21 -16
- package/src/components/colors-gradients/test/control.js +10 -10
- package/src/components/convert-to-group-buttons/toolbar.js +2 -6
- package/src/components/copy-handler/README.md +7 -2
- package/src/components/copy-handler/index.js +26 -6
- package/src/components/default-block-appender/index.js +4 -6
- package/src/components/default-block-appender/index.native.js +4 -9
- package/src/components/default-style-picker/index.js +20 -21
- package/src/components/font-sizes/with-font-sizes.js +2 -3
- package/src/components/image-editor/aspect-ratio-dropdown.js +2 -6
- package/src/components/image-size-control/index.js +4 -7
- package/src/components/index.js +2 -0
- package/src/components/inner-blocks/use-inner-block-template-sync.js +2 -3
- package/src/components/inner-blocks/use-nested-settings-update.js +6 -9
- package/src/components/inserter/block-types-tab.native.js +2 -3
- package/src/components/inserter/hooks/use-block-type-impressions.native.js +2 -3
- package/src/components/inserter/hooks/use-insertion-point.js +3 -2
- package/src/components/inserter/hooks/use-patterns-state.js +4 -5
- package/src/components/inserter/index.js +4 -6
- package/src/components/inserter/index.native.js +6 -11
- package/src/components/inserter/library.js +2 -5
- package/src/components/inserter/menu.js +14 -19
- package/src/components/inserter/menu.native.js +8 -6
- package/src/components/inserter/no-results.native.js +2 -1
- package/src/components/inserter/quick-inserter.js +2 -3
- package/src/components/inserter/search-items.js +6 -6
- package/src/components/inserter/search-results.native.js +4 -6
- package/src/components/inspector-popover-header/README.md +76 -0
- package/src/components/inspector-popover-header/index.js +56 -0
- package/src/components/inspector-popover-header/style.scss +16 -0
- package/src/components/line-height-control/index.js +1 -2
- package/src/components/link-control/index.js +4 -4
- package/src/components/link-control/search-create-button.js +4 -2
- package/src/components/link-control/search-input.js +3 -1
- package/src/components/link-control/settings-drawer.js +2 -5
- package/src/components/link-control/test/fixtures/index.js +3 -4
- package/src/components/link-control/test/index.js +24 -36
- package/src/components/link-control/use-search-handler.js +2 -2
- package/src/components/list-view/block-contents.js +2 -4
- package/src/components/list-view/branch.js +22 -23
- package/src/components/list-view/index.js +4 -8
- package/src/components/list-view/use-block-selection.js +5 -5
- package/src/components/list-view/use-list-view-drop-zone.js +2 -1
- package/src/components/list-view/utils.js +1 -6
- package/src/components/media-placeholder/index.js +2 -1
- package/src/components/media-replace-flow/index.js +77 -46
- package/src/components/media-upload/index.native.js +1 -1
- package/src/components/navigable-toolbar/index.js +1 -2
- package/src/components/panel-color-settings/test/index.js +2 -1
- package/src/components/plain-text/index.native.js +2 -6
- package/src/components/preview-options/index.js +4 -0
- package/src/components/provider/use-block-sync.js +5 -2
- package/src/components/publish-date-time-picker/README.md +1 -1
- package/src/components/publish-date-time-picker/index.js +16 -27
- package/src/components/responsive-block-control/test/index.js +3 -2
- package/src/components/rich-text/embed-handler-picker.native.js +2 -5
- package/src/components/rich-text/index.js +7 -4
- package/src/components/rich-text/use-format-types.js +16 -16
- package/src/components/rich-text/use-mark-persistent.js +2 -3
- package/src/components/skip-to-selected-block/index.js +2 -3
- package/src/components/ungroup-button/index.native.js +4 -8
- package/src/components/url-input/index.js +21 -20
- package/src/components/use-block-display-information/index.js +4 -6
- package/src/components/use-block-drop-zone/index.js +2 -3
- package/src/components/use-block-drop-zone/index.native.js +2 -4
- package/src/components/use-block-drop-zone/test/index.js +22 -23
- package/src/components/use-display-block-controls/index.native.js +2 -3
- package/src/components/use-no-recursive-renders/test/use-no-recursive-renders.js +2 -3
- package/src/components/use-on-block-drop/index.js +2 -5
- package/src/components/use-on-block-drop/index.native.js +4 -8
- package/src/components/use-setting/index.js +8 -6
- package/src/components/writing-flow/test/index.js +22 -4
- package/src/components/writing-flow/use-arrow-nav.js +22 -10
- package/src/components/writing-flow/use-click-selection.js +2 -5
- package/src/components/writing-flow/use-drag-selection.js +6 -9
- package/src/components/writing-flow/use-multi-selection.js +2 -4
- package/src/components/writing-flow/use-select-all.js +2 -5
- package/src/components/writing-flow/use-selection-observer.js +4 -6
- package/src/components/writing-flow/use-tab-nav.js +2 -5
- package/src/hooks/color-panel.js +4 -4
- package/src/hooks/color-panel.native.js +2 -2
- package/src/hooks/color.js +2 -2
- package/src/hooks/font-family.js +4 -2
- package/src/hooks/gap.js +2 -3
- package/src/hooks/layout.js +54 -4
- package/src/hooks/test/align.js +2 -1
- package/src/hooks/test/generated-class-name.js +2 -5
- package/src/hooks/test/utils.js +2 -5
- package/src/store/actions.js +772 -728
- package/src/store/reducer.js +188 -177
- package/src/store/selectors.js +54 -54
- package/src/store/test/actions.js +2 -1
- package/src/store/test/reducer.js +3 -1
- package/src/store/test/selectors.js +17 -21
- package/src/style.scss +1 -1
- package/src/utils/pasting.js +3 -3
- package/src/utils/transform-styles/transforms/wrap.js +30 -28
- package/tsconfig.tsbuildinfo +1 -1
- package/src/components/publish-date-time-picker/style.scss +0 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"names":["forwardRef","useState","useCallback","useMemo","useImperativeHandle","useRef","VisuallyHidden","SearchControl","__","useSelect","Tips","InserterPreviewPanel","BlockTypesTab","BlockPatternsTabs","ReusableBlocksTab","InserterSearchResults","useInsertionPoint","InserterTabs","store","blockEditorStore","InserterMenu","ref","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","filterValue","setFilterValue","hoveredItem","setHoveredItem","selectedPatternCategory","setSelectedPatternCategory","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","insertionIndex","showPatterns","hasReusableBlocks","select","__experimentalGetAllowedPatterns","getSettings","length","__experimentalReusableBlocks","onInsert","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onClickPatternCategory","patternCategory","blocksTab","patternsTab","reusableBlocksTab","getCurrentTab","tab","name","searchRef","focusSearch","current","focus","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseMemo,\n\tuseImperativeHandle,\n\tuseRef,\n} from '@wordpress/element';\nimport { VisuallyHidden, SearchControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\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 BlockPatternsTabs from './block-patterns-tab';\nimport ReusableBlocksTab from './reusable-blocks-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { store as blockEditorStore } from '../../store';\n\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},\n\tref\n) {\n\tconst [ filterValue, setFilterValue ] = useState(\n\t\t__experimentalFilterValue\n\t);\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] = useState(\n\t\tnull\n\t);\n\n\tconst [\n\t\tdestinationRootClientId,\n\t\tonInsertBlocks,\n\t\tonToggleInsertionPoint,\n\t] = useInsertionPoint( {\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\tshouldFocusBlock,\n\t} );\n\tconst { showPatterns, hasReusableBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __experimentalGetAllowedPatterns, getSettings } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tshowPatterns: !! __experimentalGetAllowedPatterns(\n\t\t\t\t\tdestinationRootClientId\n\t\t\t\t).length,\n\t\t\t\thasReusableBlocks: !! getSettings().__experimentalReusableBlocks\n\t\t\t\t\t?.length,\n\t\t\t};\n\t\t},\n\t\t[ destinationRootClientId ]\n\t);\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock ) => {\n\t\t\tonInsertBlocks( blocks, meta, shouldForceFocusBlock );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName ) => {\n\t\t\tonInsertBlocks( blocks, { patternName } );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, 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 ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t},\n\t\t[ setSelectedPatternCategory ]\n\t);\n\n\tconst blocksTab = useMemo(\n\t\t() => (\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\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 as=\"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\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tonHover,\n\t\t\tfilterValue,\n\t\t\tshowMostUsedBlocks,\n\t\t\tshowInserterHelpPanel,\n\t\t]\n\t);\n\n\tconst patternsTab = useMemo(\n\t\t() => (\n\t\t\t<BlockPatternsTabs\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonClickCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsertPattern,\n\t\t\tonClickPatternCategory,\n\t\t\tselectedPatternCategory,\n\t\t]\n\t);\n\n\tconst reusableBlocksTab = useMemo(\n\t\t() => (\n\t\t\t<ReusableBlocksTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t\tonHover={ onHover }\n\t\t\t/>\n\t\t),\n\t\t[ destinationRootClientId, onInsert, onHover ]\n\t);\n\n\tconst getCurrentTab = useCallback(\n\t\t( tab ) => {\n\t\t\tif ( tab.name === 'blocks' ) {\n\t\t\t\treturn blocksTab;\n\t\t\t} else if ( tab.name === 'patterns' ) {\n\t\t\t\treturn patternsTab;\n\t\t\t}\n\t\t\treturn reusableBlocksTab;\n\t\t},\n\t\t[ blocksTab, patternsTab, reusableBlocksTab ]\n\t);\n\n\tconst searchRef = useRef();\n\tuseImperativeHandle( ref, () => ( {\n\t\tfocusSearch: () => {\n\t\t\tsearchRef.current.focus();\n\t\t},\n\t} ) );\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__menu\">\n\t\t\t<div className=\"block-editor-inserter__main-area\">\n\t\t\t\t{ /* The following div is necessary to fix the sticky position of the search form. */ }\n\t\t\t\t<div className=\"block-editor-inserter__content\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tif ( hoveredItem ) setHoveredItem( null );\n\t\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\t\tref={ searchRef }\n\t\t\t\t\t/>\n\t\t\t\t\t{ !! filterValue && (\n\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! filterValue && ( showPatterns || hasReusableBlocks ) && (\n\t\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\t\tshowPatterns={ showPatterns }\n\t\t\t\t\t\t\tshowReusableBlocks={ hasReusableBlocks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getCurrentTab }\n\t\t\t\t\t\t</InserterTabs>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! filterValue &&\n\t\t\t\t\t\t! showPatterns &&\n\t\t\t\t\t\t! hasReusableBlocks &&\n\t\t\t\t\t\tblocksTab }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InserterMenu );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"names":["forwardRef","useState","useCallback","useMemo","useImperativeHandle","useRef","VisuallyHidden","SearchControl","__","useSelect","Tips","InserterPreviewPanel","BlockTypesTab","BlockPatternsTabs","ReusableBlocksTab","InserterSearchResults","useInsertionPoint","InserterTabs","store","blockEditorStore","InserterMenu","ref","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","filterValue","setFilterValue","hoveredItem","setHoveredItem","selectedPatternCategory","setSelectedPatternCategory","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","insertionIndex","showPatterns","hasReusableBlocks","select","__experimentalGetAllowedPatterns","getSettings","length","__experimentalReusableBlocks","onInsert","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onClickPatternCategory","patternCategory","blocksTab","patternsTab","reusableBlocksTab","getCurrentTab","tab","name","searchRef","focusSearch","current","focus","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseMemo,\n\tuseImperativeHandle,\n\tuseRef,\n} from '@wordpress/element';\nimport { VisuallyHidden, SearchControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\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 BlockPatternsTabs from './block-patterns-tab';\nimport ReusableBlocksTab from './reusable-blocks-tab';\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { store as blockEditorStore } from '../../store';\n\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},\n\tref\n) {\n\tconst [ filterValue, setFilterValue ] = useState(\n\t\t__experimentalFilterValue\n\t);\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] =\n\t\tuseState( null );\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 { showPatterns, hasReusableBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __experimentalGetAllowedPatterns, getSettings } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tshowPatterns: !! __experimentalGetAllowedPatterns(\n\t\t\t\t\tdestinationRootClientId\n\t\t\t\t).length,\n\t\t\t\thasReusableBlocks:\n\t\t\t\t\t!! getSettings().__experimentalReusableBlocks?.length,\n\t\t\t};\n\t\t},\n\t\t[ destinationRootClientId ]\n\t);\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock ) => {\n\t\t\tonInsertBlocks( blocks, meta, shouldForceFocusBlock );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName ) => {\n\t\t\tonInsertBlocks( blocks, { patternName } );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, 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 ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t},\n\t\t[ setSelectedPatternCategory ]\n\t);\n\n\tconst blocksTab = useMemo(\n\t\t() => (\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\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 as=\"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\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tonHover,\n\t\t\tfilterValue,\n\t\t\tshowMostUsedBlocks,\n\t\t\tshowInserterHelpPanel,\n\t\t]\n\t);\n\n\tconst patternsTab = useMemo(\n\t\t() => (\n\t\t\t<BlockPatternsTabs\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonClickCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsertPattern,\n\t\t\tonClickPatternCategory,\n\t\t\tselectedPatternCategory,\n\t\t]\n\t);\n\n\tconst reusableBlocksTab = useMemo(\n\t\t() => (\n\t\t\t<ReusableBlocksTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t\tonHover={ onHover }\n\t\t\t/>\n\t\t),\n\t\t[ destinationRootClientId, onInsert, onHover ]\n\t);\n\n\tconst getCurrentTab = useCallback(\n\t\t( tab ) => {\n\t\t\tif ( tab.name === 'blocks' ) {\n\t\t\t\treturn blocksTab;\n\t\t\t} else if ( tab.name === 'patterns' ) {\n\t\t\t\treturn patternsTab;\n\t\t\t}\n\t\t\treturn reusableBlocksTab;\n\t\t},\n\t\t[ blocksTab, patternsTab, reusableBlocksTab ]\n\t);\n\n\tconst searchRef = useRef();\n\tuseImperativeHandle( ref, () => ( {\n\t\tfocusSearch: () => {\n\t\t\tsearchRef.current.focus();\n\t\t},\n\t} ) );\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__menu\">\n\t\t\t<div className=\"block-editor-inserter__main-area\">\n\t\t\t\t{ /* The following div is necessary to fix the sticky position of the search form. */ }\n\t\t\t\t<div className=\"block-editor-inserter__content\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tif ( hoveredItem ) setHoveredItem( null );\n\t\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\t\tref={ searchRef }\n\t\t\t\t\t/>\n\t\t\t\t\t{ !! filterValue && (\n\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! filterValue && ( showPatterns || hasReusableBlocks ) && (\n\t\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\t\tshowPatterns={ showPatterns }\n\t\t\t\t\t\t\tshowReusableBlocks={ hasReusableBlocks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ getCurrentTab }\n\t\t\t\t\t\t</InserterTabs>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! filterValue &&\n\t\t\t\t\t\t! showPatterns &&\n\t\t\t\t\t\t! hasReusableBlocks &&\n\t\t\t\t\t\tblocksTab }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InserterMenu );\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/menu.native.js"],"names":["AccessibilityInfo","TouchableHighlight","Platform","useEffect","useState","useCallback","useSelect","useDispatch","createBlock","BottomSheet","BottomSheetConsumer","SearchControl","InserterSearchResults","store","blockEditorStore","InserterTabs","styles","filterInserterItems","MIN_ITEMS_FOR_SEARCH","InserterMenu","onSelect","onDismiss","rootClientId","clientId","isAppender","shouldReplaceBlock","insertionIndex","filterValue","setFilterValue","showTabs","setShowTabs","tabIndex","setTabIndex","isIOS","OS","showInsertionPoint","hideInsertionPoint","clearSelectedBlock","insertBlock","removeBlock","resetBlocks","insertDefaultBlock","items","destinationRootClientId","showReusableBlocks","select","getInserterItems","getBlockRootClientId","getBlockSelectionEnd","targetRootClientId","end","undefined","allItems","reusableBlockItems","onlyReusable","length","getBlockOrder","getBlockCount","count","blockToReplace","onClose","onInsert","item","name","initialAttributes","innerBlocks","newBlock","source","onSelectItem","isScreenReaderEnabled","then","enabled","timeout","setTimeout","onChangeSearch","value","onKeyboardShow","onKeyboardHide","showSearchForm","isFullScreen","listProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, TouchableHighlight, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tBottomSheet,\n\tBottomSheetConsumer,\n\tSearchControl,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport InserterSearchResults from './search-results';\nimport { store as blockEditorStore } from '../../store';\nimport InserterTabs from './tabs';\nimport styles from './style.scss';\nimport { filterInserterItems } from './utils';\n\nconst MIN_ITEMS_FOR_SEARCH = 2;\nfunction InserterMenu( {\n\tonSelect,\n\tonDismiss,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\tshouldReplaceBlock,\n\tinsertionIndex,\n} ) {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ showTabs, setShowTabs ] = useState( true );\n\tconst [ tabIndex, setTabIndex ] = useState( 0 );\n\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst {\n\t\tshowInsertionPoint,\n\t\thideInsertionPoint,\n\t\tclearSelectedBlock,\n\t\tinsertBlock,\n\t\tremoveBlock,\n\t\tresetBlocks,\n\t\tinsertDefaultBlock,\n\t} = useDispatch( blockEditorStore );\n\n\tconst { items, destinationRootClientId, showReusableBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetInserterItems,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockSelectionEnd,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tlet targetRootClientId = rootClientId;\n\t\t\tif ( ! targetRootClientId && ! clientId && ! isAppender ) {\n\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\tif ( end ) {\n\t\t\t\t\ttargetRootClientId =\n\t\t\t\t\t\tgetBlockRootClientId( end ) || undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst allItems = getInserterItems( targetRootClientId );\n\t\t\tconst reusableBlockItems = filterInserterItems( allItems, {\n\t\t\t\tonlyReusable: true,\n\t\t\t} );\n\n\t\t\treturn {\n\t\t\t\titems: allItems,\n\t\t\t\tdestinationRootClientId: targetRootClientId,\n\t\t\t\tshowReusableBlocks: !! reusableBlockItems.length,\n\t\t\t};\n\t\t}\n\t);\n\n\tconst { getBlockOrder, getBlockCount } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\t// Show/Hide insertion point on Mount/Dismount\n\t\tif ( shouldReplaceBlock ) {\n\t\t\tconst count = getBlockCount();\n\t\t\t// Check if there is a rootClientId because that means it is a nested replaceable block\n\t\t\t// and we don't want to clear/reset all blocks.\n\t\t\tif ( count === 1 && ! rootClientId ) {\n\t\t\t\t// Removing the last block is not possilble with `removeBlock` action.\n\t\t\t\t// It always inserts a default block if the last of the blocks have been removed.\n\t\t\t\tclearSelectedBlock();\n\t\t\t\tresetBlocks( [] );\n\t\t\t} else {\n\t\t\t\tconst blockToReplace = getBlockOrder( destinationRootClientId )[\n\t\t\t\t\tinsertionIndex\n\t\t\t\t];\n\t\t\t\tremoveBlock( blockToReplace, false );\n\t\t\t}\n\t\t}\n\t\tshowInsertionPoint( destinationRootClientId, insertionIndex );\n\n\t\treturn hideInsertionPoint;\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\t// If should replace but didn't insert any block\n\t\t// re-insert default block.\n\t\tif ( shouldReplaceBlock ) {\n\t\t\tinsertDefaultBlock( {}, destinationRootClientId, insertionIndex );\n\t\t}\n\t\tonDismiss();\n\t}, [ shouldReplaceBlock, destinationRootClientId, insertionIndex ] );\n\n\tconst onInsert = useCallback(\n\t\t( item ) => {\n\t\t\tconst { name, initialAttributes, innerBlocks } = item;\n\n\t\t\tconst newBlock = createBlock(\n\t\t\t\tname,\n\t\t\t\tinitialAttributes,\n\t\t\t\tinnerBlocks\n\t\t\t);\n\n\t\t\tinsertBlock(\n\t\t\t\tnewBlock,\n\t\t\t\tinsertionIndex,\n\t\t\t\tdestinationRootClientId,\n\t\t\t\ttrue,\n\t\t\t\t{ source: 'inserter_menu' }\n\t\t\t);\n\t\t},\n\t\t[ insertBlock, destinationRootClientId, insertionIndex ]\n\t);\n\n\tconst onSelectItem = useCallback(\n\t\t( item ) => {\n\t\t\t// Avoid a focus loop, see https://github.com/WordPress/gutenberg/issues/30562\n\t\t\tif ( Platform.OS === 'ios' ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\t// In testing, the bug focus loop needed a longer timeout when VoiceOver was enabled.\n\t\t\t\t\tconst timeout = enabled ? 200 : 100;\n\t\t\t\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\tonInsert( item );\n\t\t\t\t\t}, timeout );\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tonInsert( item );\n\t\t\t}\n\t\t\tonSelect( item );\n\t\t},\n\t\t[ onInsert, onSelect ]\n\t);\n\n\tconst onChangeSearch = useCallback(\n\t\t( value ) => {\n\t\t\tsetFilterValue( value );\n\t\t},\n\t\t[ setFilterValue ]\n\t);\n\n\tconst onKeyboardShow = useCallback( () => setShowTabs( false ), [\n\t\tsetShowTabs,\n\t] );\n\n\tconst onKeyboardHide = useCallback( () => setShowTabs( true ), [\n\t\tsetShowTabs,\n\t] );\n\n\tconst showSearchForm = items.length > MIN_ITEMS_FOR_SEARCH;\n\tconst isFullScreen = ! isIOS && showSearchForm;\n\n\treturn (\n\t\t<BottomSheet\n\t\t\tisVisible={ true }\n\t\t\tonClose={ onClose }\n\t\t\tonKeyboardShow={ onKeyboardShow }\n\t\t\tonKeyboardHide={ onKeyboardHide }\n\t\t\theader={\n\t\t\t\t<>\n\t\t\t\t\t{ showSearchForm && (\n\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\tonChange={ onChangeSearch }\n\t\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showTabs && ! filterValue && (\n\t\t\t\t\t\t<InserterTabs.Control\n\t\t\t\t\t\t\tonChangeTab={ setTabIndex }\n\t\t\t\t\t\t\tshowReusableBlocks={ showReusableBlocks }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t}\n\t\t\thasNavigation\n\t\t\tsetMinHeightToMaxHeight={ true }\n\t\t\tcontentStyle={ styles[ 'inserter-menu__list' ] }\n\t\t\tisFullScreen={ isFullScreen }\n\t\t\tallowDragIndicator={ true }\n\t\t>\n\t\t\t<BottomSheetConsumer>\n\t\t\t\t{ ( { listProps } ) => (\n\t\t\t\t\t<TouchableHighlight\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tstyle={ styles[ 'inserter-menu__list-wrapper' ] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! showTabs || filterValue ? (\n\t\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\t\tlistProps={ listProps }\n\t\t\t\t\t\t\t\tisFullScreen={ isFullScreen }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t\tlistProps={ listProps }\n\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\t\tshowReusableBlocks={ showReusableBlocks }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</TouchableHighlight>\n\t\t\t\t) }\n\t\t\t</BottomSheetConsumer>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default InserterMenu;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/menu.native.js"],"names":["AccessibilityInfo","TouchableHighlight","Platform","useEffect","useState","useCallback","useSelect","useDispatch","createBlock","BottomSheet","BottomSheetConsumer","SearchControl","InserterSearchResults","store","blockEditorStore","InserterTabs","styles","filterInserterItems","MIN_ITEMS_FOR_SEARCH","InserterMenu","onSelect","onDismiss","rootClientId","clientId","isAppender","shouldReplaceBlock","insertionIndex","filterValue","setFilterValue","showTabs","setShowTabs","tabIndex","setTabIndex","isIOS","OS","showInsertionPoint","hideInsertionPoint","clearSelectedBlock","insertBlock","removeBlock","resetBlocks","insertDefaultBlock","items","destinationRootClientId","showReusableBlocks","select","getInserterItems","getBlockRootClientId","getBlockSelectionEnd","targetRootClientId","end","undefined","allItems","reusableBlockItems","onlyReusable","length","getBlockOrder","getBlockCount","count","blockToReplace","onClose","onInsert","item","name","initialAttributes","innerBlocks","newBlock","source","onSelectItem","isScreenReaderEnabled","then","enabled","timeout","setTimeout","onChangeSearch","value","onKeyboardShow","onKeyboardHide","showSearchForm","isFullScreen","listProps"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,iBAAT,EAA4BC,kBAA5B,EAAgDC,QAAhD,QAAgE,cAAhE;AAEA;AACA;AACA;;AACA,SAASC,SAAT,EAAoBC,QAApB,EAA8BC,WAA9B,QAAiD,oBAAjD;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,WAAT,QAA4B,mBAA5B;AACA,SACCC,WADD,EAECC,mBAFD,EAGCC,aAHD,QAIO,uBAJP;AAMA;AACA;AACA;;AACA,OAAOC,qBAAP,MAAkC,kBAAlC;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AACA,OAAOC,YAAP,MAAyB,QAAzB;AACA,OAAOC,MAAP,MAAmB,cAAnB;AACA,SAASC,mBAAT,QAAoC,SAApC;AAEA,MAAMC,oBAAoB,GAAG,CAA7B;;AACA,SAASC,YAAT,OAQI;AAAA,MARmB;AACtBC,IAAAA,QADsB;AAEtBC,IAAAA,SAFsB;AAGtBC,IAAAA,YAHsB;AAItBC,IAAAA,QAJsB;AAKtBC,IAAAA,UALsB;AAMtBC,IAAAA,kBANsB;AAOtBC,IAAAA;AAPsB,GAQnB;AACH,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkCxB,QAAQ,CAAE,EAAF,CAAhD;AACA,QAAM,CAAEyB,QAAF,EAAYC,WAAZ,IAA4B1B,QAAQ,CAAE,IAAF,CAA1C;AACA,QAAM,CAAE2B,QAAF,EAAYC,WAAZ,IAA4B5B,QAAQ,CAAE,CAAF,CAA1C;AAEA,QAAM6B,KAAK,GAAG/B,QAAQ,CAACgC,EAAT,KAAgB,KAA9B;AAEA,QAAM;AACLC,IAAAA,kBADK;AAELC,IAAAA,kBAFK;AAGLC,IAAAA,kBAHK;AAILC,IAAAA,WAJK;AAKLC,IAAAA,WALK;AAMLC,IAAAA,WANK;AAOLC,IAAAA;AAPK,MAQFlC,WAAW,CAAEO,gBAAF,CARf;AAUA,QAAM;AAAE4B,IAAAA,KAAF;AAASC,IAAAA,uBAAT;AAAkCC,IAAAA;AAAlC,MAAyDtC,SAAS,CACrEuC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,gBADK;AAELC,MAAAA,oBAFK;AAGLC,MAAAA;AAHK,QAIFH,MAAM,CAAE/B,gBAAF,CAJV;AAMA,QAAImC,kBAAkB,GAAG3B,YAAzB;;AACA,QAAK,CAAE2B,kBAAF,IAAwB,CAAE1B,QAA1B,IAAsC,CAAEC,UAA7C,EAA0D;AACzD,YAAM0B,GAAG,GAAGF,oBAAoB,EAAhC;;AACA,UAAKE,GAAL,EAAW;AACVD,QAAAA,kBAAkB,GACjBF,oBAAoB,CAAEG,GAAF,CAApB,IAA+BC,SADhC;AAEA;AACD;;AAED,UAAMC,QAAQ,GAAGN,gBAAgB,CAAEG,kBAAF,CAAjC;AACA,UAAMI,kBAAkB,GAAGpC,mBAAmB,CAAEmC,QAAF,EAAY;AACzDE,MAAAA,YAAY,EAAE;AAD2C,KAAZ,CAA9C;AAIA,WAAO;AACNZ,MAAAA,KAAK,EAAEU,QADD;AAENT,MAAAA,uBAAuB,EAAEM,kBAFnB;AAGNL,MAAAA,kBAAkB,EAAE,CAAC,CAAES,kBAAkB,CAACE;AAHpC,KAAP;AAKA,GA3BsE,CAAxE;AA8BA,QAAM;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAmCnD,SAAS,CAAEQ,gBAAF,CAAlD;AAEAX,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA,QAAKsB,kBAAL,EAA0B;AACzB,YAAMiC,KAAK,GAAGD,aAAa,EAA3B,CADyB,CAEzB;AACA;;AACA,UAAKC,KAAK,KAAK,CAAV,IAAe,CAAEpC,YAAtB,EAAqC;AACpC;AACA;AACAe,QAAAA,kBAAkB;AAClBG,QAAAA,WAAW,CAAE,EAAF,CAAX;AACA,OALD,MAKO;AACN,cAAMmB,cAAc,GAAGH,aAAa,CAAEb,uBAAF,CAAb,CACtBjB,cADsB,CAAvB;AAGAa,QAAAA,WAAW,CAAEoB,cAAF,EAAkB,KAAlB,CAAX;AACA;AACD;;AACDxB,IAAAA,kBAAkB,CAAEQ,uBAAF,EAA2BjB,cAA3B,CAAlB;AAEA,WAAOU,kBAAP;AACA,GArBQ,EAqBN,EArBM,CAAT;AAuBA,QAAMwB,OAAO,GAAGvD,WAAW,CAAE,MAAM;AAClC;AACA;AACA,QAAKoB,kBAAL,EAA0B;AACzBgB,MAAAA,kBAAkB,CAAE,EAAF,EAAME,uBAAN,EAA+BjB,cAA/B,CAAlB;AACA;;AACDL,IAAAA,SAAS;AACT,GAP0B,EAOxB,CAAEI,kBAAF,EAAsBkB,uBAAtB,EAA+CjB,cAA/C,CAPwB,CAA3B;AASA,QAAMmC,QAAQ,GAAGxD,WAAW,CACzByD,IAAF,IAAY;AACX,UAAM;AAAEC,MAAAA,IAAF;AAAQC,MAAAA,iBAAR;AAA2BC,MAAAA;AAA3B,QAA2CH,IAAjD;AAEA,UAAMI,QAAQ,GAAG1D,WAAW,CAC3BuD,IAD2B,EAE3BC,iBAF2B,EAG3BC,WAH2B,CAA5B;AAMA3B,IAAAA,WAAW,CACV4B,QADU,EAEVxC,cAFU,EAGViB,uBAHU,EAIV,IAJU,EAKV;AAAEwB,MAAAA,MAAM,EAAE;AAAV,KALU,CAAX;AAOA,GAjB0B,EAkB3B,CAAE7B,WAAF,EAAeK,uBAAf,EAAwCjB,cAAxC,CAlB2B,CAA5B;AAqBA,QAAM0C,YAAY,GAAG/D,WAAW,CAC7ByD,IAAF,IAAY;AACX;AACA,QAAK5D,QAAQ,CAACgC,EAAT,KAAgB,KAArB,EAA6B;AAC5BlC,MAAAA,iBAAiB,CAACqE,qBAAlB,GAA0CC,IAA1C,CAAkDC,OAAF,IAAe;AAC9D;AACA,cAAMC,OAAO,GAAGD,OAAO,GAAG,GAAH,GAAS,GAAhC,CAF8D,CAG9D;;AACAE,QAAAA,UAAU,CAAE,MAAM;AACjBZ,UAAAA,QAAQ,CAAEC,IAAF,CAAR;AACA,SAFS,EAEPU,OAFO,CAAV;AAGA,OAPD;AAQA,KATD,MASO;AACNX,MAAAA,QAAQ,CAAEC,IAAF,CAAR;AACA;;AACD1C,IAAAA,QAAQ,CAAE0C,IAAF,CAAR;AACA,GAhB8B,EAiB/B,CAAED,QAAF,EAAYzC,QAAZ,CAjB+B,CAAhC;AAoBA,QAAMsD,cAAc,GAAGrE,WAAW,CAC/BsE,KAAF,IAAa;AACZ/C,IAAAA,cAAc,CAAE+C,KAAF,CAAd;AACA,GAHgC,EAIjC,CAAE/C,cAAF,CAJiC,CAAlC;AAOA,QAAMgD,cAAc,GAAGvE,WAAW,CACjC,MAAMyB,WAAW,CAAE,KAAF,CADgB,EAEjC,CAAEA,WAAF,CAFiC,CAAlC;AAKA,QAAM+C,cAAc,GAAGxE,WAAW,CACjC,MAAMyB,WAAW,CAAE,IAAF,CADgB,EAEjC,CAAEA,WAAF,CAFiC,CAAlC;AAKA,QAAMgD,cAAc,GAAGpC,KAAK,CAACa,MAAN,GAAerC,oBAAtC;AACA,QAAM6D,YAAY,GAAG,CAAE9C,KAAF,IAAW6C,cAAhC;AAEA,SACC,cAAC,WAAD;AACC,IAAA,SAAS,EAAG,IADb;AAEC,IAAA,OAAO,EAAGlB,OAFX;AAGC,IAAA,cAAc,EAAGgB,cAHlB;AAIC,IAAA,cAAc,EAAGC,cAJlB;AAKC,IAAA,MAAM,EACL,8BACGC,cAAc,IACf,cAAC,aAAD;AACC,MAAA,QAAQ,EAAGJ,cADZ;AAEC,MAAA,KAAK,EAAG/C;AAFT,MAFF,EAOGE,QAAQ,IAAI,CAAEF,WAAd,IACD,cAAC,YAAD,CAAc,OAAd;AACC,MAAA,WAAW,EAAGK,WADf;AAEC,MAAA,kBAAkB,EAAGY;AAFtB,MARF,CANF;AAqBC,IAAA,aAAa,MArBd;AAsBC,IAAA,uBAAuB,EAAG,IAtB3B;AAuBC,IAAA,YAAY,EAAG5B,MAAM,CAAE,qBAAF,CAvBtB;AAwBC,IAAA,YAAY,EAAG+D,YAxBhB;AAyBC,IAAA,kBAAkB,EAAG;AAzBtB,KA2BC,cAAC,mBAAD,QACG;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WACD,cAAC,kBAAD;AACC,MAAA,UAAU,EAAG,KADd;AAEC,MAAA,KAAK,EAAGhE,MAAM,CAAE,6BAAF;AAFf,OAIG,CAAEa,QAAF,IAAcF,WAAd,GACD,cAAC,qBAAD;AACC,MAAA,YAAY,EAAGL,YADhB;AAEC,MAAA,WAAW,EAAGK,WAFf;AAGC,MAAA,QAAQ,EAAGyC,YAHZ;AAIC,MAAA,SAAS,EAAGY,SAJb;AAKC,MAAA,YAAY,EAAGD;AALhB,MADC,GASD,cAAC,YAAD;AACC,MAAA,YAAY,EAAGzD,YADhB;AAEC,MAAA,SAAS,EAAG0D,SAFb;AAGC,MAAA,QAAQ,EAAGjD,QAHZ;AAIC,MAAA,QAAQ,EAAGqC,YAJZ;AAKC,MAAA,kBAAkB,EAAGxB;AALtB,MAbF,CADC;AAAA,GADH,CA3BD,CADD;AAwDA;;AAED,eAAezB,YAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, TouchableHighlight, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tBottomSheet,\n\tBottomSheetConsumer,\n\tSearchControl,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport InserterSearchResults from './search-results';\nimport { store as blockEditorStore } from '../../store';\nimport InserterTabs from './tabs';\nimport styles from './style.scss';\nimport { filterInserterItems } from './utils';\n\nconst MIN_ITEMS_FOR_SEARCH = 2;\nfunction InserterMenu( {\n\tonSelect,\n\tonDismiss,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\tshouldReplaceBlock,\n\tinsertionIndex,\n} ) {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ showTabs, setShowTabs ] = useState( true );\n\tconst [ tabIndex, setTabIndex ] = useState( 0 );\n\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst {\n\t\tshowInsertionPoint,\n\t\thideInsertionPoint,\n\t\tclearSelectedBlock,\n\t\tinsertBlock,\n\t\tremoveBlock,\n\t\tresetBlocks,\n\t\tinsertDefaultBlock,\n\t} = useDispatch( blockEditorStore );\n\n\tconst { items, destinationRootClientId, showReusableBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetInserterItems,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockSelectionEnd,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tlet targetRootClientId = rootClientId;\n\t\t\tif ( ! targetRootClientId && ! clientId && ! isAppender ) {\n\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\tif ( end ) {\n\t\t\t\t\ttargetRootClientId =\n\t\t\t\t\t\tgetBlockRootClientId( end ) || undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst allItems = getInserterItems( targetRootClientId );\n\t\t\tconst reusableBlockItems = filterInserterItems( allItems, {\n\t\t\t\tonlyReusable: true,\n\t\t\t} );\n\n\t\t\treturn {\n\t\t\t\titems: allItems,\n\t\t\t\tdestinationRootClientId: targetRootClientId,\n\t\t\t\tshowReusableBlocks: !! reusableBlockItems.length,\n\t\t\t};\n\t\t}\n\t);\n\n\tconst { getBlockOrder, getBlockCount } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\t// Show/Hide insertion point on Mount/Dismount\n\t\tif ( shouldReplaceBlock ) {\n\t\t\tconst count = getBlockCount();\n\t\t\t// Check if there is a rootClientId because that means it is a nested replaceable block\n\t\t\t// and we don't want to clear/reset all blocks.\n\t\t\tif ( count === 1 && ! rootClientId ) {\n\t\t\t\t// Removing the last block is not possilble with `removeBlock` action.\n\t\t\t\t// It always inserts a default block if the last of the blocks have been removed.\n\t\t\t\tclearSelectedBlock();\n\t\t\t\tresetBlocks( [] );\n\t\t\t} else {\n\t\t\t\tconst blockToReplace = getBlockOrder( destinationRootClientId )[\n\t\t\t\t\tinsertionIndex\n\t\t\t\t];\n\t\t\t\tremoveBlock( blockToReplace, false );\n\t\t\t}\n\t\t}\n\t\tshowInsertionPoint( destinationRootClientId, insertionIndex );\n\n\t\treturn hideInsertionPoint;\n\t}, [] );\n\n\tconst onClose = useCallback( () => {\n\t\t// If should replace but didn't insert any block\n\t\t// re-insert default block.\n\t\tif ( shouldReplaceBlock ) {\n\t\t\tinsertDefaultBlock( {}, destinationRootClientId, insertionIndex );\n\t\t}\n\t\tonDismiss();\n\t}, [ shouldReplaceBlock, destinationRootClientId, insertionIndex ] );\n\n\tconst onInsert = useCallback(\n\t\t( item ) => {\n\t\t\tconst { name, initialAttributes, innerBlocks } = item;\n\n\t\t\tconst newBlock = createBlock(\n\t\t\t\tname,\n\t\t\t\tinitialAttributes,\n\t\t\t\tinnerBlocks\n\t\t\t);\n\n\t\t\tinsertBlock(\n\t\t\t\tnewBlock,\n\t\t\t\tinsertionIndex,\n\t\t\t\tdestinationRootClientId,\n\t\t\t\ttrue,\n\t\t\t\t{ source: 'inserter_menu' }\n\t\t\t);\n\t\t},\n\t\t[ insertBlock, destinationRootClientId, insertionIndex ]\n\t);\n\n\tconst onSelectItem = useCallback(\n\t\t( item ) => {\n\t\t\t// Avoid a focus loop, see https://github.com/WordPress/gutenberg/issues/30562\n\t\t\tif ( Platform.OS === 'ios' ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\t// In testing, the bug focus loop needed a longer timeout when VoiceOver was enabled.\n\t\t\t\t\tconst timeout = enabled ? 200 : 100;\n\t\t\t\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\tonInsert( item );\n\t\t\t\t\t}, timeout );\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tonInsert( item );\n\t\t\t}\n\t\t\tonSelect( item );\n\t\t},\n\t\t[ onInsert, onSelect ]\n\t);\n\n\tconst onChangeSearch = useCallback(\n\t\t( value ) => {\n\t\t\tsetFilterValue( value );\n\t\t},\n\t\t[ setFilterValue ]\n\t);\n\n\tconst onKeyboardShow = useCallback(\n\t\t() => setShowTabs( false ),\n\t\t[ setShowTabs ]\n\t);\n\n\tconst onKeyboardHide = useCallback(\n\t\t() => setShowTabs( true ),\n\t\t[ setShowTabs ]\n\t);\n\n\tconst showSearchForm = items.length > MIN_ITEMS_FOR_SEARCH;\n\tconst isFullScreen = ! isIOS && showSearchForm;\n\n\treturn (\n\t\t<BottomSheet\n\t\t\tisVisible={ true }\n\t\t\tonClose={ onClose }\n\t\t\tonKeyboardShow={ onKeyboardShow }\n\t\t\tonKeyboardHide={ onKeyboardHide }\n\t\t\theader={\n\t\t\t\t<>\n\t\t\t\t\t{ showSearchForm && (\n\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\tonChange={ onChangeSearch }\n\t\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showTabs && ! filterValue && (\n\t\t\t\t\t\t<InserterTabs.Control\n\t\t\t\t\t\t\tonChangeTab={ setTabIndex }\n\t\t\t\t\t\t\tshowReusableBlocks={ showReusableBlocks }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t}\n\t\t\thasNavigation\n\t\t\tsetMinHeightToMaxHeight={ true }\n\t\t\tcontentStyle={ styles[ 'inserter-menu__list' ] }\n\t\t\tisFullScreen={ isFullScreen }\n\t\t\tallowDragIndicator={ true }\n\t\t>\n\t\t\t<BottomSheetConsumer>\n\t\t\t\t{ ( { listProps } ) => (\n\t\t\t\t\t<TouchableHighlight\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tstyle={ styles[ 'inserter-menu__list-wrapper' ] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! showTabs || filterValue ? (\n\t\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\t\tlistProps={ listProps }\n\t\t\t\t\t\t\t\tisFullScreen={ isFullScreen }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t\tlistProps={ listProps }\n\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\t\tshowReusableBlocks={ showReusableBlocks }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</TouchableHighlight>\n\t\t\t\t) }\n\t\t\t</BottomSheetConsumer>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default InserterMenu;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/no-results.native.js"],"names":["View","Text","usePreferredColorSchemeStyle","__","styles","InserterNoResults","containerStyle","textPrimaryBaseStyle","textPrimaryDarkStyle","textSecondaryBaseStyle","textSecondaryDarkStyle","textPrimaryStyle","textSecondaryStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AAEA;AACA;AACA;;AACA,SAASC,4BAAT,QAA6C,oBAA7C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;;AAEA,SAASC,iBAAT,GAA6B;AAC5B,QAAM;AACL,6CAAyCC,cADpC;AAEL,gDAA4CC,oBAFvC;AAGL,sDAAkDC,oBAH7C;AAIL,kDAA8CC,sBAJzC;AAKL,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/no-results.native.js"],"names":["View","Text","usePreferredColorSchemeStyle","__","styles","InserterNoResults","containerStyle","textPrimaryBaseStyle","textPrimaryDarkStyle","textSecondaryBaseStyle","textSecondaryDarkStyle","textPrimaryStyle","textSecondaryStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,IAAf,QAA2B,cAA3B;AAEA;AACA;AACA;;AACA,SAASC,4BAAT,QAA6C,oBAA7C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,cAAnB;;AAEA,SAASC,iBAAT,GAA6B;AAC5B,QAAM;AACL,6CAAyCC,cADpC;AAEL,gDAA4CC,oBAFvC;AAGL,sDAAkDC,oBAH7C;AAIL,kDAA8CC,sBAJzC;AAKL,wDACCC;AANI,MAOFN,MAPJ;AAQA,QAAMO,gBAAgB,GAAGT,4BAA4B,CACpDK,oBADoD,EAEpDC,oBAFoD,CAArD;AAIA,QAAMI,kBAAkB,GAAGV,4BAA4B,CACtDO,sBADsD,EAEtDC,sBAFsD,CAAvD;AAKA,SACC,cAAC,IAAD,QACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGJ;AAAd,KACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGK;AAAd,KACGR,EAAE,CAAE,iBAAF,CADL,CADD,EAIC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGS;AAAd,KACGT,EAAE,CAAE,yBAAF,CADL,CAJD,CADD,CADD;AAYA;;AAED,eAAeE,iBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nfunction InserterNoResults() {\n\tconst {\n\t\t'inserter-search-no-results__container': containerStyle,\n\t\t'inserter-search-no-results__text-primary': textPrimaryBaseStyle,\n\t\t'inserter-search-no-results__text-primary--dark': textPrimaryDarkStyle,\n\t\t'inserter-search-no-results__text-secondary': textSecondaryBaseStyle,\n\t\t'inserter-search-no-results__text-secondary--dark':\n\t\t\ttextSecondaryDarkStyle,\n\t} = styles;\n\tconst textPrimaryStyle = usePreferredColorSchemeStyle(\n\t\ttextPrimaryBaseStyle,\n\t\ttextPrimaryDarkStyle\n\t);\n\tconst textSecondaryStyle = usePreferredColorSchemeStyle(\n\t\ttextSecondaryBaseStyle,\n\t\ttextSecondaryDarkStyle\n\t);\n\n\treturn (\n\t\t<View>\n\t\t\t<View style={ containerStyle }>\n\t\t\t\t<Text style={ textPrimaryStyle }>\n\t\t\t\t\t{ __( 'No blocks found' ) }\n\t\t\t\t</Text>\n\t\t\t\t<Text style={ textSecondaryStyle }>\n\t\t\t\t\t{ __( 'Try another search term' ) }\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t</View>\n\t);\n}\n\nexport default InserterNoResults;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/quick-inserter.js"],"names":["classnames","useState","useEffect","__","Button","SearchControl","useSelect","InserterSearchResults","useInsertionPoint","usePatternsState","useBlockTypesState","store","blockEditorStore","SEARCH_THRESHOLD","SHOWN_BLOCK_TYPES","SHOWN_BLOCK_PATTERNS","SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION","QuickInserter","onSelect","rootClientId","clientId","isAppender","prioritizePatterns","filterValue","setFilterValue","destinationRootClientId","onInsertBlocks","blockTypes","patterns","setInserterIsOpened","insertionIndex","select","getSettings","getBlockIndex","getBlockCount","settings","index","blockCount","__experimentalSetIsInserterOpened","showPatterns","length","showSearch","onBrowseAll","maxBlockPatterns","value"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,QAAT,EAAmBC,SAAnB,QAAoC,oBAApC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAT,EAAiBC,aAAjB,QAAsC,uBAAtC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,qBAAP,MAAkC,kBAAlC;AACA,OAAOC,iBAAP,MAA8B,6BAA9B;AACA,OAAOC,gBAAP,MAA6B,4BAA7B;AACA,OAAOC,kBAAP,MAA+B,+BAA/B;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,MAAMC,gBAAgB,GAAG,CAAzB;AACA,MAAMC,iBAAiB,GAAG,CAA1B;AACA,MAAMC,oBAAoB,GAAG,CAA7B;AACA,MAAMC,wCAAwC,GAAG,CAAjD;AAEA,eAAe,SAASC,aAAT,OAMX;AAAA,MANmC;AACtCC,IAAAA,QADsC;AAEtCC,IAAAA,YAFsC;AAGtCC,IAAAA,QAHsC;AAItCC,IAAAA,UAJsC;AAKtCC,IAAAA;AALsC,GAMnC;AACH,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkCvB,QAAQ,CAAE,EAAF,CAAhD;AACA,QAAM,CAAEwB,uBAAF,EAA2BC,cAA3B,IAA8ClB,iBAAiB,CAAE;AACtEU,IAAAA,QADsE;AAEtEC,IAAAA,YAFsE;AAGtEC,IAAAA,QAHsE;AAItEC,IAAAA;AAJsE,GAAF,CAArE;AAMA,QAAM,CAAEM,UAAF,IAAiBjB,kBAAkB,CACxCe,uBADwC,EAExCC,cAFwC,CAAzC;AAKA,QAAM,CAAEE,QAAF,IAAenB,gBAAgB,CACpCiB,cADoC,EAEpCD,uBAFoC,CAArC;AAKA,QAAM;AAAEI,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MAA0CxB,SAAS,CACtDyB,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,WAAF;AAAeC,MAAAA,aAAf;AAA8BC,MAAAA;AAA9B,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/quick-inserter.js"],"names":["classnames","useState","useEffect","__","Button","SearchControl","useSelect","InserterSearchResults","useInsertionPoint","usePatternsState","useBlockTypesState","store","blockEditorStore","SEARCH_THRESHOLD","SHOWN_BLOCK_TYPES","SHOWN_BLOCK_PATTERNS","SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION","QuickInserter","onSelect","rootClientId","clientId","isAppender","prioritizePatterns","filterValue","setFilterValue","destinationRootClientId","onInsertBlocks","blockTypes","patterns","setInserterIsOpened","insertionIndex","select","getSettings","getBlockIndex","getBlockCount","settings","index","blockCount","__experimentalSetIsInserterOpened","showPatterns","length","showSearch","onBrowseAll","maxBlockPatterns","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, SearchControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { store as blockEditorStore } from '../../store';\n\nconst SEARCH_THRESHOLD = 6;\nconst SHOWN_BLOCK_TYPES = 6;\nconst SHOWN_BLOCK_PATTERNS = 2;\nconst SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION = 4;\n\nexport default function QuickInserter( {\n\tonSelect,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\tprioritizePatterns,\n} ) {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t} );\n\tconst [ blockTypes ] = useBlockTypesState(\n\t\tdestinationRootClientId,\n\t\tonInsertBlocks\n\t);\n\n\tconst [ patterns ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst { setInserterIsOpened, insertionIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getBlockIndex, getBlockCount } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst settings = getSettings();\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst blockCount = getBlockCount();\n\n\t\t\treturn {\n\t\t\t\tsetInserterIsOpened: settings.__experimentalSetIsInserterOpened,\n\t\t\t\tinsertionIndex: index === -1 ? blockCount : index,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst showPatterns =\n\t\tpatterns.length && ( !! filterValue || prioritizePatterns );\n\tconst showSearch =\n\t\t( showPatterns && patterns.length > SEARCH_THRESHOLD ) ||\n\t\tblockTypes.length > SEARCH_THRESHOLD;\n\n\tuseEffect( () => {\n\t\tif ( setInserterIsOpened ) {\n\t\t\tsetInserterIsOpened( false );\n\t\t}\n\t}, [ setInserterIsOpened ] );\n\n\t// When clicking Browse All select the appropriate block so as\n\t// the insertion point can work as expected.\n\tconst onBrowseAll = () => {\n\t\tsetInserterIsOpened( { rootClientId, insertionIndex, filterValue } );\n\t};\n\n\tlet maxBlockPatterns = 0;\n\tif ( showPatterns ) {\n\t\tmaxBlockPatterns = prioritizePatterns\n\t\t\t? SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION\n\t\t\t: SHOWN_BLOCK_PATTERNS;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'block-editor-inserter__quick-inserter', {\n\t\t\t\t'has-search': showSearch,\n\t\t\t\t'has-expand': setInserterIsOpened,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ showSearch && (\n\t\t\t\t<SearchControl\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-results\">\n\t\t\t\t<InserterSearchResults\n\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tmaxBlockPatterns={ maxBlockPatterns }\n\t\t\t\t\tmaxBlockTypes={ SHOWN_BLOCK_TYPES }\n\t\t\t\t\tisDraggable={ false }\n\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{ setInserterIsOpened && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-inserter__quick-inserter-expand\"\n\t\t\t\t\tonClick={ onBrowseAll }\n\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t'Browse all. This will open the main inserter panel in the editor toolbar.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Browse all' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { deburr,
|
|
4
|
+
import { deburr, find, words } from 'lodash'; // Default search helpers.
|
|
5
5
|
|
|
6
6
|
const defaultGetName = item => item.name || '';
|
|
7
7
|
|
|
@@ -52,7 +52,7 @@ export const getNormalizedSearchTerms = function () {
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
const removeMatchingTerms = (unmatchedTerms, unprocessedTerms) => {
|
|
55
|
-
return
|
|
55
|
+
return unmatchedTerms.filter(term => !getNormalizedSearchTerms(unprocessedTerms).some(unprocessedTerm => unprocessedTerm.includes(term)));
|
|
56
56
|
};
|
|
57
57
|
|
|
58
58
|
export const searchBlockItems = (items, categories, collections, searchInput) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/search-items.js"],"names":["deburr","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/search-items.js"],"names":["deburr","find","words","defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultGetCategory","category","defaultGetCollection","normalizeSearchInput","input","replace","toLowerCase","getNormalizedSearchTerms","removeMatchingTerms","unmatchedTerms","unprocessedTerms","filter","term","some","unprocessedTerm","includes","searchBlockItems","items","categories","collections","searchInput","normalizedSearchTerms","length","config","getCategory","slug","getCollection","split","searchItems","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","getName","getTitle","getDescription","getKeywords","collection","normalizedSearchInput","normalizedTitle","startsWith","terms","join","isCoreBlockVariation","id"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { deburr, find, words } from 'lodash';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultGetCategory = ( item ) => item.category;\nconst defaultGetCollection = () => null;\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = deburr( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\t// Extract words.\n\treturn words( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\nexport const searchBlockItems = (\n\titems,\n\tcategories,\n\tcollections,\n\tsearchInput\n) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst config = {\n\t\tgetCategory: ( item ) =>\n\t\t\tfind( categories, { slug: item.category } )?.title,\n\t\tgetCollection: ( item ) =>\n\t\t\tcollections[ item.name.split( '/' )[ 0 ] ]?.title,\n\t};\n\n\treturn searchItems( items, searchInput, config );\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn items;\n\t}\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [ item, getItemSearchRank( item, searchInput, config ) ];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > 0 );\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nexport function getItemSearchRank( item, searchTerm, config = {} ) {\n\tconst {\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\tgetCategory = defaultGetCategory,\n\t\tgetCollection = defaultGetCollection,\n\t} = config;\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\tconst category = getCategory( item );\n\tconst collection = getCollection( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\tlet rank = 0;\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, categories, collection, variations match come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [\n\t\t\tname,\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t\t...keywords,\n\t\t\tcategory,\n\t\t\tcollection,\n\t\t].join( ' ' );\n\t\tconst normalizedSearchTerms = words( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\t// Give a better rank to \"core\" namespaced items.\n\tif ( rank !== 0 && name.startsWith( 'core/' ) ) {\n\t\tconst isCoreBlockVariation = name !== item.id;\n\t\t// Give a bit better rank to \"core\" blocks over \"core\" block variations.\n\t\trank += isCoreBlockVariation ? 1 : 2;\n\t}\n\n\treturn rank;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/search-results.native.js"],"names":["useSelect","searchItems","BlockTypesList","InserterNoResults","store","blockEditorStore","useBlockTypeImpressions","filterInserterItems","InserterSearchResults","filterValue","onSelect","listProps","rootClientId","isFullScreen","blockTypes","select","allItems","getInserterItems","availableItems","allowReusable","filteredItems","items","trackBlockTypeSelected","length","handleSelect"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASC,WAAT,QAA4B,gBAA5B;AACA,OAAOC,cAAP,MAA2B,qBAA3B;AACA,OAAOC,iBAAP,MAA8B,cAA9B;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AACA,OAAOC,uBAAP,MAAoC,oCAApC;AACA,SAASC,mBAAT,QAAoC,SAApC;;AAEA,SAASC,qBAAT,OAMI;AAAA,MAN4B;AAC/BC,IAAAA,WAD+B;AAE/BC,IAAAA,QAF+B;AAG/BC,IAAAA,SAH+B;AAI/BC,IAAAA,YAJ+B;AAK/BC,IAAAA;AAL+B,GAM5B;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAiBd,SAAS,CAC7Be,MAAF,IAAc;AACb,UAAMC,QAAQ,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/search-results.native.js"],"names":["useSelect","searchItems","BlockTypesList","InserterNoResults","store","blockEditorStore","useBlockTypeImpressions","filterInserterItems","InserterSearchResults","filterValue","onSelect","listProps","rootClientId","isFullScreen","blockTypes","select","allItems","getInserterItems","availableItems","allowReusable","filteredItems","items","trackBlockTypeSelected","length","handleSelect"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASC,WAAT,QAA4B,gBAA5B;AACA,OAAOC,cAAP,MAA2B,qBAA3B;AACA,OAAOC,iBAAP,MAA8B,cAA9B;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AACA,OAAOC,uBAAP,MAAoC,oCAApC;AACA,SAASC,mBAAT,QAAoC,SAApC;;AAEA,SAASC,qBAAT,OAMI;AAAA,MAN4B;AAC/BC,IAAAA,WAD+B;AAE/BC,IAAAA,QAF+B;AAG/BC,IAAAA,SAH+B;AAI/BC,IAAAA,YAJ+B;AAK/BC,IAAAA;AAL+B,GAM5B;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAiBd,SAAS,CAC7Be,MAAF,IAAc;AACb,UAAMC,QAAQ,GACbD,MAAM,CAAEV,gBAAF,CAAN,CAA2BY,gBAA3B,CAA6CL,YAA7C,CADD;AAGA,UAAMM,cAAc,GAAGX,mBAAmB,CAAES,QAAF,EAAY;AACrDG,MAAAA,aAAa,EAAE;AADsC,KAAZ,CAA1C;AAGA,UAAMC,aAAa,GAAGnB,WAAW,CAAEiB,cAAF,EAAkBT,WAAlB,CAAjC;AAEA,WAAO;AAAEK,MAAAA,UAAU,EAAEM;AAAd,KAAP;AACA,GAX8B,EAY/B,CAAER,YAAF,EAAgBH,WAAhB,CAZ+B,CAAhC;AAeA,QAAM;AAAEY,IAAAA,KAAF;AAASC,IAAAA;AAAT,MACLhB,uBAAuB,CAAEQ,UAAF,CADxB;;AAGA,MAAK,CAAEO,KAAF,IAAW,CAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEE,MAAP,MAAkB,CAAlC,EAAsC;AACrC,WAAO,cAAC,iBAAD,OAAP;AACA;;AAED,QAAMC,YAAY,GAAG,YAAe;AACnCF,IAAAA,sBAAsB,CAAE,YAAF,CAAtB;AACAZ,IAAAA,QAAQ,CAAE,YAAF,CAAR;AACA,GAHD;;AAKA,SACC,cAAC,cAAD;AACC,IAAA,IAAI,EAAC,QADN;AAEC,IAAA,kBAAkB,EAAGG,YAAY,GAAG,EAAH,GAAQ,CAF1C;AAGQQ,IAAAA,KAHR;AAGeX,IAAAA,QAAQ,EAAEc,YAHzB;AAGuCb,IAAAA;AAHvC,IADD;AAOA;;AAED,eAAeH,qBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { searchItems } from './search-items';\nimport BlockTypesList from '../block-types-list';\nimport InserterNoResults from './no-results';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockTypeImpressions from './hooks/use-block-type-impressions';\nimport { filterInserterItems } from './utils';\n\nfunction InserterSearchResults( {\n\tfilterValue,\n\tonSelect,\n\tlistProps,\n\trootClientId,\n\tisFullScreen,\n} ) {\n\tconst { blockTypes } = useSelect(\n\t\t( select ) => {\n\t\t\tconst allItems =\n\t\t\t\tselect( blockEditorStore ).getInserterItems( rootClientId );\n\n\t\t\tconst availableItems = filterInserterItems( allItems, {\n\t\t\t\tallowReusable: true,\n\t\t\t} );\n\t\t\tconst filteredItems = searchItems( availableItems, filterValue );\n\n\t\t\treturn { blockTypes: filteredItems };\n\t\t},\n\t\t[ rootClientId, filterValue ]\n\t);\n\n\tconst { items, trackBlockTypeSelected } =\n\t\tuseBlockTypeImpressions( blockTypes );\n\n\tif ( ! items || items?.length === 0 ) {\n\t\treturn <InserterNoResults />;\n\t}\n\n\tconst handleSelect = ( ...args ) => {\n\t\ttrackBlockTypeSelected( ...args );\n\t\tonSelect( ...args );\n\t};\n\n\treturn (\n\t\t<BlockTypesList\n\t\t\tname=\"Blocks\"\n\t\t\tinitialNumToRender={ isFullScreen ? 10 : 3 }\n\t\t\t{ ...{ items, onSelect: handleSelect, listProps } }\n\t\t/>\n\t);\n}\n\nexport default InserterSearchResults;\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* WordPress dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { __experimentalVStack as VStack, __experimentalHStack as HStack, __experimentalHeading as Heading, __experimentalSpacer as Spacer, Button, __experimentalText as Text } from '@wordpress/components';
|
|
7
|
+
import { closeSmall } from '@wordpress/icons';
|
|
8
|
+
import { __ } from '@wordpress/i18n';
|
|
9
|
+
export default function InspectorPopoverHeader(_ref) {
|
|
10
|
+
let {
|
|
11
|
+
title,
|
|
12
|
+
help,
|
|
13
|
+
actions = [],
|
|
14
|
+
onClose
|
|
15
|
+
} = _ref;
|
|
16
|
+
return createElement(VStack, {
|
|
17
|
+
className: "block-editor-inspector-popover-header",
|
|
18
|
+
spacing: 4
|
|
19
|
+
}, createElement(HStack, {
|
|
20
|
+
alignment: "center"
|
|
21
|
+
}, createElement(Heading, {
|
|
22
|
+
className: "block-editor-inspector-popover-header__heading",
|
|
23
|
+
level: 2,
|
|
24
|
+
size: 13
|
|
25
|
+
}, title), createElement(Spacer, null), actions.map(_ref2 => {
|
|
26
|
+
let {
|
|
27
|
+
label,
|
|
28
|
+
icon,
|
|
29
|
+
onClick
|
|
30
|
+
} = _ref2;
|
|
31
|
+
return createElement(Button, {
|
|
32
|
+
key: label,
|
|
33
|
+
className: "block-editor-inspector-popover-header__action",
|
|
34
|
+
label: label,
|
|
35
|
+
icon: icon,
|
|
36
|
+
variant: !icon && 'tertiary',
|
|
37
|
+
onClick: onClick
|
|
38
|
+
}, !icon && label);
|
|
39
|
+
}), onClose && createElement(Button, {
|
|
40
|
+
className: "block-editor-inspector-popover-header__action",
|
|
41
|
+
label: __('Close'),
|
|
42
|
+
icon: closeSmall,
|
|
43
|
+
onClick: onClose
|
|
44
|
+
})), help && createElement(Text, null, help));
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inspector-popover-header/index.js"],"names":["__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalSpacer","Spacer","Button","__experimentalText","Text","closeSmall","__","InspectorPopoverHeader","title","help","actions","onClose","map","label","icon","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,oBAAoB,IAAIC,MADzB,EAECC,oBAAoB,IAAIC,MAFzB,EAGCC,qBAAqB,IAAIC,OAH1B,EAICC,oBAAoB,IAAIC,MAJzB,EAKCC,MALD,EAMCC,kBAAkB,IAAIC,IANvB,QAOO,uBAPP;AAQA,SAASC,UAAT,QAA2B,kBAA3B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,eAAe,SAASC,sBAAT,OAKX;AAAA,MAL4C;AAC/CC,IAAAA,KAD+C;AAE/CC,IAAAA,IAF+C;AAG/CC,IAAAA,OAAO,GAAG,EAHqC;AAI/CC,IAAAA;AAJ+C,GAK5C;AACH,SACC,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC,uCAAlB;AAA0D,IAAA,OAAO,EAAG;AAApE,KACC,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC,cAAC,OAAD;AACC,IAAA,SAAS,EAAC,gDADX;AAEC,IAAA,KAAK,EAAG,CAFT;AAGC,IAAA,IAAI,EAAG;AAHR,KAKGH,KALH,CADD,EAQC,cAAC,MAAD,OARD,EASGE,OAAO,CAACE,GAAR,CAAa;AAAA,QAAE;AAAEC,MAAAA,KAAF;AAASC,MAAAA,IAAT;AAAeC,MAAAA;AAAf,KAAF;AAAA,WACd,cAAC,MAAD;AACC,MAAA,GAAG,EAAGF,KADP;AAEC,MAAA,SAAS,EAAC,+CAFX;AAGC,MAAA,KAAK,EAAGA,KAHT;AAIC,MAAA,IAAI,EAAGC,IAJR;AAKC,MAAA,OAAO,EAAG,CAAEA,IAAF,IAAU,UALrB;AAMC,MAAA,OAAO,EAAGC;AANX,OAQG,CAAED,IAAF,IAAUD,KARb,CADc;AAAA,GAAb,CATH,EAqBGF,OAAO,IACR,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,+CADX;AAEC,IAAA,KAAK,EAAGL,EAAE,CAAE,OAAF,CAFX;AAGC,IAAA,IAAI,EAAGD,UAHR;AAIC,IAAA,OAAO,EAAGM;AAJX,IAtBF,CADD,EA+BGF,IAAI,IAAI,cAAC,IAAD,QAAQA,IAAR,CA/BX,CADD;AAmCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalSpacer as Spacer,\n\tButton,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { closeSmall } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nexport default function InspectorPopoverHeader( {\n\ttitle,\n\thelp,\n\tactions = [],\n\tonClose,\n} ) {\n\treturn (\n\t\t<VStack className=\"block-editor-inspector-popover-header\" spacing={ 4 }>\n\t\t\t<HStack alignment=\"center\">\n\t\t\t\t<Heading\n\t\t\t\t\tclassName=\"block-editor-inspector-popover-header__heading\"\n\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\tsize={ 13 }\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<Spacer />\n\t\t\t\t{ actions.map( ( { label, icon, onClick } ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\tclassName=\"block-editor-inspector-popover-header__action\"\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tvariant={ ! icon && 'tertiary' }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! icon && label }\n\t\t\t\t\t</Button>\n\t\t\t\t) ) }\n\t\t\t\t{ onClose && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-inspector-popover-header__action\"\n\t\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ help && <Text>{ help }</Text> }\n\t\t</VStack>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/line-height-control/index.js"],"names":["deprecated","__","__experimentalNumberControl","NumberControl","BASE_DEFAULT_VALUE","RESET_VALUE","STEP","isLineHeightDefined","LineHeightControl","value","lineHeight","onChange","__nextHasNoMarginBottom","__unstableInputWidth","isDefined","adjustNextValue","nextValue","wasTypedOrPasted","stateReducer","state","action","includes","payload","event","nativeEvent","inputType","since","version","hint","deprecatedStyles","undefined","marginBottom"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,uBAAvB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,2BAA2B,IAAIC,aAAxC,QAA6D,uBAA7D;AAEA;AACA;AACA;;AACA,SACCC,kBADD,EAECC,WAFD,EAGCC,IAHD,EAICC,mBAJD,QAKO,SALP;;AAOA,MAAMC,iBAAiB,GAAG,QAMnB;AAAA,MANqB;AAC3BC,IAAAA,KAAK,EAAEC,UADoB;AAE3BC,IAAAA,QAF2B;;AAG3B;AACAC,IAAAA,uBAAuB,GAAG,KAJC;AAK3BC,IAAAA,oBAAoB,GAAG;AALI,GAMrB;AACN,QAAMC,SAAS,GAAGP,mBAAmB,CAAEG,UAAF,CAArC;;AAEA,QAAMK,eAAe,GAAG,CAAEC,SAAF,EAAaC,gBAAb,KAAmC;AAC1D;AACA,QAAKH,SAAL,EAAiB,OAAOE,SAAP;AAEjB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACE,YAAU,GAAGA,SAAW,EAAxB;AACC,WAAM,GAAGV,IAAM,EAAf;AACC;AACA,eAAOF,kBAAkB,GAAGE,IAA5B;;AACD,WAAK,GAAL;AAAU;AACT;AACA;AACA,cAAKW,gBAAL,EAAwB,OAAOD,SAAP,CAHf,CAIT;;AACA,iBAAOZ,kBAAkB,GAAGE,IAA5B;AACA;;AACD,WAAK,EAAL;AACC,eAAOF,kBAAP;;AACD;AACC,eAAOY,SAAP;AAdF;AAgBA,GA7BD;;AA+BA,QAAME,YAAY,GAAG,CAAEC,KAAF,EAASC,MAAT,KAAqB;AAAA;;AACzC;AACA;AACA;AACA;AACA,UAAMH,gBAAgB,GAAG,CAAE,YAAF,EAAgB,iBAAhB,EAAoCI,QAApC,0BACxBD,MAAM,CAACE,OAAP,CAAeC,KAAf,CAAqBC,WADG,0DACxB,sBAAkCC,SADV,CAAzB;AAGA,UAAMhB,KAAK,GAAGM,eAAe,CAAEI,KAAK,CAACV,KAAR,EAAeQ,gBAAf,CAA7B;AACA,WAAO,EAAE,GAAGE,KAAL;AAAYV,MAAAA;AAAZ,KAAP;AACA,GAVD;;AAYA,QAAMA,KAAK,GAAGK,SAAS,GAAGJ,UAAH,GAAgBL,WAAvC;;AAEA,MAAK,CAAEO,uBAAP,EAAiC;AAChCZ,IAAAA,UAAU,CACT,2DADS,EAET;AACC0B,MAAAA,KAAK,EAAE,KADR;AAECC,MAAAA,OAAO,EAAE,KAFV;AAGCC,MAAAA,IAAI,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/line-height-control/index.js"],"names":["deprecated","__","__experimentalNumberControl","NumberControl","BASE_DEFAULT_VALUE","RESET_VALUE","STEP","isLineHeightDefined","LineHeightControl","value","lineHeight","onChange","__nextHasNoMarginBottom","__unstableInputWidth","isDefined","adjustNextValue","nextValue","wasTypedOrPasted","stateReducer","state","action","includes","payload","event","nativeEvent","inputType","since","version","hint","deprecatedStyles","undefined","marginBottom"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,uBAAvB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,2BAA2B,IAAIC,aAAxC,QAA6D,uBAA7D;AAEA;AACA;AACA;;AACA,SACCC,kBADD,EAECC,WAFD,EAGCC,IAHD,EAICC,mBAJD,QAKO,SALP;;AAOA,MAAMC,iBAAiB,GAAG,QAMnB;AAAA,MANqB;AAC3BC,IAAAA,KAAK,EAAEC,UADoB;AAE3BC,IAAAA,QAF2B;;AAG3B;AACAC,IAAAA,uBAAuB,GAAG,KAJC;AAK3BC,IAAAA,oBAAoB,GAAG;AALI,GAMrB;AACN,QAAMC,SAAS,GAAGP,mBAAmB,CAAEG,UAAF,CAArC;;AAEA,QAAMK,eAAe,GAAG,CAAEC,SAAF,EAAaC,gBAAb,KAAmC;AAC1D;AACA,QAAKH,SAAL,EAAiB,OAAOE,SAAP;AAEjB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACE,YAAU,GAAGA,SAAW,EAAxB;AACC,WAAM,GAAGV,IAAM,EAAf;AACC;AACA,eAAOF,kBAAkB,GAAGE,IAA5B;;AACD,WAAK,GAAL;AAAU;AACT;AACA;AACA,cAAKW,gBAAL,EAAwB,OAAOD,SAAP,CAHf,CAIT;;AACA,iBAAOZ,kBAAkB,GAAGE,IAA5B;AACA;;AACD,WAAK,EAAL;AACC,eAAOF,kBAAP;;AACD;AACC,eAAOY,SAAP;AAdF;AAgBA,GA7BD;;AA+BA,QAAME,YAAY,GAAG,CAAEC,KAAF,EAASC,MAAT,KAAqB;AAAA;;AACzC;AACA;AACA;AACA;AACA,UAAMH,gBAAgB,GAAG,CAAE,YAAF,EAAgB,iBAAhB,EAAoCI,QAApC,0BACxBD,MAAM,CAACE,OAAP,CAAeC,KAAf,CAAqBC,WADG,0DACxB,sBAAkCC,SADV,CAAzB;AAGA,UAAMhB,KAAK,GAAGM,eAAe,CAAEI,KAAK,CAACV,KAAR,EAAeQ,gBAAf,CAA7B;AACA,WAAO,EAAE,GAAGE,KAAL;AAAYV,MAAAA;AAAZ,KAAP;AACA,GAVD;;AAYA,QAAMA,KAAK,GAAGK,SAAS,GAAGJ,UAAH,GAAgBL,WAAvC;;AAEA,MAAK,CAAEO,uBAAP,EAAiC;AAChCZ,IAAAA,UAAU,CACT,2DADS,EAET;AACC0B,MAAAA,KAAK,EAAE,KADR;AAECC,MAAAA,OAAO,EAAE,KAFV;AAGCC,MAAAA,IAAI,EAAE;AAHP,KAFS,CAAV;AAQA;;AACD,QAAMC,gBAAgB,GAAGjB,uBAAuB,GAC7CkB,SAD6C,GAE7C;AAAEC,IAAAA,YAAY,EAAE;AAAhB,GAFH;AAIA,SACC;AACC,IAAA,SAAS,EAAC,kCADX;AAEC,IAAA,KAAK,EAAGF;AAFT,KAIC,cAAC,aAAD;AACC,IAAA,oBAAoB,EAAGhB,oBADxB;AAEC,IAAA,sBAAsB,EAAGK,YAF1B;AAGC,IAAA,QAAQ,EAAGP,QAHZ;AAIC,IAAA,KAAK,EAAGV,EAAE,CAAE,aAAF,CAJX;AAKC,IAAA,WAAW,EAAGG,kBALf;AAMC,IAAA,IAAI,EAAGE,IANR;AAOC,IAAA,KAAK,EAAGG,KAPT;AAQC,IAAA,GAAG,EAAG;AARP,IAJD,CADD;AAiBA,CArFD;AAuFA;AACA;AACA;;;AACA,eAAeD,iBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalNumberControl as NumberControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tBASE_DEFAULT_VALUE,\n\tRESET_VALUE,\n\tSTEP,\n\tisLineHeightDefined,\n} from './utils';\n\nconst LineHeightControl = ( {\n\tvalue: lineHeight,\n\tonChange,\n\t/** Start opting into the new margin-free styles that will become the default in a future version. */\n\t__nextHasNoMarginBottom = false,\n\t__unstableInputWidth = '60px',\n} ) => {\n\tconst isDefined = isLineHeightDefined( lineHeight );\n\n\tconst adjustNextValue = ( nextValue, wasTypedOrPasted ) => {\n\t\t// Set the next value without modification if lineHeight has been defined.\n\t\tif ( isDefined ) return nextValue;\n\n\t\t/**\n\t\t * The following logic handles the initial step up/down action\n\t\t * (from an undefined value state) so that the next values are better suited for\n\t\t * line-height rendering. For example, the first step up should immediately\n\t\t * go to 1.6, rather than the normally expected 0.1.\n\t\t *\n\t\t * Step up/down actions can be triggered by keydowns of the up/down arrow keys,\n\t\t * or by clicking the spin buttons.\n\t\t */\n\t\tswitch ( `${ nextValue }` ) {\n\t\t\tcase `${ STEP }`:\n\t\t\t\t// Increment by step value.\n\t\t\t\treturn BASE_DEFAULT_VALUE + STEP;\n\t\t\tcase '0': {\n\t\t\t\t// This means the user explicitly input '0', rather than stepped down\n\t\t\t\t// from an undefined value state.\n\t\t\t\tif ( wasTypedOrPasted ) return nextValue;\n\t\t\t\t// Decrement by step value.\n\t\t\t\treturn BASE_DEFAULT_VALUE - STEP;\n\t\t\t}\n\t\t\tcase '':\n\t\t\t\treturn BASE_DEFAULT_VALUE;\n\t\t\tdefault:\n\t\t\t\treturn nextValue;\n\t\t}\n\t};\n\n\tconst stateReducer = ( state, action ) => {\n\t\t// Be careful when changing this — cross-browser behavior of the\n\t\t// `inputType` field in `input` events are inconsistent.\n\t\t// For example, Firefox emits an input event with inputType=\"insertReplacementText\"\n\t\t// on spin button clicks, while other browsers do not even emit an input event.\n\t\tconst wasTypedOrPasted = [ 'insertText', 'insertFromPaste' ].includes(\n\t\t\taction.payload.event.nativeEvent?.inputType\n\t\t);\n\t\tconst value = adjustNextValue( state.value, wasTypedOrPasted );\n\t\treturn { ...state, value };\n\t};\n\n\tconst value = isDefined ? lineHeight : RESET_VALUE;\n\n\tif ( ! __nextHasNoMarginBottom ) {\n\t\tdeprecated(\n\t\t\t'Bottom margin styles for wp.blockEditor.LineHeightControl',\n\t\t\t{\n\t\t\t\tsince: '6.0',\n\t\t\t\tversion: '6.4',\n\t\t\t\thint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version',\n\t\t\t}\n\t\t);\n\t}\n\tconst deprecatedStyles = __nextHasNoMarginBottom\n\t\t? undefined\n\t\t: { marginBottom: 24 };\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-line-height-control\"\n\t\t\tstyle={ deprecatedStyles }\n\t\t>\n\t\t\t<NumberControl\n\t\t\t\t__unstableInputWidth={ __unstableInputWidth }\n\t\t\t\t__unstableStateReducer={ stateReducer }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\tplaceholder={ BASE_DEFAULT_VALUE }\n\t\t\t\tstep={ STEP }\n\t\t\t\tvalue={ value }\n\t\t\t\tmin={ 0 }\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/line-height-control/README.md\n */\nexport default LineHeightControl;\n"]}
|
|
@@ -3,7 +3,6 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* External dependencies
|
|
5
5
|
*/
|
|
6
|
-
import { noop } from 'lodash';
|
|
7
6
|
import classnames from 'classnames';
|
|
8
7
|
/**
|
|
9
8
|
* WordPress dependencies
|
|
@@ -100,6 +99,7 @@ import { DEFAULT_LINK_SETTINGS } from './constants';
|
|
|
100
99
|
* @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component.
|
|
101
100
|
*/
|
|
102
101
|
|
|
102
|
+
const noop = () => {};
|
|
103
103
|
/**
|
|
104
104
|
* Renders a link control. A link control is a controlled input which maintains
|
|
105
105
|
* a value associated with a link (HTML anchor element) and relevant settings
|
|
@@ -108,6 +108,7 @@ import { DEFAULT_LINK_SETTINGS } from './constants';
|
|
|
108
108
|
* @param {WPLinkControlProps} props Component props.
|
|
109
109
|
*/
|
|
110
110
|
|
|
111
|
+
|
|
111
112
|
function LinkControl(_ref) {
|
|
112
113
|
var _currentInputValue$tr, _value$url, _value$url$trim;
|
|
113
114
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/link-control/index.js"],"names":["noop","classnames","Button","Spinner","Notice","TextControl","keyboardReturn","__","useRef","useState","useEffect","focus","ENTER","LinkControlSettingsDrawer","LinkControlSearchInput","LinkPreview","useCreatePage","ViewerFill","DEFAULT_LINK_SETTINGS","LinkControl","searchInputPlaceholder","value","settings","onChange","onRemove","noDirectEntry","showSuggestions","showInitialSuggestions","forceIsEditingLink","createSuggestion","withCreateSuggestion","inputValue","propInputValue","suggestionsQuery","noURLSuggestion","createSuggestionButtonText","hasRichPreviews","hasTextControl","renderControlBottom","undefined","isMounting","wrapperNode","textInputRef","internalInputValue","setInternalInputValue","url","internalTextValue","setInternalTextValue","title","currentInputValue","isEditingLink","setIsEditingLink","isEndingEditWithFocus","currentInputIsEmpty","trim","length","createPage","isCreatingPage","errorMessage","current","whichFocusTargetIndex","nextFocusTarget","focusable","find","stopEditing","contains","ownerDocument","activeElement","handleSelectSuggestion","updatedValue","handleSubmit","handleSubmitWithEnter","event","keyCode","preventDefault","shownUnlinkControl","showSettingsDrawer","showTextControl"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Spinner, Notice, TextControl } from '@wordpress/components';\nimport { keyboardReturn } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ENTER } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSettingsDrawer from './settings-drawer';\nimport LinkControlSearchInput from './search-input';\nimport LinkPreview from './link-preview';\nimport useCreatePage from './use-create-page';\nimport { ViewerFill } from './viewer-slot';\nimport { DEFAULT_LINK_SETTINGS } from './constants';\n\n/**\n * Default properties associated with a link control value.\n *\n * @typedef WPLinkControlDefaultValue\n *\n * @property {string} url Link URL.\n * @property {string=} title Link title.\n * @property {boolean=} opensInNewTab Whether link should open in a new browser\n * tab. This value is only assigned if not\n * providing a custom `settings` prop.\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Custom settings values associated with a link.\n *\n * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue\n */\n/* eslint-enable */\n\n/**\n * Custom settings values associated with a link.\n *\n * @typedef WPLinkControlSetting\n *\n * @property {string} id Identifier to use as property for setting value.\n * @property {string} title Human-readable label to show in user interface.\n */\n\n/**\n * Properties associated with a link control value, composed as a union of the\n * default properties and any custom settings values.\n *\n * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue\n */\n\n/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */\n\n/**\n * Properties associated with a search suggestion used within the LinkControl.\n *\n * @typedef WPLinkControlSuggestion\n *\n * @property {string} id Identifier to use to uniquely identify the suggestion.\n * @property {string} type Identifies the type of the suggestion (eg: `post`,\n * `page`, `url`...etc)\n * @property {string} title Human-readable label to show in user interface.\n * @property {string} url A URL for the suggestion.\n */\n\n/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */\n\n/**\n * @typedef WPLinkControlProps\n *\n * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to\n * render a `ToggleControl` for that setting.\n * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the\n * internal editing state of the component to respective\n * show or not show the URL input field.\n * @property {WPLinkControlValue=} value Current link value.\n * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if\n * the user selects a new link or updates settings.\n * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link.\n * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL.\n * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately.\n * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion.\n * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions.\n * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL.\n * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion.\n * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component.\n */\n\n/**\n * Renders a link control. A link control is a controlled input which maintains\n * a value associated with a link (HTML anchor element) and relevant settings\n * for how that link is expected to behave.\n *\n * @param {WPLinkControlProps} props Component props.\n */\nfunction LinkControl( {\n\tsearchInputPlaceholder,\n\tvalue,\n\tsettings = DEFAULT_LINK_SETTINGS,\n\tonChange = noop,\n\tonRemove,\n\tnoDirectEntry = false,\n\tshowSuggestions = true,\n\tshowInitialSuggestions,\n\tforceIsEditingLink,\n\tcreateSuggestion,\n\twithCreateSuggestion,\n\tinputValue: propInputValue = '',\n\tsuggestionsQuery = {},\n\tnoURLSuggestion = false,\n\tcreateSuggestionButtonText,\n\thasRichPreviews = false,\n\thasTextControl = false,\n\trenderControlBottom = null,\n} ) {\n\tif ( withCreateSuggestion === undefined && createSuggestion ) {\n\t\twithCreateSuggestion = true;\n\t}\n\n\tconst isMounting = useRef( true );\n\tconst wrapperNode = useRef();\n\tconst textInputRef = useRef();\n\n\tconst [ internalInputValue, setInternalInputValue ] = useState(\n\t\tvalue?.url || ''\n\t);\n\tconst [ internalTextValue, setInternalTextValue ] = useState(\n\t\tvalue?.title || ''\n\t);\n\tconst currentInputValue = propInputValue || internalInputValue;\n\tconst [ isEditingLink, setIsEditingLink ] = useState(\n\t\tforceIsEditingLink !== undefined\n\t\t\t? forceIsEditingLink\n\t\t\t: ! value || ! value.url\n\t);\n\tconst isEndingEditWithFocus = useRef( false );\n\n\tconst currentInputIsEmpty = ! currentInputValue?.trim()?.length;\n\n\tconst { createPage, isCreatingPage, errorMessage } = useCreatePage(\n\t\tcreateSuggestion\n\t);\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tforceIsEditingLink !== undefined &&\n\t\t\tforceIsEditingLink !== isEditingLink\n\t\t) {\n\t\t\tsetIsEditingLink( forceIsEditingLink );\n\t\t}\n\t}, [ forceIsEditingLink ] );\n\n\tuseEffect( () => {\n\t\t// We don't auto focus into the Link UI on mount\n\t\t// because otherwise using the keyboard to select text\n\t\t// *within* the link format is not possible.\n\t\tif ( isMounting.current ) {\n\t\t\tisMounting.current = false;\n\t\t\treturn;\n\t\t}\n\t\t// Unless we are mounting, we always want to focus either:\n\t\t// - the URL input\n\t\t// - the first focusable element in the Link UI.\n\t\t// But in editing mode if there is a text input present then\n\t\t// the URL input is at index 1. If not then it is at index 0.\n\t\tconst whichFocusTargetIndex = textInputRef?.current ? 1 : 0;\n\n\t\t// Scenario - when:\n\t\t// - switching between editable and non editable LinkControl\n\t\t// - clicking on a link\n\t\t// ...then move focus to the *first* element to avoid focus loss\n\t\t// and to ensure focus is *within* the Link UI.\n\t\tconst nextFocusTarget =\n\t\t\tfocus.focusable.find( wrapperNode.current )[\n\t\t\t\twhichFocusTargetIndex\n\t\t\t] || wrapperNode.current;\n\n\t\tnextFocusTarget.focus();\n\n\t\tisEndingEditWithFocus.current = false;\n\t}, [ isEditingLink, isCreatingPage ] );\n\n\tuseEffect( () => {\n\t\t/**\n\t\t * If the value's `text` property changes then sync this\n\t\t * back up with state.\n\t\t */\n\t\tif ( value?.title && value.title !== internalTextValue ) {\n\t\t\tsetInternalTextValue( value.title );\n\t\t}\n\n\t\t/**\n\t\t * Update the state value internalInputValue if the url value changes\n\t\t * for example when clicking on another anchor\n\t\t */\n\t\tif ( value?.url ) {\n\t\t\tsetInternalInputValue( value.url );\n\t\t}\n\t}, [ value ] );\n\n\t/**\n\t * Cancels editing state and marks that focus may need to be restored after\n\t * the next render, if focus was within the wrapper when editing finished.\n\t */\n\tfunction stopEditing() {\n\t\tisEndingEditWithFocus.current = !! wrapperNode.current?.contains(\n\t\t\twrapperNode.current.ownerDocument.activeElement\n\t\t);\n\n\t\tsetIsEditingLink( false );\n\t}\n\n\tconst handleSelectSuggestion = ( updatedValue ) => {\n\t\tonChange( {\n\t\t\t...updatedValue,\n\t\t\ttitle: internalTextValue || updatedValue?.title,\n\t\t} );\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmit = () => {\n\t\tif (\n\t\t\tcurrentInputValue !== value?.url ||\n\t\t\tinternalTextValue !== value?.title\n\t\t) {\n\t\t\tonChange( {\n\t\t\t\turl: currentInputValue,\n\t\t\t\ttitle: internalTextValue,\n\t\t\t} );\n\t\t}\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmitWithEnter = ( event ) => {\n\t\tconst { keyCode } = event;\n\t\tif (\n\t\t\tkeyCode === ENTER &&\n\t\t\t! currentInputIsEmpty // Disallow submitting empty values.\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\thandleSubmit();\n\t\t}\n\t};\n\n\tconst shownUnlinkControl =\n\t\tonRemove && value && ! isEditingLink && ! isCreatingPage;\n\n\tconst showSettingsDrawer = !! settings?.length;\n\n\t// Only show text control once a URL value has been committed\n\t// and it isn't just empty whitespace.\n\t// See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927.\n\tconst showTextControl = value?.url?.trim()?.length > 0 && hasTextControl;\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={ -1 }\n\t\t\tref={ wrapperNode }\n\t\t\tclassName=\"block-editor-link-control\"\n\t\t>\n\t\t\t{ isCreatingPage && (\n\t\t\t\t<div className=\"block-editor-link-control__loading\">\n\t\t\t\t\t<Spinner /> { __( 'Creating' ) }…\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ( isEditingLink || ! value ) && ! isCreatingPage && (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t\t'block-editor-link-control__search-input-wrapper': true,\n\t\t\t\t\t\t\t'has-text-control': showTextControl,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTextControl && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__text-content\"\n\t\t\t\t\t\t\t\tlabel=\"Text\"\n\t\t\t\t\t\t\t\tvalue={ internalTextValue }\n\t\t\t\t\t\t\t\tonChange={ setInternalTextValue }\n\t\t\t\t\t\t\t\tonKeyDown={ handleSubmitWithEnter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<LinkControlSearchInput\n\t\t\t\t\t\t\tcurrentLink={ value }\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__search-input\"\n\t\t\t\t\t\t\tplaceholder={ searchInputPlaceholder }\n\t\t\t\t\t\t\tvalue={ currentInputValue }\n\t\t\t\t\t\t\twithCreateSuggestion={ withCreateSuggestion }\n\t\t\t\t\t\t\tonCreateSuggestion={ createPage }\n\t\t\t\t\t\t\tonChange={ setInternalInputValue }\n\t\t\t\t\t\t\tonSelect={ handleSelectSuggestion }\n\t\t\t\t\t\t\tshowInitialSuggestions={ showInitialSuggestions }\n\t\t\t\t\t\t\tallowDirectEntry={ ! noDirectEntry }\n\t\t\t\t\t\t\tshowSuggestions={ showSuggestions }\n\t\t\t\t\t\t\tsuggestionsQuery={ suggestionsQuery }\n\t\t\t\t\t\t\twithURLSuggestion={ ! noURLSuggestion }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tuseLabel={ showTextControl }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"block-editor-link-control__search-actions\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ handleSubmit }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Submit' ) }\n\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\t\t\t\tdisabled={ currentInputIsEmpty } // Disallow submitting empty values.\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</LinkControlSearchInput>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ errorMessage && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-error\"\n\t\t\t\t\t\t\tstatus=\"error\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ errorMessage }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ value && ! isEditingLink && ! isCreatingPage && (\n\t\t\t\t<LinkPreview\n\t\t\t\t\tkey={ value?.url } // force remount when URL changes to avoid race conditions for rich previews\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonEditClick={ () => setIsEditingLink( true ) }\n\t\t\t\t\thasRichPreviews={ hasRichPreviews }\n\t\t\t\t\thasUnlinkControl={ shownUnlinkControl }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ showSettingsDrawer && (\n\t\t\t\t<div className=\"block-editor-link-control__tools\">\n\t\t\t\t\t<LinkControlSettingsDrawer\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ renderControlBottom && renderControlBottom() }\n\t\t</div>\n\t);\n}\n\nLinkControl.ViewerFill = ViewerFill;\n\nexport default LinkControl;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/link-control/index.js"],"names":["classnames","Button","Spinner","Notice","TextControl","keyboardReturn","__","useRef","useState","useEffect","focus","ENTER","LinkControlSettingsDrawer","LinkControlSearchInput","LinkPreview","useCreatePage","ViewerFill","DEFAULT_LINK_SETTINGS","noop","LinkControl","searchInputPlaceholder","value","settings","onChange","onRemove","noDirectEntry","showSuggestions","showInitialSuggestions","forceIsEditingLink","createSuggestion","withCreateSuggestion","inputValue","propInputValue","suggestionsQuery","noURLSuggestion","createSuggestionButtonText","hasRichPreviews","hasTextControl","renderControlBottom","undefined","isMounting","wrapperNode","textInputRef","internalInputValue","setInternalInputValue","url","internalTextValue","setInternalTextValue","title","currentInputValue","isEditingLink","setIsEditingLink","isEndingEditWithFocus","currentInputIsEmpty","trim","length","createPage","isCreatingPage","errorMessage","current","whichFocusTargetIndex","nextFocusTarget","focusable","find","stopEditing","contains","ownerDocument","activeElement","handleSelectSuggestion","updatedValue","handleSubmit","handleSubmitWithEnter","event","keyCode","preventDefault","shownUnlinkControl","showSettingsDrawer","showTextControl"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Spinner, Notice, TextControl } from '@wordpress/components';\nimport { keyboardReturn } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ENTER } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSettingsDrawer from './settings-drawer';\nimport LinkControlSearchInput from './search-input';\nimport LinkPreview from './link-preview';\nimport useCreatePage from './use-create-page';\nimport { ViewerFill } from './viewer-slot';\nimport { DEFAULT_LINK_SETTINGS } from './constants';\n\n/**\n * Default properties associated with a link control value.\n *\n * @typedef WPLinkControlDefaultValue\n *\n * @property {string} url Link URL.\n * @property {string=} title Link title.\n * @property {boolean=} opensInNewTab Whether link should open in a new browser\n * tab. This value is only assigned if not\n * providing a custom `settings` prop.\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Custom settings values associated with a link.\n *\n * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue\n */\n/* eslint-enable */\n\n/**\n * Custom settings values associated with a link.\n *\n * @typedef WPLinkControlSetting\n *\n * @property {string} id Identifier to use as property for setting value.\n * @property {string} title Human-readable label to show in user interface.\n */\n\n/**\n * Properties associated with a link control value, composed as a union of the\n * default properties and any custom settings values.\n *\n * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue\n */\n\n/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */\n\n/**\n * Properties associated with a search suggestion used within the LinkControl.\n *\n * @typedef WPLinkControlSuggestion\n *\n * @property {string} id Identifier to use to uniquely identify the suggestion.\n * @property {string} type Identifies the type of the suggestion (eg: `post`,\n * `page`, `url`...etc)\n * @property {string} title Human-readable label to show in user interface.\n * @property {string} url A URL for the suggestion.\n */\n\n/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */\n\n/**\n * @typedef WPLinkControlProps\n *\n * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to\n * render a `ToggleControl` for that setting.\n * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the\n * internal editing state of the component to respective\n * show or not show the URL input field.\n * @property {WPLinkControlValue=} value Current link value.\n * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if\n * the user selects a new link or updates settings.\n * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link.\n * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL.\n * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately.\n * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion.\n * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions.\n * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL.\n * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion.\n * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component.\n */\n\nconst noop = () => {};\n\n/**\n * Renders a link control. A link control is a controlled input which maintains\n * a value associated with a link (HTML anchor element) and relevant settings\n * for how that link is expected to behave.\n *\n * @param {WPLinkControlProps} props Component props.\n */\nfunction LinkControl( {\n\tsearchInputPlaceholder,\n\tvalue,\n\tsettings = DEFAULT_LINK_SETTINGS,\n\tonChange = noop,\n\tonRemove,\n\tnoDirectEntry = false,\n\tshowSuggestions = true,\n\tshowInitialSuggestions,\n\tforceIsEditingLink,\n\tcreateSuggestion,\n\twithCreateSuggestion,\n\tinputValue: propInputValue = '',\n\tsuggestionsQuery = {},\n\tnoURLSuggestion = false,\n\tcreateSuggestionButtonText,\n\thasRichPreviews = false,\n\thasTextControl = false,\n\trenderControlBottom = null,\n} ) {\n\tif ( withCreateSuggestion === undefined && createSuggestion ) {\n\t\twithCreateSuggestion = true;\n\t}\n\n\tconst isMounting = useRef( true );\n\tconst wrapperNode = useRef();\n\tconst textInputRef = useRef();\n\n\tconst [ internalInputValue, setInternalInputValue ] = useState(\n\t\tvalue?.url || ''\n\t);\n\tconst [ internalTextValue, setInternalTextValue ] = useState(\n\t\tvalue?.title || ''\n\t);\n\tconst currentInputValue = propInputValue || internalInputValue;\n\tconst [ isEditingLink, setIsEditingLink ] = useState(\n\t\tforceIsEditingLink !== undefined\n\t\t\t? forceIsEditingLink\n\t\t\t: ! value || ! value.url\n\t);\n\tconst isEndingEditWithFocus = useRef( false );\n\n\tconst currentInputIsEmpty = ! currentInputValue?.trim()?.length;\n\n\tconst { createPage, isCreatingPage, errorMessage } =\n\t\tuseCreatePage( createSuggestion );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tforceIsEditingLink !== undefined &&\n\t\t\tforceIsEditingLink !== isEditingLink\n\t\t) {\n\t\t\tsetIsEditingLink( forceIsEditingLink );\n\t\t}\n\t}, [ forceIsEditingLink ] );\n\n\tuseEffect( () => {\n\t\t// We don't auto focus into the Link UI on mount\n\t\t// because otherwise using the keyboard to select text\n\t\t// *within* the link format is not possible.\n\t\tif ( isMounting.current ) {\n\t\t\tisMounting.current = false;\n\t\t\treturn;\n\t\t}\n\t\t// Unless we are mounting, we always want to focus either:\n\t\t// - the URL input\n\t\t// - the first focusable element in the Link UI.\n\t\t// But in editing mode if there is a text input present then\n\t\t// the URL input is at index 1. If not then it is at index 0.\n\t\tconst whichFocusTargetIndex = textInputRef?.current ? 1 : 0;\n\n\t\t// Scenario - when:\n\t\t// - switching between editable and non editable LinkControl\n\t\t// - clicking on a link\n\t\t// ...then move focus to the *first* element to avoid focus loss\n\t\t// and to ensure focus is *within* the Link UI.\n\t\tconst nextFocusTarget =\n\t\t\tfocus.focusable.find( wrapperNode.current )[\n\t\t\t\twhichFocusTargetIndex\n\t\t\t] || wrapperNode.current;\n\n\t\tnextFocusTarget.focus();\n\n\t\tisEndingEditWithFocus.current = false;\n\t}, [ isEditingLink, isCreatingPage ] );\n\n\tuseEffect( () => {\n\t\t/**\n\t\t * If the value's `text` property changes then sync this\n\t\t * back up with state.\n\t\t */\n\t\tif ( value?.title && value.title !== internalTextValue ) {\n\t\t\tsetInternalTextValue( value.title );\n\t\t}\n\n\t\t/**\n\t\t * Update the state value internalInputValue if the url value changes\n\t\t * for example when clicking on another anchor\n\t\t */\n\t\tif ( value?.url ) {\n\t\t\tsetInternalInputValue( value.url );\n\t\t}\n\t}, [ value ] );\n\n\t/**\n\t * Cancels editing state and marks that focus may need to be restored after\n\t * the next render, if focus was within the wrapper when editing finished.\n\t */\n\tfunction stopEditing() {\n\t\tisEndingEditWithFocus.current = !! wrapperNode.current?.contains(\n\t\t\twrapperNode.current.ownerDocument.activeElement\n\t\t);\n\n\t\tsetIsEditingLink( false );\n\t}\n\n\tconst handleSelectSuggestion = ( updatedValue ) => {\n\t\tonChange( {\n\t\t\t...updatedValue,\n\t\t\ttitle: internalTextValue || updatedValue?.title,\n\t\t} );\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmit = () => {\n\t\tif (\n\t\t\tcurrentInputValue !== value?.url ||\n\t\t\tinternalTextValue !== value?.title\n\t\t) {\n\t\t\tonChange( {\n\t\t\t\turl: currentInputValue,\n\t\t\t\ttitle: internalTextValue,\n\t\t\t} );\n\t\t}\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmitWithEnter = ( event ) => {\n\t\tconst { keyCode } = event;\n\t\tif (\n\t\t\tkeyCode === ENTER &&\n\t\t\t! currentInputIsEmpty // Disallow submitting empty values.\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\thandleSubmit();\n\t\t}\n\t};\n\n\tconst shownUnlinkControl =\n\t\tonRemove && value && ! isEditingLink && ! isCreatingPage;\n\n\tconst showSettingsDrawer = !! settings?.length;\n\n\t// Only show text control once a URL value has been committed\n\t// and it isn't just empty whitespace.\n\t// See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927.\n\tconst showTextControl = value?.url?.trim()?.length > 0 && hasTextControl;\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={ -1 }\n\t\t\tref={ wrapperNode }\n\t\t\tclassName=\"block-editor-link-control\"\n\t\t>\n\t\t\t{ isCreatingPage && (\n\t\t\t\t<div className=\"block-editor-link-control__loading\">\n\t\t\t\t\t<Spinner /> { __( 'Creating' ) }…\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ( isEditingLink || ! value ) && ! isCreatingPage && (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t\t'block-editor-link-control__search-input-wrapper': true,\n\t\t\t\t\t\t\t'has-text-control': showTextControl,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTextControl && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__text-content\"\n\t\t\t\t\t\t\t\tlabel=\"Text\"\n\t\t\t\t\t\t\t\tvalue={ internalTextValue }\n\t\t\t\t\t\t\t\tonChange={ setInternalTextValue }\n\t\t\t\t\t\t\t\tonKeyDown={ handleSubmitWithEnter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<LinkControlSearchInput\n\t\t\t\t\t\t\tcurrentLink={ value }\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__search-input\"\n\t\t\t\t\t\t\tplaceholder={ searchInputPlaceholder }\n\t\t\t\t\t\t\tvalue={ currentInputValue }\n\t\t\t\t\t\t\twithCreateSuggestion={ withCreateSuggestion }\n\t\t\t\t\t\t\tonCreateSuggestion={ createPage }\n\t\t\t\t\t\t\tonChange={ setInternalInputValue }\n\t\t\t\t\t\t\tonSelect={ handleSelectSuggestion }\n\t\t\t\t\t\t\tshowInitialSuggestions={ showInitialSuggestions }\n\t\t\t\t\t\t\tallowDirectEntry={ ! noDirectEntry }\n\t\t\t\t\t\t\tshowSuggestions={ showSuggestions }\n\t\t\t\t\t\t\tsuggestionsQuery={ suggestionsQuery }\n\t\t\t\t\t\t\twithURLSuggestion={ ! noURLSuggestion }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tuseLabel={ showTextControl }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"block-editor-link-control__search-actions\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ handleSubmit }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Submit' ) }\n\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\t\t\t\tdisabled={ currentInputIsEmpty } // Disallow submitting empty values.\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</LinkControlSearchInput>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ errorMessage && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-error\"\n\t\t\t\t\t\t\tstatus=\"error\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ errorMessage }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ value && ! isEditingLink && ! isCreatingPage && (\n\t\t\t\t<LinkPreview\n\t\t\t\t\tkey={ value?.url } // force remount when URL changes to avoid race conditions for rich previews\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonEditClick={ () => setIsEditingLink( true ) }\n\t\t\t\t\thasRichPreviews={ hasRichPreviews }\n\t\t\t\t\thasUnlinkControl={ shownUnlinkControl }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ showSettingsDrawer && (\n\t\t\t\t<div className=\"block-editor-link-control__tools\">\n\t\t\t\t\t<LinkControlSettingsDrawer\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ renderControlBottom && renderControlBottom() }\n\t\t</div>\n\t);\n}\n\nLinkControl.ViewerFill = ViewerFill;\n\nexport default LinkControl;\n"]}
|
|
@@ -5,7 +5,6 @@ import { createElement } from "@wordpress/element";
|
|
|
5
5
|
* External dependencies
|
|
6
6
|
*/
|
|
7
7
|
import classnames from 'classnames';
|
|
8
|
-
import { isFunction } from 'lodash';
|
|
9
8
|
/**
|
|
10
9
|
* WordPress dependencies
|
|
11
10
|
*/
|
|
@@ -30,7 +29,7 @@ export const LinkControlSearchCreate = _ref => {
|
|
|
30
29
|
let text;
|
|
31
30
|
|
|
32
31
|
if (buttonText) {
|
|
33
|
-
text =
|
|
32
|
+
text = typeof buttonText === 'function' ? buttonText(searchTerm) : buttonText;
|
|
34
33
|
} else {
|
|
35
34
|
text = createInterpolateElement(sprintf(
|
|
36
35
|
/* translators: %s: search term. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/link-control/search-create-button.js"],"names":["classnames","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/link-control/search-create-button.js"],"names":["classnames","__","sprintf","Button","createInterpolateElement","Icon","plus","LinkControlSearchCreate","searchTerm","onClick","itemProps","isSelected","buttonText","text","mark"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,wBAAT,QAAyC,oBAAzC;AACA,SAASC,IAAT,EAAeC,IAAf,QAA2B,kBAA3B;AAEA,OAAO,MAAMC,uBAAuB,GAAG,QAMhC;AAAA,MANkC;AACxCC,IAAAA,UADwC;AAExCC,IAAAA,OAFwC;AAGxCC,IAAAA,SAHwC;AAIxCC,IAAAA,UAJwC;AAKxCC,IAAAA;AALwC,GAMlC;;AACN,MAAK,CAAEJ,UAAP,EAAoB;AACnB,WAAO,IAAP;AACA;;AAED,MAAIK,IAAJ;;AACA,MAAKD,UAAL,EAAkB;AACjBC,IAAAA,IAAI,GACH,OAAOD,UAAP,KAAsB,UAAtB,GACGA,UAAU,CAAEJ,UAAF,CADb,GAEGI,UAHJ;AAIA,GALD,MAKO;AACNC,IAAAA,IAAI,GAAGT,wBAAwB,CAC9BF,OAAO;AACN;AACAD,IAAAA,EAAE,CAAE,yBAAF,CAFI,EAGNO,UAHM,CADuB,EAM9B;AAAEM,MAAAA,IAAI,EAAE;AAAR,KAN8B,CAA/B;AAQA;;AAED,SACC,cAAC,MAAD,eACMJ,SADN;AAEC,IAAA,SAAS,EAAGV,UAAU,CACrB,iFADqB,EAErB;AACC,qBAAeW;AADhB,KAFqB,CAFvB;AAQC,IAAA,OAAO,EAAGF;AARX,MAUC,cAAC,IAAD;AACC,IAAA,SAAS,EAAC,6CADX;AAEC,IAAA,IAAI,EAAGH;AAFR,IAVD,EAeC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGO,IADH,CADD,CAfD,CADD;AAuBA,CAnDM;AAqDP,eAAeN,uBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { Icon, plus } from '@wordpress/icons';\n\nexport const LinkControlSearchCreate = ( {\n\tsearchTerm,\n\tonClick,\n\titemProps,\n\tisSelected,\n\tbuttonText,\n} ) => {\n\tif ( ! searchTerm ) {\n\t\treturn null;\n\t}\n\n\tlet text;\n\tif ( buttonText ) {\n\t\ttext =\n\t\t\ttypeof buttonText === 'function'\n\t\t\t\t? buttonText( searchTerm )\n\t\t\t\t: buttonText;\n\t} else {\n\t\ttext = createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t__( 'Create: <mark>%s</mark>' ),\n\t\t\t\tsearchTerm\n\t\t\t),\n\t\t\t{ mark: <mark /> }\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\t{ ...itemProps }\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-link-control__search-create block-editor-link-control__search-item',\n\t\t\t\t{\n\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t}\n\t\t\t) }\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t<Icon\n\t\t\t\tclassName=\"block-editor-link-control__search-item-icon\"\n\t\t\t\ticon={ plus }\n\t\t\t/>\n\n\t\t\t<span className=\"block-editor-link-control__search-item-header\">\n\t\t\t\t<span className=\"block-editor-link-control__search-item-title\">\n\t\t\t\t\t{ text }\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</Button>\n\t);\n};\n\nexport default LinkControlSearchCreate;\n"]}
|
|
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* External dependencies
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { omit } from 'lodash';
|
|
7
7
|
import classnames from 'classnames';
|
|
8
8
|
/**
|
|
9
9
|
* WordPress dependencies
|
|
@@ -25,6 +25,8 @@ import useSearchHandler from './use-search-handler'; // Must be a function as ot
|
|
|
25
25
|
|
|
26
26
|
const noopSearchHandler = () => Promise.resolve([]);
|
|
27
27
|
|
|
28
|
+
const noop = () => {};
|
|
29
|
+
|
|
28
30
|
const LinkControlSearchInput = forwardRef((_ref, ref) => {
|
|
29
31
|
let {
|
|
30
32
|
value,
|