@wordpress/block-editor 8.1.1 → 8.2.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 +10 -0
- package/README.md +0 -24
- package/build/components/block-list/block.js +16 -2
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +1 -1
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +3 -0
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-multi-selection.js +25 -27
- package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build/components/block-settings/container.native.js +1 -5
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/index.js +9 -0
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +9 -0
- package/build/components/index.native.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +3 -3
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +19 -7
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/search-results.js +28 -11
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/line-height-control/index.js +61 -43
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/list-view/block-contents.js +8 -4
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +0 -1
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +19 -8
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +2 -1
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +49 -41
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +139 -0
- package/build/components/list-view/use-block-selection.js.map +1 -0
- package/build/components/list-view/use-list-view-expand-selected-item.js +60 -0
- package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -0
- package/build/components/list-view/utils.js +29 -1
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/rich-text/index.js +7 -12
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +0 -1
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/writing-flow/index.js +1 -0
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-multi-selection.js +22 -24
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/components/writing-flow/use-select-all.js +3 -2
- package/build/components/writing-flow/use-select-all.js.map +1 -1
- package/build/hooks/custom-class-name.js +40 -0
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/line-height.js +2 -0
- package/build/hooks/line-height.js.map +1 -1
- package/build/hooks/style.js +27 -11
- package/build/hooks/style.js.map +1 -1
- package/build/layouts/flow.js +7 -5
- package/build/layouts/flow.js.map +1 -1
- package/build/store/actions.js +51 -44
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +1 -0
- package/build/store/defaults.js.map +1 -1
- package/build/store/index.js +1 -2
- package/build/store/index.js.map +1 -1
- package/build/store/reducer.js +2 -2
- package/build/store/reducer.js.map +1 -1
- package/build/utils/index.js +0 -14
- package/build/utils/index.js.map +1 -1
- package/build-module/components/block-list/block.js +17 -3
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +2 -2
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +2 -0
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-multi-selection.js +23 -28
- package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +2 -6
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +1 -0
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +3 -3
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +19 -7
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/search-results.js +28 -11
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/line-height-control/index.js +59 -43
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +8 -4
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +0 -1
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +19 -8
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +2 -1
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +46 -42
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +123 -0
- package/build-module/components/list-view/use-block-selection.js.map +1 -0
- package/build-module/components/list-view/use-list-view-expand-selected-item.js +50 -0
- package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -0
- package/build-module/components/list-view/utils.js +25 -0
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/rich-text/index.js +7 -12
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +0 -1
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/writing-flow/index.js +1 -0
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-multi-selection.js +21 -21
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-select-all.js +3 -2
- package/build-module/components/writing-flow/use-select-all.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +38 -0
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/line-height.js +2 -0
- package/build-module/hooks/line-height.js.map +1 -1
- package/build-module/hooks/style.js +26 -11
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/layouts/flow.js +7 -5
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/store/actions.js +48 -41
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +1 -0
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/index.js +1 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/reducer.js +2 -2
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/utils/index.js +0 -1
- package/build-module/utils/index.js.map +1 -1
- package/build-style/style-rtl.css +3 -12
- package/build-style/style.css +3 -12
- package/package.json +12 -11
- package/src/components/block-list/block.js +27 -3
- package/src/components/block-list/block.native.js +2 -1
- package/src/components/block-list/style.scss +3 -1
- package/src/components/block-list/use-block-props/use-focus-first-element.js +3 -0
- package/src/components/block-list/use-block-props/use-multi-selection.js +22 -30
- package/src/components/block-settings/container.native.js +5 -6
- package/src/components/index.js +1 -0
- package/src/components/index.native.js +1 -0
- package/src/components/inserter/block-patterns-tab.js +12 -16
- package/src/components/inserter/quick-inserter.js +31 -9
- package/src/components/inserter/search-results.js +54 -42
- package/src/components/line-height-control/README.md +13 -2
- package/src/components/line-height-control/index.js +63 -40
- package/src/components/line-height-control/stories/index.js +33 -0
- package/src/components/line-height-control/test/index.js +61 -0
- package/src/components/list-view/README.md +2 -2
- package/src/components/list-view/block-contents.js +10 -3
- package/src/components/list-view/block-select-button.js +0 -1
- package/src/components/list-view/block.js +29 -9
- package/src/components/list-view/branch.js +1 -0
- package/src/components/list-view/index.js +56 -30
- package/src/components/list-view/test/utils.js +50 -0
- package/src/components/list-view/use-block-selection.js +163 -0
- package/src/components/list-view/use-list-view-expand-selected-item.js +58 -0
- package/src/components/list-view/utils.js +31 -0
- package/src/components/rich-text/index.js +7 -14
- package/src/components/rich-text/use-paste-handler.js +0 -1
- package/src/components/writing-flow/index.js +1 -0
- package/src/components/writing-flow/use-multi-selection.js +17 -20
- package/src/components/writing-flow/use-select-all.js +6 -2
- package/src/hooks/custom-class-name.js +45 -0
- package/src/hooks/line-height.js +2 -0
- package/src/hooks/style.js +26 -11
- package/src/hooks/typography.scss +0 -4
- package/src/layouts/flow.js +10 -5
- package/src/store/actions.js +20 -10
- package/src/store/defaults.js +1 -0
- package/src/store/index.js +0 -1
- package/src/store/reducer.js +2 -1
- package/src/store/test/actions.js +1 -1
- package/src/store/test/reducer.js +9 -0
- package/src/style.scss +0 -1
- package/src/utils/index.js +0 -1
- package/build/utils/theme.js +0 -63
- package/build/utils/theme.js.map +0 -1
- package/build-module/utils/theme.js +0 -53
- package/build-module/utils/theme.js.map +0 -1
- package/src/components/line-height-control/style.scss +0 -8
- package/src/components/writing-flow/test/use-multi-selection.js +0 -36
- package/src/utils/theme.js +0 -48
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA","sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalBlockContentOverlay } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockStyles } from './block-styles';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport { default as __experimentalBorderStyleControl } from './border-style-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalToolsPanelColorDropdown } from './colors-gradients/tools-panel-color-dropdown';\nexport {\n\tdefault as __experimentalImageEditor,\n\tImageEditingProvider as __experimentalImageEditingProvider,\n} from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as ToolSelector } from './tool-selector';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\n\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { LayoutStyle as __experimentalLayoutStyle } from './block-list/layout';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\tuseClipboardHandler as __unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport { default as __experimentalUseNoRecursiveRenders } from './use-no-recursive-renders';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\n"]}
|
|
@@ -49,6 +49,7 @@ var _exportNames = {
|
|
|
49
49
|
__experimentalUseNoRecursiveRenders: true,
|
|
50
50
|
Warning: true,
|
|
51
51
|
ContrastChecker: true,
|
|
52
|
+
useMultipleOriginColorsAndGradients: true,
|
|
52
53
|
BottomSheetSettings: true,
|
|
53
54
|
BlockSettingsButton: true,
|
|
54
55
|
blockSettingsScreens: true,
|
|
@@ -414,6 +415,12 @@ Object.defineProperty(exports, "useInnerBlocksProps", {
|
|
|
414
415
|
return _innerBlocks.useInnerBlocksProps;
|
|
415
416
|
}
|
|
416
417
|
});
|
|
418
|
+
Object.defineProperty(exports, "useMultipleOriginColorsAndGradients", {
|
|
419
|
+
enumerable: true,
|
|
420
|
+
get: function () {
|
|
421
|
+
return _useMultipleOriginColorsAndGradients.default;
|
|
422
|
+
}
|
|
423
|
+
});
|
|
417
424
|
Object.defineProperty(exports, "useSetting", {
|
|
418
425
|
enumerable: true,
|
|
419
426
|
get: function () {
|
|
@@ -519,6 +526,8 @@ var _warning = _interopRequireDefault(require("./warning"));
|
|
|
519
526
|
|
|
520
527
|
var _contrastChecker = _interopRequireDefault(require("./contrast-checker"));
|
|
521
528
|
|
|
529
|
+
var _useMultipleOriginColorsAndGradients = _interopRequireDefault(require("./colors-gradients/use-multiple-origin-colors-and-gradients"));
|
|
530
|
+
|
|
522
531
|
var _blockSettings = require("./block-settings");
|
|
523
532
|
|
|
524
533
|
var _videoPlayer = _interopRequireWildcard(require("./video-player"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/index.native.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/index.native.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAIA;;AACA;;AAIA;;AACA;;AACA;;AAIA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAOA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAKA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA","sourcesContent":["// Block Creation Components\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as PlainText } from './plain-text';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport {\n\tdefault as MediaUpload,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n} from './media-upload';\nexport { default as MediaUploadProgress } from './media-upload-progress';\nexport { default as BlockMediaUpdateProgress } from './block-media-update-progress';\nexport { default as URLInput } from './url-input';\nexport { default as BlockInvalidWarning } from './block-list/block-invalid-warning';\nexport { default as BlockCaption } from './block-caption';\nexport { default as Caption } from './caption';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as useSetting } from './use-setting';\nexport { default as __experimentalUseNoRecursiveRenders } from './use-no-recursive-renders';\nexport { default as Warning } from './warning';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\n\nexport {\n\tBottomSheetSettings,\n\tBlockSettingsButton,\n\tblockSettingsScreens,\n} from './block-settings';\nexport { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';\n\n// Content Related Components\nexport { default as BlockList } from './block-list';\nexport { default as BlockMover } from './block-mover';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockVariationPicker } from './block-variation-picker';\nexport { default as BlockStyles } from './block-styles';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as FloatingToolbar } from './floating-toolbar';\n\n// State Related Components\nexport { default as BlockEditorProvider } from './provider';\n"]}
|
|
@@ -128,17 +128,17 @@ function BlockPatternsTabs(_ref3) {
|
|
|
128
128
|
return categories;
|
|
129
129
|
}, [allPatterns, allCategories]);
|
|
130
130
|
const patternCategory = selectedCategory ? selectedCategory : populatedCategories[0];
|
|
131
|
-
return (0, _element.createElement)(_element.Fragment, null,
|
|
131
|
+
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_patternPanel.default, {
|
|
132
132
|
selectedCategory: patternCategory,
|
|
133
133
|
patternCategories: populatedCategories,
|
|
134
134
|
onClickCategory: onClickCategory,
|
|
135
135
|
openPatternExplorer: () => setShowPatternsExplorer(true)
|
|
136
|
-
}), (0, _element.createElement)(BlockPatternsCategory, {
|
|
136
|
+
}), !showPatternsExplorer && (0, _element.createElement)(BlockPatternsCategory, {
|
|
137
137
|
rootClientId: rootClientId,
|
|
138
138
|
onInsert: onInsert,
|
|
139
139
|
selectedCategory: patternCategory,
|
|
140
140
|
populatedCategories: populatedCategories
|
|
141
|
-
})
|
|
141
|
+
}), showPatternsExplorer && (0, _element.createElement)(_explorer.default, {
|
|
142
142
|
initialCategory: patternCategory,
|
|
143
143
|
patternCategories: populatedCategories,
|
|
144
144
|
onModalClose: () => setShowPatternsExplorer(false)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab.js"],"names":["BlockPatternsCategory","rootClientId","onInsert","selectedCategory","populatedCategories","allPatterns","onClick","getPatternIndex","pattern","categories","length","Infinity","indexedCategories","reduce","accumulator","index","name","Math","min","map","cat","undefined","currentCategoryPatterns","filter","includes","orderedPatterns","sort","a","b","currentShownPatterns","label","BlockPatternsTabs","onClickCategory","showPatternsExplorer","setShowPatternsExplorer","allCategories","hasRegisteredCategory","some","category","currentName","nextName","find","push","patternCategory"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab.js"],"names":["BlockPatternsCategory","rootClientId","onInsert","selectedCategory","populatedCategories","allPatterns","onClick","getPatternIndex","pattern","categories","length","Infinity","indexedCategories","reduce","accumulator","index","name","Math","min","map","cat","undefined","currentCategoryPatterns","filter","includes","orderedPatterns","sort","a","b","currentShownPatterns","label","BlockPatternsTabs","onClickCategory","showPatternsExplorer","setShowPatternsExplorer","allCategories","hasRegisteredCategory","some","category","currentName","nextName","find","push","patternCategory"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState, useCallback } from '@wordpress/element';\nimport { _x } from '@wordpress/i18n';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternInserterPanel from './pattern-panel';\nimport usePatternsState from './hooks/use-patterns-state';\nimport BlockPatternList from '../block-patterns-list';\nimport PatternsExplorerModal from './block-patterns-explorer/explorer';\n\nfunction BlockPatternsCategory( {\n\trootClientId,\n\tonInsert,\n\tselectedCategory,\n\tpopulatedCategories,\n} ) {\n\tconst [ allPatterns, , onClick ] = usePatternsState(\n\t\tonInsert,\n\t\trootClientId\n\t);\n\n\tconst getPatternIndex = useCallback(\n\t\t( pattern ) => {\n\t\t\tif ( ! pattern.categories?.length ) {\n\t\t\t\treturn Infinity;\n\t\t\t}\n\t\t\tconst indexedCategories = populatedCategories.reduce(\n\t\t\t\t( accumulator, { name }, index ) => {\n\t\t\t\t\taccumulator[ name ] = index;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t\treturn Math.min(\n\t\t\t\t...pattern.categories.map( ( cat ) =>\n\t\t\t\t\tindexedCategories[ cat ] !== undefined\n\t\t\t\t\t\t? indexedCategories[ cat ]\n\t\t\t\t\t\t: Infinity\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[ populatedCategories ]\n\t);\n\n\tconst currentCategoryPatterns = useMemo(\n\t\t() =>\n\t\t\tallPatterns.filter( ( pattern ) =>\n\t\t\t\tselectedCategory.name === 'uncategorized'\n\t\t\t\t\t? getPatternIndex( pattern ) === Infinity\n\t\t\t\t\t: pattern.categories?.includes( selectedCategory.name )\n\t\t\t),\n\t\t[ allPatterns, selectedCategory ]\n\t);\n\n\t// Ordering the patterns is important for the async rendering.\n\tconst orderedPatterns = useMemo( () => {\n\t\treturn currentCategoryPatterns.sort( ( a, b ) => {\n\t\t\treturn getPatternIndex( a ) - getPatternIndex( b );\n\t\t} );\n\t}, [ currentCategoryPatterns, getPatternIndex ] );\n\n\tconst currentShownPatterns = useAsyncList( orderedPatterns );\n\n\tif ( ! currentCategoryPatterns.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"block-editor-inserter__panel-content\">\n\t\t\t<BlockPatternList\n\t\t\t\tshownPatterns={ currentShownPatterns }\n\t\t\t\tblockPatterns={ currentCategoryPatterns }\n\t\t\t\tonClickPattern={ onClick }\n\t\t\t\tlabel={ selectedCategory.label }\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tisDraggable\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsTabs( {\n\trootClientId,\n\tonInsert,\n\tonClickCategory,\n\tselectedCategory,\n} ) {\n\tconst [ showPatternsExplorer, setShowPatternsExplorer ] = useState( false );\n\tconst [ allPatterns, allCategories ] = usePatternsState();\n\n\tconst hasRegisteredCategory = useCallback(\n\t\t( pattern ) => {\n\t\t\tif ( ! pattern.categories || ! pattern.categories.length ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn pattern.categories.some( ( cat ) =>\n\t\t\t\tallCategories.some( ( category ) => category.name === cat )\n\t\t\t);\n\t\t},\n\t\t[ allCategories ]\n\t);\n\n\t// Remove any empty categories\n\tconst populatedCategories = useMemo( () => {\n\t\tconst categories = allCategories\n\t\t\t.filter( ( category ) =>\n\t\t\t\tallPatterns.some( ( pattern ) =>\n\t\t\t\t\tpattern.categories?.includes( category.name )\n\t\t\t\t)\n\t\t\t)\n\t\t\t.sort( ( { name: currentName }, { name: nextName } ) => {\n\t\t\t\tif ( ! [ currentName, nextName ].includes( 'featured' ) ) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\treturn currentName === 'featured' ? -1 : 1;\n\t\t\t} );\n\n\t\tif (\n\t\t\tallPatterns.some(\n\t\t\t\t( pattern ) => ! hasRegisteredCategory( pattern )\n\t\t\t) &&\n\t\t\t! categories.find(\n\t\t\t\t( category ) => category.name === 'uncategorized'\n\t\t\t)\n\t\t) {\n\t\t\tcategories.push( {\n\t\t\t\tname: 'uncategorized',\n\t\t\t\tlabel: _x( 'Uncategorized' ),\n\t\t\t} );\n\t\t}\n\n\t\treturn categories;\n\t}, [ allPatterns, allCategories ] );\n\n\tconst patternCategory = selectedCategory\n\t\t? selectedCategory\n\t\t: populatedCategories[ 0 ];\n\n\treturn (\n\t\t<>\n\t\t\t<PatternInserterPanel\n\t\t\t\tselectedCategory={ patternCategory }\n\t\t\t\tpatternCategories={ populatedCategories }\n\t\t\t\tonClickCategory={ onClickCategory }\n\t\t\t\topenPatternExplorer={ () => setShowPatternsExplorer( true ) }\n\t\t\t/>\n\t\t\t{ ! showPatternsExplorer && (\n\t\t\t\t<BlockPatternsCategory\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\tselectedCategory={ patternCategory }\n\t\t\t\t\tpopulatedCategories={ populatedCategories }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showPatternsExplorer && (\n\t\t\t\t<PatternsExplorerModal\n\t\t\t\t\tinitialCategory={ patternCategory }\n\t\t\t\t\tpatternCategories={ populatedCategories }\n\t\t\t\t\tonModalClose={ () => setShowPatternsExplorer( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default BlockPatternsTabs;\n"]}
|
|
@@ -41,6 +41,7 @@ var _store = require("../../store");
|
|
|
41
41
|
const SEARCH_THRESHOLD = 6;
|
|
42
42
|
const SHOWN_BLOCK_TYPES = 6;
|
|
43
43
|
const SHOWN_BLOCK_PATTERNS = 2;
|
|
44
|
+
const SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION = 4;
|
|
44
45
|
|
|
45
46
|
function QuickInserter(_ref) {
|
|
46
47
|
let {
|
|
@@ -58,23 +59,27 @@ function QuickInserter(_ref) {
|
|
|
58
59
|
});
|
|
59
60
|
const [blockTypes] = (0, _useBlockTypesState.default)(destinationRootClientId, onInsertBlocks);
|
|
60
61
|
const [patterns] = (0, _usePatternsState.default)(onInsertBlocks, destinationRootClientId);
|
|
61
|
-
const showPatterns = patterns.length && !!filterValue;
|
|
62
|
-
const showSearch = showPatterns && patterns.length > SEARCH_THRESHOLD || blockTypes.length > SEARCH_THRESHOLD;
|
|
63
62
|
const {
|
|
64
63
|
setInserterIsOpened,
|
|
65
|
-
insertionIndex
|
|
64
|
+
insertionIndex,
|
|
65
|
+
prioritizePatterns
|
|
66
66
|
} = (0, _data.useSelect)(select => {
|
|
67
67
|
const {
|
|
68
68
|
getSettings,
|
|
69
69
|
getBlockIndex,
|
|
70
70
|
getBlockCount
|
|
71
71
|
} = select(_store.store);
|
|
72
|
+
const settings = getSettings();
|
|
72
73
|
const index = getBlockIndex(clientId);
|
|
74
|
+
const blockCount = getBlockCount();
|
|
73
75
|
return {
|
|
74
|
-
setInserterIsOpened:
|
|
75
|
-
|
|
76
|
+
setInserterIsOpened: settings.__experimentalSetIsInserterOpened,
|
|
77
|
+
prioritizePatterns: settings.__experimentalPreferPatternsOnRoot && !rootClientId && index > 0 && (index < blockCount || blockCount === 0),
|
|
78
|
+
insertionIndex: index === -1 ? blockCount : index
|
|
76
79
|
};
|
|
77
80
|
}, [clientId, rootClientId]);
|
|
81
|
+
const showPatterns = patterns.length && (!!filterValue || prioritizePatterns);
|
|
82
|
+
const showSearch = showPatterns && patterns.length > SEARCH_THRESHOLD || blockTypes.length > SEARCH_THRESHOLD;
|
|
78
83
|
(0, _element.useEffect)(() => {
|
|
79
84
|
if (setInserterIsOpened) {
|
|
80
85
|
setInserterIsOpened(false);
|
|
@@ -90,6 +95,12 @@ function QuickInserter(_ref) {
|
|
|
90
95
|
});
|
|
91
96
|
};
|
|
92
97
|
|
|
98
|
+
let maxBlockPatterns = 0;
|
|
99
|
+
|
|
100
|
+
if (showPatterns) {
|
|
101
|
+
maxBlockPatterns = prioritizePatterns ? SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION : SHOWN_BLOCK_PATTERNS;
|
|
102
|
+
}
|
|
103
|
+
|
|
93
104
|
return (0, _element.createElement)("div", {
|
|
94
105
|
className: (0, _classnames.default)('block-editor-inserter__quick-inserter', {
|
|
95
106
|
'has-search': showSearch,
|
|
@@ -111,9 +122,10 @@ function QuickInserter(_ref) {
|
|
|
111
122
|
rootClientId: rootClientId,
|
|
112
123
|
clientId: clientId,
|
|
113
124
|
isAppender: isAppender,
|
|
114
|
-
maxBlockPatterns:
|
|
125
|
+
maxBlockPatterns: maxBlockPatterns,
|
|
115
126
|
maxBlockTypes: SHOWN_BLOCK_TYPES,
|
|
116
|
-
isDraggable: false
|
|
127
|
+
isDraggable: false,
|
|
128
|
+
prioritizePatterns: prioritizePatterns
|
|
117
129
|
})), setInserterIsOpened && (0, _element.createElement)(_components.Button, {
|
|
118
130
|
className: "block-editor-inserter__quick-inserter-expand",
|
|
119
131
|
onClick: onBrowseAll,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/quick-inserter.js"],"names":["SEARCH_THRESHOLD","SHOWN_BLOCK_TYPES","SHOWN_BLOCK_PATTERNS","QuickInserter","onSelect","rootClientId","clientId","isAppender","filterValue","setFilterValue","destinationRootClientId","onInsertBlocks","blockTypes","patterns","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/quick-inserter.js"],"names":["SEARCH_THRESHOLD","SHOWN_BLOCK_TYPES","SHOWN_BLOCK_PATTERNS","SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION","QuickInserter","onSelect","rootClientId","clientId","isAppender","filterValue","setFilterValue","destinationRootClientId","onInsertBlocks","blockTypes","patterns","setInserterIsOpened","insertionIndex","prioritizePatterns","select","getSettings","getBlockIndex","getBlockCount","blockEditorStore","settings","index","blockCount","__experimentalSetIsInserterOpened","__experimentalPreferPatternsOnRoot","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} ) {\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 {\n\t\tsetInserterIsOpened,\n\t\tinsertionIndex,\n\t\tprioritizePatterns,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getBlockIndex, getBlockCount } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\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\tprioritizePatterns:\n\t\t\t\t\tsettings.__experimentalPreferPatternsOnRoot &&\n\t\t\t\t\t! rootClientId &&\n\t\t\t\t\tindex > 0 &&\n\t\t\t\t\t( index < blockCount || blockCount === 0 ),\n\t\t\t\tinsertionIndex: index === -1 ? blockCount : index,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\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"]}
|
|
@@ -73,7 +73,8 @@ function InserterSearchResults(_ref) {
|
|
|
73
73
|
maxBlockTypes,
|
|
74
74
|
showBlockDirectory = false,
|
|
75
75
|
isDraggable = true,
|
|
76
|
-
shouldFocusBlock = true
|
|
76
|
+
shouldFocusBlock = true,
|
|
77
|
+
prioritizePatterns
|
|
77
78
|
} = _ref;
|
|
78
79
|
const debouncedSpeak = (0, _compose.useDebounce)(_a11y.speak, 500);
|
|
79
80
|
const [destinationRootClientId, onInsertBlocks] = (0, _useInsertionPoint.default)({
|
|
@@ -86,14 +87,28 @@ function InserterSearchResults(_ref) {
|
|
|
86
87
|
});
|
|
87
88
|
const [blockTypes, blockTypeCategories, blockTypeCollections, onSelectBlockType] = (0, _useBlockTypesState.default)(destinationRootClientId, onInsertBlocks);
|
|
88
89
|
const [patterns,, onSelectBlockPattern] = (0, _usePatternsState.default)(onInsertBlocks, destinationRootClientId);
|
|
89
|
-
const filteredBlockTypes = (0, _element.useMemo)(() => {
|
|
90
|
-
const results = (0, _searchItems.searchBlockItems)((0, _lodash.orderBy)(blockTypes, ['frecency'], ['desc']), blockTypeCategories, blockTypeCollections, filterValue);
|
|
91
|
-
return maxBlockTypes !== undefined ? results.slice(0, maxBlockTypes) : results;
|
|
92
|
-
}, [filterValue, blockTypes, blockTypeCategories, blockTypeCollections, maxBlockTypes]);
|
|
93
90
|
const filteredBlockPatterns = (0, _element.useMemo)(() => {
|
|
91
|
+
if (maxBlockPatterns === 0) {
|
|
92
|
+
return [];
|
|
93
|
+
}
|
|
94
|
+
|
|
94
95
|
const results = (0, _searchItems.searchItems)(patterns, filterValue);
|
|
95
96
|
return maxBlockPatterns !== undefined ? results.slice(0, maxBlockPatterns) : results;
|
|
96
|
-
}, [filterValue, patterns, maxBlockPatterns]);
|
|
97
|
+
}, [filterValue, patterns, maxBlockPatterns]);
|
|
98
|
+
let maxBlockTypesToShow = maxBlockTypes;
|
|
99
|
+
|
|
100
|
+
if (prioritizePatterns && filteredBlockPatterns.length > 2) {
|
|
101
|
+
maxBlockTypesToShow = 0;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const filteredBlockTypes = (0, _element.useMemo)(() => {
|
|
105
|
+
if (maxBlockTypesToShow === 0) {
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const results = (0, _searchItems.searchBlockItems)((0, _lodash.orderBy)(blockTypes, ['frecency'], ['desc']), blockTypeCategories, blockTypeCollections, filterValue);
|
|
110
|
+
return maxBlockTypesToShow !== undefined ? results.slice(0, maxBlockTypesToShow) : results;
|
|
111
|
+
}, [filterValue, blockTypes, blockTypeCategories, blockTypeCollections, maxBlockTypes]); // Announce search results on change
|
|
97
112
|
|
|
98
113
|
(0, _element.useEffect)(() => {
|
|
99
114
|
if (!filterValue) {
|
|
@@ -111,7 +126,7 @@ function InserterSearchResults(_ref) {
|
|
|
111
126
|
});
|
|
112
127
|
const currentShownPatterns = (0, _compose.useAsyncList)(currentShownBlockTypes.length === filteredBlockTypes.length ? filteredBlockPatterns : EMPTY_ARRAY);
|
|
113
128
|
const hasItems = !(0, _lodash.isEmpty)(filteredBlockTypes) || !(0, _lodash.isEmpty)(filteredBlockPatterns);
|
|
114
|
-
|
|
129
|
+
const blocksUI = !!filteredBlockTypes.length && (0, _element.createElement)(_panel.default, {
|
|
115
130
|
title: (0, _element.createElement)(_components.VisuallyHidden, null, (0, _i18n.__)('Blocks'))
|
|
116
131
|
}, (0, _element.createElement)(_blockTypesList.default, {
|
|
117
132
|
items: currentShownBlockTypes,
|
|
@@ -119,9 +134,8 @@ function InserterSearchResults(_ref) {
|
|
|
119
134
|
onHover: onHover,
|
|
120
135
|
label: (0, _i18n.__)('Blocks'),
|
|
121
136
|
isDraggable: isDraggable
|
|
122
|
-
}))
|
|
123
|
-
|
|
124
|
-
}), !!filteredBlockPatterns.length && (0, _element.createElement)(_panel.default, {
|
|
137
|
+
}));
|
|
138
|
+
const patternsUI = !!filteredBlockPatterns.length && (0, _element.createElement)(_panel.default, {
|
|
125
139
|
title: (0, _element.createElement)(_components.VisuallyHidden, null, (0, _i18n.__)('Block Patterns'))
|
|
126
140
|
}, (0, _element.createElement)("div", {
|
|
127
141
|
className: "block-editor-inserter__quick-inserter-patterns"
|
|
@@ -130,7 +144,10 @@ function InserterSearchResults(_ref) {
|
|
|
130
144
|
blockPatterns: filteredBlockPatterns,
|
|
131
145
|
onClickPattern: onSelectBlockPattern,
|
|
132
146
|
isDraggable: isDraggable
|
|
133
|
-
})))
|
|
147
|
+
})));
|
|
148
|
+
return (0, _element.createElement)(_inserterListbox.default, null, !showBlockDirectory && !hasItems && (0, _element.createElement)(_noResults.default, null), prioritizePatterns ? patternsUI : blocksUI, !!filteredBlockTypes.length && !!filteredBlockPatterns.length && (0, _element.createElement)("div", {
|
|
149
|
+
className: "block-editor-inserter__quick-inserter-separator"
|
|
150
|
+
}), prioritizePatterns ? blocksUI : patternsUI, showBlockDirectory && (0, _element.createElement)(_inserterMenuExtension.default.Slot, {
|
|
134
151
|
fillProps: {
|
|
135
152
|
onSelect: onSelectBlockType,
|
|
136
153
|
onHover,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/search-results.js"],"names":["INITIAL_INSERTER_RESULTS","EMPTY_ARRAY","InserterSearchResults","filterValue","onSelect","onHover","rootClientId","clientId","isAppender","__experimentalInsertionIndex","maxBlockPatterns","maxBlockTypes","showBlockDirectory","isDraggable","shouldFocusBlock","debouncedSpeak","speak","destinationRootClientId","onInsertBlocks","insertionIndex","blockTypes","blockTypeCategories","blockTypeCollections","onSelectBlockType","patterns","onSelectBlockPattern","filteredBlockTypes","results","undefined","slice","filteredBlockPatterns","count","length","resultsFoundMessage","currentShownBlockTypes","step","currentShownPatterns","hasItems","fills"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { orderBy, isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { VisuallyHidden } from '@wordpress/components';\nimport { useDebounce, useAsyncList } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport BlockPatternsList from '../block-patterns-list';\nimport __unstableInserterMenuExtension from '../inserter-menu-extension';\nimport InserterPanel from './panel';\nimport InserterNoResults from './no-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { searchBlockItems, searchItems } from './search-items';\nimport InserterListbox from '../inserter-listbox';\n\nconst INITIAL_INSERTER_RESULTS = 9;\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation and rerendering the component.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nfunction InserterSearchResults( {\n\tfilterValue,\n\tonSelect,\n\tonHover,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\t__experimentalInsertionIndex,\n\tmaxBlockPatterns,\n\tmaxBlockTypes,\n\tshowBlockDirectory = false,\n\tisDraggable = true,\n\tshouldFocusBlock = true,\n} ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\tshouldFocusBlock,\n\t} );\n\tconst [\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tonSelectBlockType,\n\t] = useBlockTypesState( destinationRootClientId, onInsertBlocks );\n\tconst [ patterns, , onSelectBlockPattern ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst filteredBlockTypes = useMemo( () => {\n\t\tconst results = searchBlockItems(\n\t\t\torderBy( blockTypes, [ 'frecency' ], [ 'desc' ] ),\n\t\t\tblockTypeCategories,\n\t\t\tblockTypeCollections,\n\t\t\tfilterValue\n\t\t);\n\n\t\treturn maxBlockTypes !== undefined\n\t\t\t? results.slice( 0, maxBlockTypes )\n\t\t\t: results;\n\t}, [\n\t\tfilterValue,\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tmaxBlockTypes,\n\t] );\n\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\tconst results = searchItems( patterns, filterValue );\n\t\treturn maxBlockPatterns !== undefined\n\t\t\t? results.slice( 0, maxBlockPatterns )\n\t\t\t: results;\n\t}, [ filterValue, patterns, maxBlockPatterns ] );\n\n\t// Announce search results on change\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\tconst count = filteredBlockTypes.length + filteredBlockPatterns.length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t}, [ filterValue, debouncedSpeak ] );\n\n\tconst currentShownBlockTypes = useAsyncList( filteredBlockTypes, {\n\t\tstep: INITIAL_INSERTER_RESULTS,\n\t} );\n\tconst currentShownPatterns = useAsyncList(\n\t\tcurrentShownBlockTypes.length === filteredBlockTypes.length\n\t\t\t? filteredBlockPatterns\n\t\t\t: EMPTY_ARRAY\n\t);\n\n\tconst hasItems =\n\t\t! isEmpty( filteredBlockTypes ) || ! isEmpty( filteredBlockPatterns );\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t{ ! showBlockDirectory && ! hasItems && <InserterNoResults /> }\n\n\t\t\t{ !! filteredBlockTypes.length && (\n\t\t\t\t<InserterPanel\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t<VisuallyHidden>{ __( 'Blocks' ) }</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\titems={ currentShownBlockTypes }\n\t\t\t\t\t\tonSelect={ onSelectBlockType }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tlabel={ __( 'Blocks' ) }\n\t\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t\t/>\n\t\t\t\t</InserterPanel>\n\t\t\t) }\n\n\t\t\t{ !! filteredBlockTypes.length &&\n\t\t\t\t!! filteredBlockPatterns.length && (\n\t\t\t\t\t<div className=\"block-editor-inserter__quick-inserter-separator\" />\n\t\t\t\t) }\n\n\t\t\t{ !! filteredBlockPatterns.length && (\n\t\t\t\t<InserterPanel\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t{ __( 'Block Patterns' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"block-editor-inserter__quick-inserter-patterns\">\n\t\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\t\tshownPatterns={ currentShownPatterns }\n\t\t\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\t\t\tonClickPattern={ onSelectBlockPattern }\n\t\t\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</InserterPanel>\n\t\t\t) }\n\n\t\t\t{ showBlockDirectory && (\n\t\t\t\t<__unstableInserterMenuExtension.Slot\n\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\tonSelect: onSelectBlockType,\n\t\t\t\t\t\tonHover,\n\t\t\t\t\t\tfilterValue,\n\t\t\t\t\t\thasItems,\n\t\t\t\t\t\trootClientId: destinationRootClientId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ ( fills ) => {\n\t\t\t\t\t\tif ( fills.length ) {\n\t\t\t\t\t\t\treturn fills;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( ! hasItems ) {\n\t\t\t\t\t\t\treturn <InserterNoResults />;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t} }\n\t\t\t\t</__unstableInserterMenuExtension.Slot>\n\t\t\t) }\n\t\t</InserterListbox>\n\t);\n}\n\nexport default InserterSearchResults;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/search-results.js"],"names":["INITIAL_INSERTER_RESULTS","EMPTY_ARRAY","InserterSearchResults","filterValue","onSelect","onHover","rootClientId","clientId","isAppender","__experimentalInsertionIndex","maxBlockPatterns","maxBlockTypes","showBlockDirectory","isDraggable","shouldFocusBlock","prioritizePatterns","debouncedSpeak","speak","destinationRootClientId","onInsertBlocks","insertionIndex","blockTypes","blockTypeCategories","blockTypeCollections","onSelectBlockType","patterns","onSelectBlockPattern","filteredBlockPatterns","results","undefined","slice","maxBlockTypesToShow","length","filteredBlockTypes","count","resultsFoundMessage","currentShownBlockTypes","step","currentShownPatterns","hasItems","blocksUI","patternsUI","fills"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { orderBy, isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { VisuallyHidden } from '@wordpress/components';\nimport { useDebounce, useAsyncList } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport BlockPatternsList from '../block-patterns-list';\nimport __unstableInserterMenuExtension from '../inserter-menu-extension';\nimport InserterPanel from './panel';\nimport InserterNoResults from './no-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { searchBlockItems, searchItems } from './search-items';\nimport InserterListbox from '../inserter-listbox';\n\nconst INITIAL_INSERTER_RESULTS = 9;\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation and rerendering the component.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nfunction InserterSearchResults( {\n\tfilterValue,\n\tonSelect,\n\tonHover,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\t__experimentalInsertionIndex,\n\tmaxBlockPatterns,\n\tmaxBlockTypes,\n\tshowBlockDirectory = false,\n\tisDraggable = true,\n\tshouldFocusBlock = true,\n\tprioritizePatterns,\n} ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\tshouldFocusBlock,\n\t} );\n\tconst [\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tonSelectBlockType,\n\t] = useBlockTypesState( destinationRootClientId, onInsertBlocks );\n\tconst [ patterns, , onSelectBlockPattern ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\tif ( maxBlockPatterns === 0 ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst results = searchItems( patterns, filterValue );\n\t\treturn maxBlockPatterns !== undefined\n\t\t\t? results.slice( 0, maxBlockPatterns )\n\t\t\t: results;\n\t}, [ filterValue, patterns, maxBlockPatterns ] );\n\n\tlet maxBlockTypesToShow = maxBlockTypes;\n\tif ( prioritizePatterns && filteredBlockPatterns.length > 2 ) {\n\t\tmaxBlockTypesToShow = 0;\n\t}\n\n\tconst filteredBlockTypes = useMemo( () => {\n\t\tif ( maxBlockTypesToShow === 0 ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst results = searchBlockItems(\n\t\t\torderBy( blockTypes, [ 'frecency' ], [ 'desc' ] ),\n\t\t\tblockTypeCategories,\n\t\t\tblockTypeCollections,\n\t\t\tfilterValue\n\t\t);\n\n\t\treturn maxBlockTypesToShow !== undefined\n\t\t\t? results.slice( 0, maxBlockTypesToShow )\n\t\t\t: results;\n\t}, [\n\t\tfilterValue,\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tmaxBlockTypes,\n\t] );\n\n\t// Announce search results on change\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\tconst count = filteredBlockTypes.length + filteredBlockPatterns.length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t}, [ filterValue, debouncedSpeak ] );\n\n\tconst currentShownBlockTypes = useAsyncList( filteredBlockTypes, {\n\t\tstep: INITIAL_INSERTER_RESULTS,\n\t} );\n\tconst currentShownPatterns = useAsyncList(\n\t\tcurrentShownBlockTypes.length === filteredBlockTypes.length\n\t\t\t? filteredBlockPatterns\n\t\t\t: EMPTY_ARRAY\n\t);\n\n\tconst hasItems =\n\t\t! isEmpty( filteredBlockTypes ) || ! isEmpty( filteredBlockPatterns );\n\n\tconst blocksUI = !! filteredBlockTypes.length && (\n\t\t<InserterPanel\n\t\t\ttitle={ <VisuallyHidden>{ __( 'Blocks' ) }</VisuallyHidden> }\n\t\t>\n\t\t\t<BlockTypesList\n\t\t\t\titems={ currentShownBlockTypes }\n\t\t\t\tonSelect={ onSelectBlockType }\n\t\t\t\tonHover={ onHover }\n\t\t\t\tlabel={ __( 'Blocks' ) }\n\t\t\t\tisDraggable={ isDraggable }\n\t\t\t/>\n\t\t</InserterPanel>\n\t);\n\n\tconst patternsUI = !! filteredBlockPatterns.length && (\n\t\t<InserterPanel\n\t\t\ttitle={\n\t\t\t\t<VisuallyHidden>{ __( 'Block Patterns' ) }</VisuallyHidden>\n\t\t\t}\n\t\t>\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-patterns\">\n\t\t\t\t<BlockPatternsList\n\t\t\t\t\tshownPatterns={ currentShownPatterns }\n\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\tonClickPattern={ onSelectBlockPattern }\n\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</InserterPanel>\n\t);\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t{ ! showBlockDirectory && ! hasItems && <InserterNoResults /> }\n\n\t\t\t{ prioritizePatterns ? patternsUI : blocksUI }\n\n\t\t\t{ !! filteredBlockTypes.length &&\n\t\t\t\t!! filteredBlockPatterns.length && (\n\t\t\t\t\t<div className=\"block-editor-inserter__quick-inserter-separator\" />\n\t\t\t\t) }\n\n\t\t\t{ prioritizePatterns ? blocksUI : patternsUI }\n\n\t\t\t{ showBlockDirectory && (\n\t\t\t\t<__unstableInserterMenuExtension.Slot\n\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\tonSelect: onSelectBlockType,\n\t\t\t\t\t\tonHover,\n\t\t\t\t\t\tfilterValue,\n\t\t\t\t\t\thasItems,\n\t\t\t\t\t\trootClientId: destinationRootClientId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ ( fills ) => {\n\t\t\t\t\t\tif ( fills.length ) {\n\t\t\t\t\t\t\treturn fills;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( ! hasItems ) {\n\t\t\t\t\t\t\treturn <InserterNoResults />;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t} }\n\t\t\t\t</__unstableInserterMenuExtension.Slot>\n\t\t\t) }\n\t\t</InserterListbox>\n\t);\n}\n\nexport default InserterSearchResults;\n"]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -7,12 +9,12 @@ exports.default = LineHeightControl;
|
|
|
7
9
|
|
|
8
10
|
var _element = require("@wordpress/element");
|
|
9
11
|
|
|
12
|
+
var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
|
|
13
|
+
|
|
10
14
|
var _i18n = require("@wordpress/i18n");
|
|
11
15
|
|
|
12
16
|
var _components = require("@wordpress/components");
|
|
13
17
|
|
|
14
|
-
var _keycodes = require("@wordpress/keycodes");
|
|
15
|
-
|
|
16
18
|
var _utils = require("./utils");
|
|
17
19
|
|
|
18
20
|
/**
|
|
@@ -25,68 +27,84 @@ var _utils = require("./utils");
|
|
|
25
27
|
function LineHeightControl(_ref) {
|
|
26
28
|
let {
|
|
27
29
|
value: lineHeight,
|
|
28
|
-
onChange
|
|
30
|
+
onChange,
|
|
31
|
+
|
|
32
|
+
/** Start opting into the new margin-free styles that will become the default in a future version. */
|
|
33
|
+
__nextHasNoMarginBottom = false,
|
|
34
|
+
__unstableInputWidth = '60px'
|
|
29
35
|
} = _ref;
|
|
30
36
|
const isDefined = (0, _utils.isLineHeightDefined)(lineHeight);
|
|
31
37
|
|
|
32
|
-
const
|
|
33
|
-
const {
|
|
34
|
-
keyCode
|
|
35
|
-
} = event;
|
|
36
|
-
|
|
37
|
-
if (keyCode === _keycodes.ZERO && !isDefined) {
|
|
38
|
-
/**
|
|
39
|
-
* Prevents the onChange callback from firing, which prevents
|
|
40
|
-
* the logic from assuming the change was triggered from
|
|
41
|
-
* an input arrow CLICK.
|
|
42
|
-
*/
|
|
43
|
-
event.preventDefault();
|
|
44
|
-
onChange('0');
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
const handleOnChange = nextValue => {
|
|
38
|
+
const adjustNextValue = (nextValue, wasTypedOrPasted) => {
|
|
49
39
|
// Set the next value without modification if lineHeight has been defined
|
|
50
|
-
if (isDefined)
|
|
51
|
-
onChange(nextValue);
|
|
52
|
-
return;
|
|
53
|
-
} // Otherwise...
|
|
54
|
-
|
|
40
|
+
if (isDefined) return nextValue;
|
|
55
41
|
/**
|
|
56
|
-
* The following logic handles the initial up/down
|
|
57
|
-
*
|
|
58
|
-
*
|
|
42
|
+
* The following logic handles the initial step up/down action
|
|
43
|
+
* (from an undefined value state) so that the next values are better suited for
|
|
44
|
+
* line-height rendering. For example, the first step up should immediately
|
|
45
|
+
* go to 1.6, rather than the normally expected 0.1.
|
|
46
|
+
*
|
|
47
|
+
* Step up/down actions can be triggered by keydowns of the up/down arrow keys,
|
|
48
|
+
* or by clicking the spin buttons.
|
|
59
49
|
*/
|
|
60
50
|
|
|
61
|
-
|
|
62
|
-
let adjustedNextValue = nextValue;
|
|
63
|
-
|
|
64
51
|
switch (nextValue) {
|
|
65
52
|
case `${_utils.STEP}`:
|
|
66
53
|
// Increment by step value
|
|
67
|
-
|
|
68
|
-
break;
|
|
54
|
+
return _utils.BASE_DEFAULT_VALUE + _utils.STEP;
|
|
69
55
|
|
|
70
56
|
case '0':
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
57
|
+
{
|
|
58
|
+
// This means the user explicitly input '0', rather than stepped down
|
|
59
|
+
// from an undefined value state
|
|
60
|
+
if (wasTypedOrPasted) return nextValue; // Decrement by step value
|
|
61
|
+
|
|
62
|
+
return _utils.BASE_DEFAULT_VALUE - _utils.STEP;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
case '':
|
|
66
|
+
return _utils.BASE_DEFAULT_VALUE;
|
|
67
|
+
|
|
68
|
+
default:
|
|
69
|
+
return nextValue;
|
|
74
70
|
}
|
|
71
|
+
};
|
|
75
72
|
|
|
76
|
-
|
|
73
|
+
const stateReducer = (state, action) => {
|
|
74
|
+
var _action$payload$event;
|
|
75
|
+
|
|
76
|
+
// Be careful when changing this — cross-browser behavior of the
|
|
77
|
+
// `inputType` field in `input` events are inconsistent.
|
|
78
|
+
// For example, Firefox emits an input event with inputType="insertReplacementText"
|
|
79
|
+
// on spin button clicks, while other browsers do not even emit an input event.
|
|
80
|
+
const wasTypedOrPasted = ['insertText', 'insertFromPaste'].includes((_action$payload$event = action.payload.event.nativeEvent) === null || _action$payload$event === void 0 ? void 0 : _action$payload$event.inputType);
|
|
81
|
+
state.value = adjustNextValue(state.value, wasTypedOrPasted);
|
|
82
|
+
return state;
|
|
77
83
|
};
|
|
78
84
|
|
|
79
85
|
const value = isDefined ? lineHeight : _utils.RESET_VALUE;
|
|
86
|
+
|
|
87
|
+
if (!__nextHasNoMarginBottom) {
|
|
88
|
+
(0, _deprecated.default)('Bottom margin styles for wp.blockEditor.LineHeightControl', {
|
|
89
|
+
since: '6.0',
|
|
90
|
+
version: '6.4',
|
|
91
|
+
hint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version'
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const deprecatedStyles = __nextHasNoMarginBottom ? undefined : {
|
|
96
|
+
marginBottom: 24
|
|
97
|
+
};
|
|
80
98
|
return (0, _element.createElement)("div", {
|
|
81
|
-
className: "block-editor-line-height-control"
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
99
|
+
className: "block-editor-line-height-control",
|
|
100
|
+
style: deprecatedStyles
|
|
101
|
+
}, (0, _element.createElement)(_components.__experimentalNumberControl, {
|
|
102
|
+
__unstableInputWidth: __unstableInputWidth,
|
|
103
|
+
__unstableStateReducer: stateReducer,
|
|
104
|
+
onChange: onChange,
|
|
86
105
|
label: (0, _i18n.__)('Line height'),
|
|
87
106
|
placeholder: _utils.BASE_DEFAULT_VALUE,
|
|
88
107
|
step: _utils.STEP,
|
|
89
|
-
type: "number",
|
|
90
108
|
value: value,
|
|
91
109
|
min: 0
|
|
92
110
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/line-height-control/index.js"],"names":["LineHeightControl","value","lineHeight","onChange","isDefined","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/line-height-control/index.js"],"names":["LineHeightControl","value","lineHeight","onChange","__nextHasNoMarginBottom","__unstableInputWidth","isDefined","adjustNextValue","nextValue","wasTypedOrPasted","STEP","BASE_DEFAULT_VALUE","stateReducer","state","action","includes","payload","event","nativeEvent","inputType","RESET_VALUE","since","version","hint","deprecatedStyles","undefined","marginBottom"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAQe,SAASA,iBAAT,OAMX;AAAA,MANuC;AAC1CC,IAAAA,KAAK,EAAEC,UADmC;AAE1CC,IAAAA,QAF0C;;AAG1C;AACAC,IAAAA,uBAAuB,GAAG,KAJgB;AAK1CC,IAAAA,oBAAoB,GAAG;AALmB,GAMvC;AACH,QAAMC,SAAS,GAAG,gCAAqBJ,UAArB,CAAlB;;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,YAASA,SAAT;AACC,WAAM,GAAGE,WAAM,EAAf;AACC;AACA,eAAOC,4BAAqBD,WAA5B;;AACD,WAAK,GAAL;AAAU;AACT;AACA;AACA,cAAKD,gBAAL,EAAwB,OAAOD,SAAP,CAHf,CAIT;;AACA,iBAAOG,4BAAqBD,WAA5B;AACA;;AACD,WAAK,EAAL;AACC,eAAOC,yBAAP;;AACD;AACC,eAAOH,SAAP;AAdF;AAgBA,GA7BD;;AA+BA,QAAMI,YAAY,GAAG,CAAEC,KAAF,EAASC,MAAT,KAAqB;AAAA;;AACzC;AACA;AACA;AACA;AACA,UAAML,gBAAgB,GAAG,CAAE,YAAF,EAAgB,iBAAhB,EAAoCM,QAApC,0BACxBD,MAAM,CAACE,OAAP,CAAeC,KAAf,CAAqBC,WADG,0DACxB,sBAAkCC,SADV,CAAzB;AAGAN,IAAAA,KAAK,CAACZ,KAAN,GAAcM,eAAe,CAAEM,KAAK,CAACZ,KAAR,EAAeQ,gBAAf,CAA7B;AACA,WAAOI,KAAP;AACA,GAVD;;AAYA,QAAMZ,KAAK,GAAGK,SAAS,GAAGJ,UAAH,GAAgBkB,kBAAvC;;AAEA,MAAK,CAAEhB,uBAAP,EAAiC;AAChC,6BACC,2DADD,EAEC;AACCiB,MAAAA,KAAK,EAAE,KADR;AAECC,MAAAA,OAAO,EAAE,KAFV;AAGCC,MAAAA,IAAI,EACH;AAJF,KAFD;AASA;;AACD,QAAMC,gBAAgB,GAAGpB,uBAAuB,GAC7CqB,SAD6C,GAE7C;AAAEC,IAAAA,YAAY,EAAE;AAAhB,GAFH;AAIA,SACC;AACC,IAAA,SAAS,EAAC,kCADX;AAEC,IAAA,KAAK,EAAGF;AAFT,KAIC,4BAAC,uCAAD;AACC,IAAA,oBAAoB,EAAGnB,oBADxB;AAEC,IAAA,sBAAsB,EAAGO,YAF1B;AAGC,IAAA,QAAQ,EAAGT,QAHZ;AAIC,IAAA,KAAK,EAAG,cAAI,aAAJ,CAJT;AAKC,IAAA,WAAW,EAAGQ,yBALf;AAMC,IAAA,IAAI,EAAGD,WANR;AAOC,IAAA,KAAK,EAAGT,KAPT;AAQC,IAAA,GAAG,EAAG;AARP,IAJD,CADD;AAiBA","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\nexport default function 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\tstate.value = adjustNextValue( state.value, wasTypedOrPasted );\n\t\treturn state;\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:\n\t\t\t\t\t'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"]}
|