@wordpress/block-editor 14.7.0 → 14.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/block-controls/slot.js +6 -3
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-inspector/index.js +1 -2
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-lock/modal.js +1 -1
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-manager/category.js +79 -0
- package/build/components/block-manager/category.js.map +1 -0
- package/build/components/block-manager/checklist.js +40 -0
- package/build/components/block-manager/checklist.js.map +1 -0
- package/build/components/block-manager/index.js +108 -0
- package/build/components/block-manager/index.js.map +1 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +16 -4
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/switch-section-style.js +105 -0
- package/build/components/block-toolbar/switch-section-style.js.map +1 -0
- package/build/components/collab/block-comment-icon-slot.js +2 -6
- package/build/components/collab/block-comment-icon-slot.js.map +1 -1
- package/build/components/collab/block-comment-icon-toolbar-slot.js +2 -6
- package/build/components/collab/block-comment-icon-toolbar-slot.js.map +1 -1
- package/build/components/color-palette/with-color-context.js +4 -2
- package/build/components/color-palette/with-color-context.js.map +1 -1
- package/build/components/font-family/index.js +14 -13
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +1 -1
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/iframe/index.js +13 -100
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/iframe/use-scale-canvas.js +377 -0
- package/build/components/iframe/use-scale-canvas.js.map +1 -0
- package/build/components/image-editor/use-save-image.js +22 -3
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -5
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +7 -8
- package/build/components/inserter/category-tabs/index.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +2 -1
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inspector-controls/slot.js +7 -4
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +4 -4
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build/components/media-placeholder/index.js +29 -21
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/hooks/border.js +3 -3
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +1 -1
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/dimensions.js +2 -2
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/style.js +6 -6
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/supports.js +1 -1
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.js +1 -1
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/utils.js +1 -1
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/flex.js +11 -9
- package/build/layouts/flex.js.map +1 -1
- package/build/private-apis.js +4 -4
- package/build/private-apis.js.map +1 -1
- package/build/store/private-selectors.js +1 -1
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/selectors.js +3 -0
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-controls/slot.js +6 -3
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-inspector/index.js +1 -2
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-lock/modal.js +1 -1
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-manager/category.js +71 -0
- package/build-module/components/block-manager/category.js.map +1 -0
- package/build-module/components/block-manager/checklist.js +32 -0
- package/build-module/components/block-manager/checklist.js.map +1 -0
- package/build-module/components/block-manager/index.js +102 -0
- package/build-module/components/block-manager/index.js.map +1 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +2 -2
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +2 -2
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +16 -4
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/switch-section-style.js +97 -0
- package/build-module/components/block-toolbar/switch-section-style.js.map +1 -0
- package/build-module/components/collab/block-comment-icon-slot.js +2 -6
- package/build-module/components/collab/block-comment-icon-slot.js.map +1 -1
- package/build-module/components/collab/block-comment-icon-toolbar-slot.js +2 -6
- package/build-module/components/collab/block-comment-icon-toolbar-slot.js.map +1 -1
- package/build-module/components/color-palette/with-color-context.js +4 -2
- package/build-module/components/color-palette/with-color-context.js.map +1 -1
- package/build-module/components/font-family/index.js +15 -14
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/iframe/index.js +15 -102
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/iframe/use-scale-canvas.js +371 -0
- package/build-module/components/iframe/use-scale-canvas.js.map +1 -0
- package/build-module/components/image-editor/use-save-image.js +22 -3
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -5
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +8 -9
- package/build-module/components/inserter/category-tabs/index.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +2 -1
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +7 -4
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +4 -4
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +29 -21
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/hooks/border.js +3 -3
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +1 -1
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/dimensions.js +2 -2
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/style.js +6 -6
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/supports.js +1 -1
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.js +1 -1
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/utils.js +1 -1
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/flex.js +11 -9
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/private-apis.js +6 -6
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/private-selectors.js +1 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/selectors.js +3 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/content-rtl.css +27 -28
- package/build-style/content.css +27 -28
- package/build-style/style-rtl.css +108 -0
- package/build-style/style.css +108 -0
- package/package.json +2 -2
- package/src/components/block-canvas/style.scss +2 -1
- package/src/components/block-controls/slot.js +5 -3
- package/src/components/block-inspector/index.js +0 -2
- package/src/components/block-lock/modal.js +1 -1
- package/src/components/block-manager/category.js +102 -0
- package/src/components/block-manager/checklist.js +34 -0
- package/src/components/block-manager/index.js +127 -0
- package/src/components/block-manager/style.scss +82 -0
- package/src/components/block-mover/README.md +15 -8
- package/src/components/block-mover/stories/index.story.js +73 -71
- package/src/components/block-mover/style.scss +3 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +2 -2
- package/src/components/block-settings-menu/index.js +2 -2
- package/src/components/block-toolbar/index.js +14 -0
- package/src/components/block-toolbar/switch-section-style.js +115 -0
- package/src/components/block-tools/style.scss +39 -0
- package/src/components/collab/block-comment-icon-slot.js +2 -6
- package/src/components/collab/block-comment-icon-toolbar-slot.js +3 -5
- package/src/components/color-palette/test/__snapshots__/control.js.snap +2 -2
- package/src/components/color-palette/with-color-context.js +25 -7
- package/src/components/font-family/index.js +13 -13
- package/src/components/global-styles/test/use-global-styles-output.js +1 -1
- package/src/components/global-styles/use-global-styles-output.js +1 -1
- package/src/components/iframe/content.scss +49 -43
- package/src/components/iframe/index.js +14 -171
- package/src/components/iframe/use-scale-canvas.js +468 -0
- package/src/components/image-editor/use-save-image.js +27 -2
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +7 -16
- package/src/components/inserter/category-tabs/index.js +8 -9
- package/src/components/inserter-draggable-blocks/index.js +10 -1
- package/src/components/inspector-controls/README.md +2 -0
- package/src/components/inspector-controls/slot.js +6 -4
- package/src/components/inspector-controls-tabs/position-controls-panel.js +1 -3
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +10 -10
- package/src/components/media-placeholder/index.js +37 -33
- package/src/components/provider/test/use-block-sync.js +3 -1
- package/src/components/rich-text/content.scss +15 -10
- package/src/hooks/border.js +3 -9
- package/src/hooks/color.js +1 -1
- package/src/hooks/dimensions.js +2 -2
- package/src/hooks/style.js +6 -12
- package/src/hooks/supports.js +1 -1
- package/src/hooks/test/style.js +1 -2
- package/src/hooks/typography.js +1 -1
- package/src/hooks/utils.js +1 -1
- package/src/layouts/flex.js +26 -18
- package/src/private-apis.js +6 -6
- package/src/store/private-selectors.js +1 -1
- package/src/store/selectors.js +3 -0
- package/src/store/test/selectors.js +87 -58
- package/src/style.scss +1 -0
- package/build/components/block-info-slot-fill/index.js +0 -39
- package/build/components/block-info-slot-fill/index.js.map +0 -1
- package/build-module/components/block-info-slot-fill/index.js +0 -32
- package/build-module/components/block-info-slot-fill/index.js.map +0 -1
- package/src/components/block-info-slot-fill/index.js +0 -27
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["apiFetch","useDispatch","useCallback","useMemo","useState","__","sprintf","store","noticesStore","__unstableStripHTML","stripHTML","
|
|
1
|
+
{"version":3,"names":["apiFetch","useDispatch","useCallback","useMemo","useState","__","sprintf","store","noticesStore","__unstableStripHTML","stripHTML","messages","crop","rotate","cropAndRotate","useSaveImage","rotation","url","id","onSaveImage","onFinishEditing","createErrorNotice","createSuccessNotice","isInProgress","setIsInProgress","cancel","apply","modifiers","push","type","args","angle","width","height","left","x","top","y","length","modifierType","path","method","data","src","then","response","source_url","actions","label","onClick","catch","error","message","finally"],"sources":["@wordpress/block-editor/src/components/image-editor/use-save-image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport apiFetch from '@wordpress/api-fetch';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\nconst messages = {\n\tcrop: __( 'Image cropped.' ),\n\trotate: __( 'Image rotated.' ),\n\tcropAndRotate: __( 'Image cropped and rotated.' ),\n};\n\nexport default function useSaveImage( {\n\tcrop,\n\trotation,\n\turl,\n\tid,\n\tonSaveImage,\n\tonFinishEditing,\n} ) {\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst [ isInProgress, setIsInProgress ] = useState( false );\n\n\tconst cancel = useCallback( () => {\n\t\tsetIsInProgress( false );\n\t\tonFinishEditing();\n\t}, [ onFinishEditing ] );\n\n\tconst apply = useCallback( () => {\n\t\tsetIsInProgress( true );\n\n\t\tconst modifiers = [];\n\n\t\tif ( rotation > 0 ) {\n\t\t\tmodifiers.push( {\n\t\t\t\ttype: 'rotate',\n\t\t\t\targs: {\n\t\t\t\t\tangle: rotation,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\t// The crop script may return some very small, sub-pixel values when the image was not cropped.\n\t\t// Crop only when the new size has changed by more than 0.1%.\n\t\tif ( crop.width < 99.9 || crop.height < 99.9 ) {\n\t\t\tmodifiers.push( {\n\t\t\t\ttype: 'crop',\n\t\t\t\targs: {\n\t\t\t\t\tleft: crop.x,\n\t\t\t\t\ttop: crop.y,\n\t\t\t\t\twidth: crop.width,\n\t\t\t\t\theight: crop.height,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tif ( modifiers.length === 0 ) {\n\t\t\t// No changes to apply.\n\t\t\tsetIsInProgress( false );\n\t\t\tonFinishEditing();\n\t\t\treturn;\n\t\t}\n\n\t\tconst modifierType =\n\t\t\tmodifiers.length === 1 ? modifiers[ 0 ].type : 'cropAndRotate';\n\n\t\tapiFetch( {\n\t\t\tpath: `/wp/v2/media/${ id }/edit`,\n\t\t\tmethod: 'POST',\n\t\t\tdata: { src: url, modifiers },\n\t\t} )\n\t\t\t.then( ( response ) => {\n\t\t\t\tonSaveImage( {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\turl: response.source_url,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice( messages[ modifierType ], {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\tonSaveImage( {\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: %s: Error message. */\n\t\t\t\t\t\t__( 'Could not edit image. %s' ),\n\t\t\t\t\t\tstripHTML( error.message )\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'image-editing-error',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.finally( () => {\n\t\t\t\tsetIsInProgress( false );\n\t\t\t\tonFinishEditing();\n\t\t\t} );\n\t}, [\n\t\tcrop,\n\t\trotation,\n\t\tid,\n\t\turl,\n\t\tonSaveImage,\n\t\tcreateErrorNotice,\n\t\tcreateSuccessNotice,\n\t\tonFinishEditing,\n\t] );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tisInProgress,\n\t\t\tapply,\n\t\t\tcancel,\n\t\t} ),\n\t\t[ isInProgress, apply, cancel ]\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import { useMemo, useState, useCallback, useRef, useEffect } from '@wordpress/element';
|
|
5
5
|
import { __ } from '@wordpress/i18n';
|
|
6
6
|
import { __experimentalHStack as HStack, __experimentalVStack as VStack, __experimentalHeading as Heading, __experimentalText as Text, FlexBlock } from '@wordpress/components';
|
|
7
|
-
import { useSelect } from '@wordpress/data';
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* Internal dependencies
|
|
@@ -15,8 +14,6 @@ import usePatternsPaging from '../hooks/use-patterns-paging';
|
|
|
15
14
|
import { PatternsFilter } from './patterns-filter';
|
|
16
15
|
import { usePatternCategories } from './use-pattern-categories';
|
|
17
16
|
import { isPatternFiltered, allPatternsCategory, myPatternsCategory, starterPatternsCategory, INSERTER_PATTERN_TYPES } from './utils';
|
|
18
|
-
import { store as blockEditorStore } from '../../../store';
|
|
19
|
-
import { unlock } from '../../../lock-unlock';
|
|
20
17
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
21
18
|
const noop = () => {};
|
|
22
19
|
export function PatternCategoryPreviews({
|
|
@@ -26,7 +23,6 @@ export function PatternCategoryPreviews({
|
|
|
26
23
|
category,
|
|
27
24
|
showTitlesAsTooltip
|
|
28
25
|
}) {
|
|
29
|
-
const isZoomOutMode = useSelect(select => unlock(select(blockEditorStore)).isZoomOut(), []);
|
|
30
26
|
const [allPatterns,, onClickPattern] = usePatternsState(onInsert, rootClientId, category?.name);
|
|
31
27
|
const [patternSyncFilter, setPatternSyncFilter] = useState('all');
|
|
32
28
|
const [patternSourceFilter, setPatternSourceFilter] = useState('all');
|
|
@@ -98,7 +94,7 @@ export function PatternCategoryPreviews({
|
|
|
98
94
|
children: __('No results found')
|
|
99
95
|
})]
|
|
100
96
|
}), currentCategoryPatterns.length > 0 && /*#__PURE__*/_jsxs(_Fragment, {
|
|
101
|
-
children: [
|
|
97
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
102
98
|
size: "12",
|
|
103
99
|
as: "p",
|
|
104
100
|
className: "block-editor-inserter__help-text",
|
package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useState","useCallback","useRef","useEffect","__","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalText","Text","FlexBlock","useSelect","usePatternsState","BlockPatternsList","usePatternsPaging","PatternsFilter","usePatternCategories","isPatternFiltered","allPatternsCategory","myPatternsCategory","starterPatternsCategory","INSERTER_PATTERN_TYPES","store","blockEditorStore","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","PatternCategoryPreviews","rootClientId","onInsert","onHover","category","showTitlesAsTooltip","isZoomOutMode","select","isZoomOut","allPatterns","onClickPattern","name","patternSyncFilter","setPatternSyncFilter","patternSourceFilter","setPatternSourceFilter","availableCategories","scrollContainerRef","currentCategoryPatterns","filter","pattern","type","user","blockTypes","includes","categories","some","catName","c","pagingProps","changePage","onSetPatternSyncFilter","value","onSetPatternSourceFilter","children","spacing","className","size","level","as","label","length","variant","ref","blockPatterns","categoryPatterns","orientation","isDraggable","patternFilter"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/pattern-category-previews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tFlexBlock,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport usePatternsState from '../hooks/use-patterns-state';\nimport BlockPatternsList from '../../block-patterns-list';\nimport usePatternsPaging from '../hooks/use-patterns-paging';\nimport { PatternsFilter } from './patterns-filter';\nimport { usePatternCategories } from './use-pattern-categories';\nimport {\n\tisPatternFiltered,\n\tallPatternsCategory,\n\tmyPatternsCategory,\n\tstarterPatternsCategory,\n\tINSERTER_PATTERN_TYPES,\n} from './utils';\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nconst noop = () => {};\n\nexport function PatternCategoryPreviews( {\n\trootClientId,\n\tonInsert,\n\tonHover = noop,\n\tcategory,\n\tshowTitlesAsTooltip,\n} ) {\n\tconst isZoomOutMode = useSelect(\n\t\t( select ) => unlock( select( blockEditorStore ) ).isZoomOut(),\n\t\t[]\n\t);\n\tconst [ allPatterns, , onClickPattern ] = usePatternsState(\n\t\tonInsert,\n\t\trootClientId,\n\t\tcategory?.name\n\t);\n\tconst [ patternSyncFilter, setPatternSyncFilter ] = useState( 'all' );\n\tconst [ patternSourceFilter, setPatternSourceFilter ] = useState( 'all' );\n\n\tconst availableCategories = usePatternCategories(\n\t\trootClientId,\n\t\tpatternSourceFilter\n\t);\n\tconst scrollContainerRef = useRef();\n\tconst currentCategoryPatterns = useMemo(\n\t\t() =>\n\t\t\tallPatterns.filter( ( pattern ) => {\n\t\t\t\tif (\n\t\t\t\t\tisPatternFiltered(\n\t\t\t\t\t\tpattern,\n\t\t\t\t\t\tpatternSourceFilter,\n\t\t\t\t\t\tpatternSyncFilter\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif ( category.name === allPatternsCategory.name ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tcategory.name === myPatternsCategory.name &&\n\t\t\t\t\tpattern.type === INSERTER_PATTERN_TYPES.user\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tcategory.name === starterPatternsCategory.name &&\n\t\t\t\t\tpattern.blockTypes?.includes( 'core/post-content' )\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif ( category.name === 'uncategorized' ) {\n\t\t\t\t\t// The uncategorized category should show all the patterns without any category...\n\t\t\t\t\tif ( ! pattern.categories ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\t// ...or with no available category.\n\t\t\t\t\treturn ! pattern.categories.some( ( catName ) =>\n\t\t\t\t\t\tavailableCategories.some( ( c ) => c.name === catName )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn pattern.categories?.includes( category.name );\n\t\t\t} ),\n\t\t[\n\t\t\tallPatterns,\n\t\t\tavailableCategories,\n\t\t\tcategory.name,\n\t\t\tpatternSourceFilter,\n\t\t\tpatternSyncFilter,\n\t\t]\n\t);\n\n\tconst pagingProps = usePatternsPaging(\n\t\tcurrentCategoryPatterns,\n\t\tcategory,\n\t\tscrollContainerRef\n\t);\n\tconst { changePage } = pagingProps;\n\n\t// Hide block pattern preview on unmount.\n\tuseEffect( () => () => onHover( null ), [] );\n\n\tconst onSetPatternSyncFilter = useCallback(\n\t\t( value ) => {\n\t\t\tsetPatternSyncFilter( value );\n\t\t\tchangePage( 1 );\n\t\t},\n\t\t[ setPatternSyncFilter, changePage ]\n\t);\n\tconst onSetPatternSourceFilter = useCallback(\n\t\t( value ) => {\n\t\t\tsetPatternSourceFilter( value );\n\t\t\tchangePage( 1 );\n\t\t},\n\t\t[ setPatternSourceFilter, changePage ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<VStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tclassName=\"block-editor-inserter__patterns-category-panel-header\"\n\t\t\t>\n\t\t\t\t<HStack>\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\tclassName=\"block-editor-inserter__patterns-category-panel-title\"\n\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\tlevel={ 4 }\n\t\t\t\t\t\t\tas=\"div\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ category.label }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t<PatternsFilter\n\t\t\t\t\t\tpatternSyncFilter={ patternSyncFilter }\n\t\t\t\t\t\tpatternSourceFilter={ patternSourceFilter }\n\t\t\t\t\t\tsetPatternSyncFilter={ onSetPatternSyncFilter }\n\t\t\t\t\t\tsetPatternSourceFilter={ onSetPatternSourceFilter }\n\t\t\t\t\t\tscrollContainerRef={ scrollContainerRef }\n\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ ! currentCategoryPatterns.length && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"block-editor-inserter__patterns-category-no-results\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'No results found' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t\t{ currentCategoryPatterns.length > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t{ isZoomOutMode && (\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"12\"\n\t\t\t\t\t\t\tas=\"p\"\n\t\t\t\t\t\t\tclassName=\"block-editor-inserter__help-text\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Drag and drop patterns into the canvas.' ) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) }\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tref={ scrollContainerRef }\n\t\t\t\t\t\tblockPatterns={ pagingProps.categoryPatterns }\n\t\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tlabel={ category.label }\n\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\tcategory={ category.name }\n\t\t\t\t\t\tisDraggable\n\t\t\t\t\t\tshowTitlesAsTooltip={ showTitlesAsTooltip }\n\t\t\t\t\t\tpatternFilter={ patternSourceFilter }\n\t\t\t\t\t\tpagingProps={ pagingProps }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useMemo","useState","useCallback","useRef","useEffect","__","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalText","Text","FlexBlock","usePatternsState","BlockPatternsList","usePatternsPaging","PatternsFilter","usePatternCategories","isPatternFiltered","allPatternsCategory","myPatternsCategory","starterPatternsCategory","INSERTER_PATTERN_TYPES","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","PatternCategoryPreviews","rootClientId","onInsert","onHover","category","showTitlesAsTooltip","allPatterns","onClickPattern","name","patternSyncFilter","setPatternSyncFilter","patternSourceFilter","setPatternSourceFilter","availableCategories","scrollContainerRef","currentCategoryPatterns","filter","pattern","type","user","blockTypes","includes","categories","some","catName","c","pagingProps","changePage","onSetPatternSyncFilter","value","onSetPatternSourceFilter","children","spacing","className","size","level","as","label","length","variant","ref","blockPatterns","categoryPatterns","orientation","isDraggable","patternFilter"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-tab/pattern-category-previews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseMemo,\n\tuseState,\n\tuseCallback,\n\tuseRef,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tFlexBlock,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport usePatternsState from '../hooks/use-patterns-state';\nimport BlockPatternsList from '../../block-patterns-list';\nimport usePatternsPaging from '../hooks/use-patterns-paging';\nimport { PatternsFilter } from './patterns-filter';\nimport { usePatternCategories } from './use-pattern-categories';\nimport {\n\tisPatternFiltered,\n\tallPatternsCategory,\n\tmyPatternsCategory,\n\tstarterPatternsCategory,\n\tINSERTER_PATTERN_TYPES,\n} from './utils';\n\nconst noop = () => {};\n\nexport function PatternCategoryPreviews( {\n\trootClientId,\n\tonInsert,\n\tonHover = noop,\n\tcategory,\n\tshowTitlesAsTooltip,\n} ) {\n\tconst [ allPatterns, , onClickPattern ] = usePatternsState(\n\t\tonInsert,\n\t\trootClientId,\n\t\tcategory?.name\n\t);\n\tconst [ patternSyncFilter, setPatternSyncFilter ] = useState( 'all' );\n\tconst [ patternSourceFilter, setPatternSourceFilter ] = useState( 'all' );\n\n\tconst availableCategories = usePatternCategories(\n\t\trootClientId,\n\t\tpatternSourceFilter\n\t);\n\tconst scrollContainerRef = useRef();\n\tconst currentCategoryPatterns = useMemo(\n\t\t() =>\n\t\t\tallPatterns.filter( ( pattern ) => {\n\t\t\t\tif (\n\t\t\t\t\tisPatternFiltered(\n\t\t\t\t\t\tpattern,\n\t\t\t\t\t\tpatternSourceFilter,\n\t\t\t\t\t\tpatternSyncFilter\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif ( category.name === allPatternsCategory.name ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tcategory.name === myPatternsCategory.name &&\n\t\t\t\t\tpattern.type === INSERTER_PATTERN_TYPES.user\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tcategory.name === starterPatternsCategory.name &&\n\t\t\t\t\tpattern.blockTypes?.includes( 'core/post-content' )\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif ( category.name === 'uncategorized' ) {\n\t\t\t\t\t// The uncategorized category should show all the patterns without any category...\n\t\t\t\t\tif ( ! pattern.categories ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\t// ...or with no available category.\n\t\t\t\t\treturn ! pattern.categories.some( ( catName ) =>\n\t\t\t\t\t\tavailableCategories.some( ( c ) => c.name === catName )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn pattern.categories?.includes( category.name );\n\t\t\t} ),\n\t\t[\n\t\t\tallPatterns,\n\t\t\tavailableCategories,\n\t\t\tcategory.name,\n\t\t\tpatternSourceFilter,\n\t\t\tpatternSyncFilter,\n\t\t]\n\t);\n\n\tconst pagingProps = usePatternsPaging(\n\t\tcurrentCategoryPatterns,\n\t\tcategory,\n\t\tscrollContainerRef\n\t);\n\tconst { changePage } = pagingProps;\n\n\t// Hide block pattern preview on unmount.\n\tuseEffect( () => () => onHover( null ), [] );\n\n\tconst onSetPatternSyncFilter = useCallback(\n\t\t( value ) => {\n\t\t\tsetPatternSyncFilter( value );\n\t\t\tchangePage( 1 );\n\t\t},\n\t\t[ setPatternSyncFilter, changePage ]\n\t);\n\tconst onSetPatternSourceFilter = useCallback(\n\t\t( value ) => {\n\t\t\tsetPatternSourceFilter( value );\n\t\t\tchangePage( 1 );\n\t\t},\n\t\t[ setPatternSourceFilter, changePage ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<VStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tclassName=\"block-editor-inserter__patterns-category-panel-header\"\n\t\t\t>\n\t\t\t\t<HStack>\n\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\tclassName=\"block-editor-inserter__patterns-category-panel-title\"\n\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\tlevel={ 4 }\n\t\t\t\t\t\t\tas=\"div\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ category.label }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t<PatternsFilter\n\t\t\t\t\t\tpatternSyncFilter={ patternSyncFilter }\n\t\t\t\t\t\tpatternSourceFilter={ patternSourceFilter }\n\t\t\t\t\t\tsetPatternSyncFilter={ onSetPatternSyncFilter }\n\t\t\t\t\t\tsetPatternSourceFilter={ onSetPatternSourceFilter }\n\t\t\t\t\t\tscrollContainerRef={ scrollContainerRef }\n\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ ! currentCategoryPatterns.length && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"block-editor-inserter__patterns-category-no-results\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'No results found' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t\t{ currentCategoryPatterns.length > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tsize=\"12\"\n\t\t\t\t\t\tas=\"p\"\n\t\t\t\t\t\tclassName=\"block-editor-inserter__help-text\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Drag and drop patterns into the canvas.' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tref={ scrollContainerRef }\n\t\t\t\t\t\tblockPatterns={ pagingProps.categoryPatterns }\n\t\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tlabel={ category.label }\n\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\tcategory={ category.name }\n\t\t\t\t\t\tisDraggable\n\t\t\t\t\t\tshowTitlesAsTooltip={ showTitlesAsTooltip }\n\t\t\t\t\t\tpatternFilter={ patternSourceFilter }\n\t\t\t\t\t\tpagingProps={ pagingProps }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { usePrevious, useReducedMotion } from '@wordpress/compose';
|
|
5
5
|
import { privateApis as componentsPrivateApis, __unstableMotion as motion } from '@wordpress/components';
|
|
6
|
-
import { useState
|
|
6
|
+
import { useState } from '@wordpress/element';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Internal dependencies
|
|
@@ -31,14 +31,13 @@ function CategoryTabs({
|
|
|
31
31
|
const selectedTabId = selectedCategory ? selectedCategory.name : null;
|
|
32
32
|
const [activeTabId, setActiveId] = useState();
|
|
33
33
|
const firstTabId = categories?.[0]?.name;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}, [selectedTabId, activeTabId, firstTabId, setActiveId]);
|
|
34
|
+
|
|
35
|
+
// If there is no active tab, make the first tab the active tab, so that
|
|
36
|
+
// when focus is moved to the tablist, the first tab will be focused
|
|
37
|
+
// despite not being selected
|
|
38
|
+
if (selectedTabId === null && !activeTabId && firstTabId) {
|
|
39
|
+
setActiveId(firstTabId);
|
|
40
|
+
}
|
|
42
41
|
return /*#__PURE__*/_jsxs(Tabs, {
|
|
43
42
|
selectOnMove: false,
|
|
44
43
|
selectedTabId: selectedTabId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["usePrevious","useReducedMotion","privateApis","componentsPrivateApis","__unstableMotion","motion","useState","
|
|
1
|
+
{"version":3,"names":["usePrevious","useReducedMotion","privateApis","componentsPrivateApis","__unstableMotion","motion","useState","unlock","jsx","_jsx","jsxs","_jsxs","Tabs","CategoryTabs","categories","selectedCategory","onSelectCategory","children","ANIMATION_DURATION","disableMotion","defaultTransition","type","duration","ease","previousSelectedCategory","selectedTabId","name","activeTabId","setActiveId","firstTabId","selectOnMove","orientation","onSelect","categoryId","find","category","onActiveTabIdChange","TabList","className","map","Tab","tabId","label","undefined","TabPanel","focusable","div","initial","animate","variants","open","transform","transitionEnd","zIndex","closed","transition"],"sources":["@wordpress/block-editor/src/components/inserter/category-tabs/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePrevious, useReducedMotion } from '@wordpress/compose';\nimport {\n\tprivateApis as componentsPrivateApis,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction CategoryTabs( {\n\tcategories,\n\tselectedCategory,\n\tonSelectCategory,\n\tchildren,\n} ) {\n\t// Copied from InterfaceSkeleton.\n\tconst ANIMATION_DURATION = 0.25;\n\tconst disableMotion = useReducedMotion();\n\tconst defaultTransition = {\n\t\ttype: 'tween',\n\t\tduration: disableMotion ? 0 : ANIMATION_DURATION,\n\t\tease: [ 0.6, 0, 0.4, 1 ],\n\t};\n\n\tconst previousSelectedCategory = usePrevious( selectedCategory );\n\n\tconst selectedTabId = selectedCategory ? selectedCategory.name : null;\n\tconst [ activeTabId, setActiveId ] = useState();\n\tconst firstTabId = categories?.[ 0 ]?.name;\n\n\t// If there is no active tab, make the first tab the active tab, so that\n\t// when focus is moved to the tablist, the first tab will be focused\n\t// despite not being selected\n\tif ( selectedTabId === null && ! activeTabId && firstTabId ) {\n\t\tsetActiveId( firstTabId );\n\t}\n\n\treturn (\n\t\t<Tabs\n\t\t\tselectOnMove={ false }\n\t\t\tselectedTabId={ selectedTabId }\n\t\t\torientation=\"vertical\"\n\t\t\tonSelect={ ( categoryId ) => {\n\t\t\t\t// Pass the full category object\n\t\t\t\tonSelectCategory(\n\t\t\t\t\tcategories.find(\n\t\t\t\t\t\t( category ) => category.name === categoryId\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} }\n\t\t\tactiveTabId={ activeTabId }\n\t\t\tonActiveTabIdChange={ setActiveId }\n\t\t>\n\t\t\t<Tabs.TabList className=\"block-editor-inserter__category-tablist\">\n\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\ttabId={ category.name }\n\t\t\t\t\t\taria-label={ category.label }\n\t\t\t\t\t\taria-current={\n\t\t\t\t\t\t\tcategory === selectedCategory ? 'true' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ category.label }\n\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t) ) }\n\t\t\t</Tabs.TabList>\n\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\tkey={ category.name }\n\t\t\t\t\ttabId={ category.name }\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName=\"block-editor-inserter__category-panel\"\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\t! previousSelectedCategory ? 'closed' : 'open'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate=\"open\"\n\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\topen: {\n\t\t\t\t\t\t\t\ttransform: 'translateX( 0 )',\n\t\t\t\t\t\t\t\ttransitionEnd: {\n\t\t\t\t\t\t\t\t\tzIndex: '1',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tclosed: {\n\t\t\t\t\t\t\t\ttransform: 'translateX( -100% )',\n\t\t\t\t\t\t\t\tzIndex: '-1',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttransition={ defaultTransition }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</motion.div>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t) ) }\n\t\t</Tabs>\n\t);\n}\n\nexport default CategoryTabs;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,6 +24,7 @@ const InserterDraggableBlocks = ({
|
|
|
24
24
|
type: 'inserter',
|
|
25
25
|
blocks
|
|
26
26
|
};
|
|
27
|
+
const blocksContainMedia = blocks.filter(block => (block.name === 'core/image' || block.name === 'core/audio' || block.name === 'core/video') && (block.attributes.url || block.attributes.src)).length > 0;
|
|
27
28
|
const blockTypeIcon = useSelect(select => {
|
|
28
29
|
const {
|
|
29
30
|
getBlockType
|
|
@@ -49,7 +50,7 @@ const InserterDraggableBlocks = ({
|
|
|
49
50
|
const parsedBlocks = pattern?.type === INSERTER_PATTERN_TYPES.user && pattern?.syncStatus !== 'unsynced' ? [createBlock('core/block', {
|
|
50
51
|
ref: pattern.id
|
|
51
52
|
})] : blocks;
|
|
52
|
-
event.dataTransfer.setData('text/html', serialize(parsedBlocks));
|
|
53
|
+
event.dataTransfer.setData(blocksContainMedia ? 'default' : 'text/html', serialize(parsedBlocks));
|
|
53
54
|
},
|
|
54
55
|
onDragEnd: () => {
|
|
55
56
|
stopDragging();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Draggable","createBlock","serialize","store","blocksStore","useDispatch","useSelect","BlockDraggableChip","INSERTER_PATTERN_TYPES","blockEditorStore","unlock","jsx","_jsx","InserterDraggableBlocks","isEnabled","blocks","icon","children","pattern","transferData","type","
|
|
1
|
+
{"version":3,"names":["Draggable","createBlock","serialize","store","blocksStore","useDispatch","useSelect","BlockDraggableChip","INSERTER_PATTERN_TYPES","blockEditorStore","unlock","jsx","_jsx","InserterDraggableBlocks","isEnabled","blocks","icon","children","pattern","transferData","type","blocksContainMedia","filter","block","name","attributes","url","src","length","blockTypeIcon","select","getBlockType","startDragging","stopDragging","draggable","onDragStart","undefined","onDragEnd","__experimentalTransferDataType","event","parsedBlocks","user","syncStatus","ref","id","dataTransfer","setData","__experimentalDragComponent","count","isPattern","onDraggableStart","onDraggableEnd"],"sources":["@wordpress/block-editor/src/components/inserter-draggable-blocks/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Draggable } from '@wordpress/components';\nimport {\n\tcreateBlock,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from '../block-draggable/draggable-chip';\nimport { INSERTER_PATTERN_TYPES } from '../inserter/block-patterns-tab/utils';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst InserterDraggableBlocks = ( {\n\tisEnabled,\n\tblocks,\n\ticon,\n\tchildren,\n\tpattern,\n} ) => {\n\tconst transferData = {\n\t\ttype: 'inserter',\n\t\tblocks,\n\t};\n\n\tconst blocksContainMedia =\n\t\tblocks.filter(\n\t\t\t( block ) =>\n\t\t\t\t( block.name === 'core/image' ||\n\t\t\t\t\tblock.name === 'core/audio' ||\n\t\t\t\t\tblock.name === 'core/video' ) &&\n\t\t\t\t( block.attributes.url || block.attributes.src )\n\t\t).length > 0;\n\n\tconst blockTypeIcon = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\treturn (\n\t\t\t\tblocks.length === 1 && getBlockType( blocks[ 0 ].name )?.icon\n\t\t\t);\n\t\t},\n\t\t[ blocks ]\n\t);\n\n\tconst { startDragging, stopDragging } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tif ( ! isEnabled ) {\n\t\treturn children( {\n\t\t\tdraggable: false,\n\t\t\tonDragStart: undefined,\n\t\t\tonDragEnd: undefined,\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Draggable\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ transferData }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\tstartDragging();\n\t\t\t\tconst parsedBlocks =\n\t\t\t\t\tpattern?.type === INSERTER_PATTERN_TYPES.user &&\n\t\t\t\t\tpattern?.syncStatus !== 'unsynced'\n\t\t\t\t\t\t? [ createBlock( 'core/block', { ref: pattern.id } ) ]\n\t\t\t\t\t\t: blocks;\n\t\t\t\tevent.dataTransfer.setData(\n\t\t\t\t\tblocksContainMedia ? 'default' : 'text/html',\n\t\t\t\t\tserialize( parsedBlocks )\n\t\t\t\t);\n\t\t\t} }\n\t\t\tonDragEnd={ () => {\n\t\t\t\tstopDragging();\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip\n\t\t\t\t\tcount={ blocks.length }\n\t\t\t\t\ticon={ icon || ( ! pattern && blockTypeIcon ) }\n\t\t\t\t\tisPattern={ !! pattern }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\tonDragStart: onDraggableStart,\n\t\t\t\t\tonDragEnd: onDraggableEnd,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default InserterDraggableBlocks;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,uBAAuB;AACjD,SACCC,WAAW,EACXC,SAAS,EACTC,KAAK,IAAIC,WAAW,QACd,mBAAmB;AAC1B,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,mCAAmC;AAClE,SAASC,sBAAsB,QAAQ,sCAAsC;AAC7E,SAASL,KAAK,IAAIM,gBAAgB,QAAQ,aAAa;AACvD,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAMC,uBAAuB,GAAGA,CAAE;EACjCC,SAAS;EACTC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC;AACD,CAAC,KAAM;EACN,MAAMC,YAAY,GAAG;IACpBC,IAAI,EAAE,UAAU;IAChBL;EACD,CAAC;EAED,MAAMM,kBAAkB,GACvBN,MAAM,CAACO,MAAM,CACVC,KAAK,IACN,CAAEA,KAAK,CAACC,IAAI,KAAK,YAAY,IAC5BD,KAAK,CAACC,IAAI,KAAK,YAAY,IAC3BD,KAAK,CAACC,IAAI,KAAK,YAAY,MAC1BD,KAAK,CAACE,UAAU,CAACC,GAAG,IAAIH,KAAK,CAACE,UAAU,CAACE,GAAG,CAChD,CAAC,CAACC,MAAM,GAAG,CAAC;EAEb,MAAMC,aAAa,GAAGvB,SAAS,CAC5BwB,MAAM,IAAM;IACb,MAAM;MAAEC;IAAa,CAAC,GAAGD,MAAM,CAAE1B,WAAY,CAAC;IAC9C,OACCW,MAAM,CAACa,MAAM,KAAK,CAAC,IAAIG,YAAY,CAAEhB,MAAM,CAAE,CAAC,CAAE,CAACS,IAAK,CAAC,EAAER,IAAI;EAE/D,CAAC,EACD,CAAED,MAAM,CACT,CAAC;EAED,MAAM;IAAEiB,aAAa;IAAEC;EAAa,CAAC,GAAGvB,MAAM,CAC7CL,WAAW,CAAEI,gBAAiB,CAC/B,CAAC;EAED,IAAK,CAAEK,SAAS,EAAG;IAClB,OAAOG,QAAQ,CAAE;MAChBiB,SAAS,EAAE,KAAK;MAChBC,WAAW,EAAEC,SAAS;MACtBC,SAAS,EAAED;IACZ,CAAE,CAAC;EACJ;EAEA,oBACCxB,IAAA,CAACZ,SAAS;IACTsC,8BAA8B,EAAC,WAAW;IAC1CnB,YAAY,EAAGA,YAAc;IAC7BgB,WAAW,EAAKI,KAAK,IAAM;MAC1BP,aAAa,CAAC,CAAC;MACf,MAAMQ,YAAY,GACjBtB,OAAO,EAAEE,IAAI,KAAKZ,sBAAsB,CAACiC,IAAI,IAC7CvB,OAAO,EAAEwB,UAAU,KAAK,UAAU,GAC/B,CAAEzC,WAAW,CAAE,YAAY,EAAE;QAAE0C,GAAG,EAAEzB,OAAO,CAAC0B;MAAG,CAAE,CAAC,CAAE,GACpD7B,MAAM;MACVwB,KAAK,CAACM,YAAY,CAACC,OAAO,CACzBzB,kBAAkB,GAAG,SAAS,GAAG,WAAW,EAC5CnB,SAAS,CAAEsC,YAAa,CACzB,CAAC;IACF,CAAG;IACHH,SAAS,EAAGA,CAAA,KAAM;MACjBJ,YAAY,CAAC,CAAC;IACf,CAAG;IACHc,2BAA2B,eAC1BnC,IAAA,CAACL,kBAAkB;MAClByC,KAAK,EAAGjC,MAAM,CAACa,MAAQ;MACvBZ,IAAI,EAAGA,IAAI,IAAM,CAAEE,OAAO,IAAIW,aAAiB;MAC/CoB,SAAS,EAAG,CAAC,CAAE/B;IAAS,CACxB,CACD;IAAAD,QAAA,EAECA,CAAE;MAAEiC,gBAAgB;MAAEC;IAAe,CAAC,KAAM;MAC7C,OAAOlC,QAAQ,CAAE;QAChBiB,SAAS,EAAE,IAAI;QACfC,WAAW,EAAEe,gBAAgB;QAC7Bb,SAAS,EAAEc;MACZ,CAAE,CAAC;IACJ;EAAC,CACS,CAAC;AAEd,CAAC;AAED,eAAetC,uBAAuB","ignoreList":[]}
|
|
@@ -28,25 +28,28 @@ export default function InspectorControlsSlot({
|
|
|
28
28
|
});
|
|
29
29
|
group = __experimentalGroup;
|
|
30
30
|
}
|
|
31
|
-
const
|
|
32
|
-
const fills = useSlotFills(
|
|
31
|
+
const slotFill = groups[group];
|
|
32
|
+
const fills = useSlotFills(slotFill?.name);
|
|
33
33
|
const motionContextValue = useContext(MotionContext);
|
|
34
34
|
const computedFillProps = useMemo(() => {
|
|
35
35
|
var _fillProps$forwardedC;
|
|
36
36
|
return {
|
|
37
|
-
...
|
|
37
|
+
...fillProps,
|
|
38
38
|
forwardedContext: [...((_fillProps$forwardedC = fillProps?.forwardedContext) !== null && _fillProps$forwardedC !== void 0 ? _fillProps$forwardedC : []), [MotionContext.Provider, {
|
|
39
39
|
value: motionContextValue
|
|
40
40
|
}]]
|
|
41
41
|
};
|
|
42
42
|
}, [motionContextValue, fillProps]);
|
|
43
|
-
if (!
|
|
43
|
+
if (!slotFill) {
|
|
44
44
|
globalThis.SCRIPT_DEBUG === true ? warning(`Unknown InspectorControls group "${group}" provided.`) : void 0;
|
|
45
45
|
return null;
|
|
46
46
|
}
|
|
47
47
|
if (!fills?.length) {
|
|
48
48
|
return null;
|
|
49
49
|
}
|
|
50
|
+
const {
|
|
51
|
+
Slot
|
|
52
|
+
} = slotFill;
|
|
50
53
|
if (label) {
|
|
51
54
|
return /*#__PURE__*/_jsx(BlockSupportToolsPanel, {
|
|
52
55
|
group: group,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalUseSlotFills","useSlotFills","__unstableMotionContext","MotionContext","useContext","useMemo","warning","deprecated","BlockSupportToolsPanel","BlockSupportSlotContainer","groups","jsx","_jsx","InspectorControlsSlot","__experimentalGroup","group","label","fillProps","props","since","version","alternative","
|
|
1
|
+
{"version":3,"names":["__experimentalUseSlotFills","useSlotFills","__unstableMotionContext","MotionContext","useContext","useMemo","warning","deprecated","BlockSupportToolsPanel","BlockSupportSlotContainer","groups","jsx","_jsx","InspectorControlsSlot","__experimentalGroup","group","label","fillProps","props","since","version","alternative","slotFill","fills","name","motionContextValue","computedFillProps","_fillProps$forwardedC","forwardedContext","Provider","value","globalThis","SCRIPT_DEBUG","length","Slot","children","bubblesVirtually"],"sources":["@wordpress/block-editor/src/components/inspector-controls/slot.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseSlotFills as useSlotFills,\n\t__unstableMotionContext as MotionContext,\n} from '@wordpress/components';\nimport { useContext, useMemo } from '@wordpress/element';\nimport warning from '@wordpress/warning';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport BlockSupportToolsPanel from './block-support-tools-panel';\nimport BlockSupportSlotContainer from './block-support-slot-container';\nimport groups from './groups';\n\nexport default function InspectorControlsSlot( {\n\t__experimentalGroup,\n\tgroup = 'default',\n\tlabel,\n\tfillProps,\n\t...props\n} ) {\n\tif ( __experimentalGroup ) {\n\t\tdeprecated(\n\t\t\t'`__experimentalGroup` property in `InspectorControlsSlot`',\n\t\t\t{\n\t\t\t\tsince: '6.2',\n\t\t\t\tversion: '6.4',\n\t\t\t\talternative: '`group`',\n\t\t\t}\n\t\t);\n\t\tgroup = __experimentalGroup;\n\t}\n\tconst slotFill = groups[ group ];\n\tconst fills = useSlotFills( slotFill?.name );\n\n\tconst motionContextValue = useContext( MotionContext );\n\n\tconst computedFillProps = useMemo(\n\t\t() => ( {\n\t\t\t...fillProps,\n\t\t\tforwardedContext: [\n\t\t\t\t...( fillProps?.forwardedContext ?? [] ),\n\t\t\t\t[ MotionContext.Provider, { value: motionContextValue } ],\n\t\t\t],\n\t\t} ),\n\t\t[ motionContextValue, fillProps ]\n\t);\n\n\tif ( ! slotFill ) {\n\t\twarning( `Unknown InspectorControls group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\n\tif ( ! fills?.length ) {\n\t\treturn null;\n\t}\n\n\tconst { Slot } = slotFill;\n\n\tif ( label ) {\n\t\treturn (\n\t\t\t<BlockSupportToolsPanel group={ group } label={ label }>\n\t\t\t\t<BlockSupportSlotContainer\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tfillProps={ computedFillProps }\n\t\t\t\t\tSlot={ Slot }\n\t\t\t\t/>\n\t\t\t</BlockSupportToolsPanel>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Slot { ...props } fillProps={ computedFillProps } bubblesVirtually />\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,0BAA0B,IAAIC,YAAY,EAC1CC,uBAAuB,IAAIC,aAAa,QAClC,uBAAuB;AAC9B,SAASC,UAAU,EAAEC,OAAO,QAAQ,oBAAoB;AACxD,OAAOC,OAAO,MAAM,oBAAoB;AACxC,OAAOC,UAAU,MAAM,uBAAuB;;AAE9C;AACA;AACA;AACA,OAAOC,sBAAsB,MAAM,6BAA6B;AAChE,OAAOC,yBAAyB,MAAM,gCAAgC;AACtE,OAAOC,MAAM,MAAM,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE9B,eAAe,SAASC,qBAAqBA,CAAE;EAC9CC,mBAAmB;EACnBC,KAAK,GAAG,SAAS;EACjBC,KAAK;EACLC,SAAS;EACT,GAAGC;AACJ,CAAC,EAAG;EACH,IAAKJ,mBAAmB,EAAG;IAC1BP,UAAU,CACT,2DAA2D,EAC3D;MACCY,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE,KAAK;MACdC,WAAW,EAAE;IACd,CACD,CAAC;IACDN,KAAK,GAAGD,mBAAmB;EAC5B;EACA,MAAMQ,QAAQ,GAAGZ,MAAM,CAAEK,KAAK,CAAE;EAChC,MAAMQ,KAAK,GAAGtB,YAAY,CAAEqB,QAAQ,EAAEE,IAAK,CAAC;EAE5C,MAAMC,kBAAkB,GAAGrB,UAAU,CAAED,aAAc,CAAC;EAEtD,MAAMuB,iBAAiB,GAAGrB,OAAO,CAChC;IAAA,IAAAsB,qBAAA;IAAA,OAAQ;MACP,GAAGV,SAAS;MACZW,gBAAgB,EAAE,CACjB,KAAAD,qBAAA,GAAKV,SAAS,EAAEW,gBAAgB,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CAAE,EACxC,CAAExB,aAAa,CAAC0B,QAAQ,EAAE;QAAEC,KAAK,EAAEL;MAAmB,CAAC,CAAE;IAE3D,CAAC;EAAA,CAAE,EACH,CAAEA,kBAAkB,EAAER,SAAS,CAChC,CAAC;EAED,IAAK,CAAEK,QAAQ,EAAG;IACjBS,UAAA,CAAAC,YAAA,YAAA1B,OAAO,CAAE,oCAAqCS,KAAK,aAAe,CAAC;IACnE,OAAO,IAAI;EACZ;EAEA,IAAK,CAAEQ,KAAK,EAAEU,MAAM,EAAG;IACtB,OAAO,IAAI;EACZ;EAEA,MAAM;IAAEC;EAAK,CAAC,GAAGZ,QAAQ;EAEzB,IAAKN,KAAK,EAAG;IACZ,oBACCJ,IAAA,CAACJ,sBAAsB;MAACO,KAAK,EAAGA,KAAO;MAACC,KAAK,EAAGA,KAAO;MAAAmB,QAAA,eACtDvB,IAAA,CAACH,yBAAyB;QAAA,GACpBS,KAAK;QACVD,SAAS,EAAGS,iBAAmB;QAC/BQ,IAAI,EAAGA;MAAM,CACb;IAAC,CACqB,CAAC;EAE3B;EAEA,oBACCtB,IAAA,CAACsB,IAAI;IAAA,GAAMhB,KAAK;IAAGD,SAAS,EAAGS,iBAAmB;IAACU,gBAAgB;EAAA,CAAE,CAAC;AAExE","ignoreList":[]}
|
|
@@ -48,7 +48,7 @@ const PositionControlsPanel = () => {
|
|
|
48
48
|
});
|
|
49
49
|
};
|
|
50
50
|
const PositionControls = () => {
|
|
51
|
-
const fills = useSlotFills(InspectorControlsGroups.position.
|
|
51
|
+
const fills = useSlotFills(InspectorControlsGroups.position.name);
|
|
52
52
|
const hasFills = Boolean(fills && fills.length);
|
|
53
53
|
if (!hasFills) {
|
|
54
54
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PanelBody","__experimentalUseSlotFills","useSlotFills","useSelect","useLayoutEffect","useState","__","InspectorControlsGroups","default","InspectorControls","store","blockEditorStore","jsx","_jsx","PositionControlsPanel","initialOpen","setInitialOpen","multiSelectedBlocks","select","getBlocksByClientId","getSelectedBlockClientIds","clientIds","undefined","some","attributes","style","position","type","className","title","children","Slot","group","PositionControls","fills","
|
|
1
|
+
{"version":3,"names":["PanelBody","__experimentalUseSlotFills","useSlotFills","useSelect","useLayoutEffect","useState","__","InspectorControlsGroups","default","InspectorControls","store","blockEditorStore","jsx","_jsx","PositionControlsPanel","initialOpen","setInitialOpen","multiSelectedBlocks","select","getBlocksByClientId","getSelectedBlockClientIds","clientIds","undefined","some","attributes","style","position","type","className","title","children","Slot","group","PositionControls","fills","name","hasFills","Boolean","length"],"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/position-controls-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\t__experimentalUseSlotFills as useSlotFills,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport InspectorControlsGroups from '../inspector-controls/groups';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { store as blockEditorStore } from '../../store';\n\nconst PositionControlsPanel = () => {\n\tconst [ initialOpen, setInitialOpen ] = useState();\n\n\t// Determine whether the panel should be expanded.\n\tconst { multiSelectedBlocks } = useSelect( ( select ) => {\n\t\tconst { getBlocksByClientId, getSelectedBlockClientIds } =\n\t\t\tselect( blockEditorStore );\n\t\tconst clientIds = getSelectedBlockClientIds();\n\t\treturn {\n\t\t\tmultiSelectedBlocks: getBlocksByClientId( clientIds ),\n\t\t};\n\t}, [] );\n\n\tuseLayoutEffect( () => {\n\t\t// If any selected block has a position set, open the panel by default.\n\t\t// The first block's value will still be used within the control though.\n\t\tif ( initialOpen === undefined ) {\n\t\t\tsetInitialOpen(\n\t\t\t\tmultiSelectedBlocks.some(\n\t\t\t\t\t( { attributes } ) => !! attributes?.style?.position?.type\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ initialOpen, multiSelectedBlocks, setInitialOpen ] );\n\n\treturn (\n\t\t<PanelBody\n\t\t\tclassName=\"block-editor-block-inspector__position\"\n\t\t\ttitle={ __( 'Position' ) }\n\t\t\tinitialOpen={ initialOpen ?? false }\n\t\t>\n\t\t\t<InspectorControls.Slot group=\"position\" />\n\t\t</PanelBody>\n\t);\n};\n\nconst PositionControls = () => {\n\tconst fills = useSlotFills( InspectorControlsGroups.position.name );\n\tconst hasFills = Boolean( fills && fills.length );\n\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\treturn <PositionControlsPanel />;\n};\n\nexport default PositionControls;\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,SAAS,EACTC,0BAA0B,IAAIC,YAAY,QACpC,uBAAuB;AAC9B,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,eAAe,EAAEC,QAAQ,QAAQ,oBAAoB;AAC9D,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,SAASC,OAAO,IAAIC,iBAAiB,QAAQ,uBAAuB;AACpE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExD,MAAMC,qBAAqB,GAAGA,CAAA,KAAM;EACnC,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAGX,QAAQ,CAAC,CAAC;;EAElD;EACA,MAAM;IAAEY;EAAoB,CAAC,GAAGd,SAAS,CAAIe,MAAM,IAAM;IACxD,MAAM;MAAEC,mBAAmB;MAAEC;IAA0B,CAAC,GACvDF,MAAM,CAAEP,gBAAiB,CAAC;IAC3B,MAAMU,SAAS,GAAGD,yBAAyB,CAAC,CAAC;IAC7C,OAAO;MACNH,mBAAmB,EAAEE,mBAAmB,CAAEE,SAAU;IACrD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEPjB,eAAe,CAAE,MAAM;IACtB;IACA;IACA,IAAKW,WAAW,KAAKO,SAAS,EAAG;MAChCN,cAAc,CACbC,mBAAmB,CAACM,IAAI,CACvB,CAAE;QAAEC;MAAW,CAAC,KAAM,CAAC,CAAEA,UAAU,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,IACvD,CACD,CAAC;IACF;EACD,CAAC,EAAE,CAAEZ,WAAW,EAAEE,mBAAmB,EAAED,cAAc,CAAG,CAAC;EAEzD,oBACCH,IAAA,CAACb,SAAS;IACT4B,SAAS,EAAC,wCAAwC;IAClDC,KAAK,EAAGvB,EAAE,CAAE,UAAW,CAAG;IAC1BS,WAAW,EAAGA,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI,KAAO;IAAAe,QAAA,eAEpCjB,IAAA,CAACJ,iBAAiB,CAACsB,IAAI;MAACC,KAAK,EAAC;IAAU,CAAE;EAAC,CACjC,CAAC;AAEd,CAAC;AAED,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAC9B,MAAMC,KAAK,GAAGhC,YAAY,CAAEK,uBAAuB,CAACmB,QAAQ,CAACS,IAAK,CAAC;EACnE,MAAMC,QAAQ,GAAGC,OAAO,CAAEH,KAAK,IAAIA,KAAK,CAACI,MAAO,CAAC;EAEjD,IAAK,CAAEF,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EAEA,oBAAOvB,IAAA,CAACC,qBAAqB,IAAE,CAAC;AACjC,CAAC;AAED,eAAemB,gBAAgB","ignoreList":[]}
|
|
@@ -42,20 +42,20 @@ export default function useInspectorControlsTabs(blockName) {
|
|
|
42
42
|
|
|
43
43
|
// List View Tab: If there are any fills for the list group add that tab.
|
|
44
44
|
const listViewDisabled = useIsListViewTabDisabled(blockName);
|
|
45
|
-
const listFills = useSlotFills(listGroup.
|
|
45
|
+
const listFills = useSlotFills(listGroup.name);
|
|
46
46
|
const hasListFills = !listViewDisabled && !!listFills && listFills.length;
|
|
47
47
|
|
|
48
48
|
// Styles Tab: Add this tab if there are any fills for block supports
|
|
49
49
|
// e.g. border, color, spacing, typography, etc.
|
|
50
|
-
const styleFills = [...(useSlotFills(borderGroup.
|
|
50
|
+
const styleFills = [...(useSlotFills(borderGroup.name) || []), ...(useSlotFills(colorGroup.name) || []), ...(useSlotFills(dimensionsGroup.name) || []), ...(useSlotFills(stylesGroup.name) || []), ...(useSlotFills(typographyGroup.name) || []), ...(useSlotFills(effectsGroup.name) || [])];
|
|
51
51
|
const hasStyleFills = styleFills.length;
|
|
52
52
|
|
|
53
53
|
// Settings Tab: If we don't have multiple tabs to display
|
|
54
54
|
// (i.e. both list view and styles), check only the default and position
|
|
55
55
|
// InspectorControls slots. If we have multiple tabs, we'll need to check
|
|
56
56
|
// the advanced controls slot as well to ensure they are rendered.
|
|
57
|
-
const advancedFills = [...(useSlotFills(InspectorAdvancedControls.slotName) || []), ...(useSlotFills(bindingsGroup.
|
|
58
|
-
const settingsFills = [...(useSlotFills(defaultGroup.
|
|
57
|
+
const advancedFills = [...(useSlotFills(InspectorAdvancedControls.slotName) || []), ...(useSlotFills(bindingsGroup.name) || [])];
|
|
58
|
+
const settingsFills = [...(useSlotFills(defaultGroup.name) || []), ...(useSlotFills(positionGroup.name) || []), ...(hasListFills && hasStyleFills > 1 ? advancedFills : [])];
|
|
59
59
|
|
|
60
60
|
// Add the tabs in the order that they will default to if available.
|
|
61
61
|
// List View > Settings > Styles.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalUseSlotFills","useSlotFills","useSelect","InspectorControlsGroups","useIsListViewTabDisabled","InspectorAdvancedControls","TAB_LIST_VIEW","TAB_SETTINGS","TAB_STYLES","store","blockEditorStore","EMPTY_ARRAY","getShowTabs","blockName","tabSettings","undefined","default","useInspectorControlsTabs","tabs","bindings","bindingsGroup","border","borderGroup","color","colorGroup","defaultGroup","dimensions","dimensionsGroup","list","listGroup","position","positionGroup","styles","stylesGroup","typography","typographyGroup","effects","effectsGroup","listViewDisabled","listFills","
|
|
1
|
+
{"version":3,"names":["__experimentalUseSlotFills","useSlotFills","useSelect","InspectorControlsGroups","useIsListViewTabDisabled","InspectorAdvancedControls","TAB_LIST_VIEW","TAB_SETTINGS","TAB_STYLES","store","blockEditorStore","EMPTY_ARRAY","getShowTabs","blockName","tabSettings","undefined","default","useInspectorControlsTabs","tabs","bindings","bindingsGroup","border","borderGroup","color","colorGroup","defaultGroup","dimensions","dimensionsGroup","list","listGroup","position","positionGroup","styles","stylesGroup","typography","typographyGroup","effects","effectsGroup","listViewDisabled","listFills","name","hasListFills","length","styleFills","hasStyleFills","advancedFills","slotName","settingsFills","push","select","getSettings","blockInspectorTabs","showTabs"],"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalUseSlotFills as useSlotFills } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InspectorControlsGroups from '../inspector-controls/groups';\nimport useIsListViewTabDisabled from './use-is-list-view-tab-disabled';\nimport { InspectorAdvancedControls } from '../inspector-controls';\nimport { TAB_LIST_VIEW, TAB_SETTINGS, TAB_STYLES } from './utils';\nimport { store as blockEditorStore } from '../../store';\n\nconst EMPTY_ARRAY = [];\n\nfunction getShowTabs( blockName, tabSettings = {} ) {\n\t// Block specific setting takes precedence over generic default.\n\tif ( tabSettings[ blockName ] !== undefined ) {\n\t\treturn tabSettings[ blockName ];\n\t}\n\n\t// Use generic default if set over the Gutenberg experiment option.\n\tif ( tabSettings.default !== undefined ) {\n\t\treturn tabSettings.default;\n\t}\n\n\treturn true;\n}\n\nexport default function useInspectorControlsTabs( blockName ) {\n\tconst tabs = [];\n\tconst {\n\t\tbindings: bindingsGroup,\n\t\tborder: borderGroup,\n\t\tcolor: colorGroup,\n\t\tdefault: defaultGroup,\n\t\tdimensions: dimensionsGroup,\n\t\tlist: listGroup,\n\t\tposition: positionGroup,\n\t\tstyles: stylesGroup,\n\t\ttypography: typographyGroup,\n\t\teffects: effectsGroup,\n\t} = InspectorControlsGroups;\n\n\t// List View Tab: If there are any fills for the list group add that tab.\n\tconst listViewDisabled = useIsListViewTabDisabled( blockName );\n\tconst listFills = useSlotFills( listGroup.name );\n\tconst hasListFills = ! listViewDisabled && !! listFills && listFills.length;\n\n\t// Styles Tab: Add this tab if there are any fills for block supports\n\t// e.g. border, color, spacing, typography, etc.\n\tconst styleFills = [\n\t\t...( useSlotFills( borderGroup.name ) || [] ),\n\t\t...( useSlotFills( colorGroup.name ) || [] ),\n\t\t...( useSlotFills( dimensionsGroup.name ) || [] ),\n\t\t...( useSlotFills( stylesGroup.name ) || [] ),\n\t\t...( useSlotFills( typographyGroup.name ) || [] ),\n\t\t...( useSlotFills( effectsGroup.name ) || [] ),\n\t];\n\tconst hasStyleFills = styleFills.length;\n\n\t// Settings Tab: If we don't have multiple tabs to display\n\t// (i.e. both list view and styles), check only the default and position\n\t// InspectorControls slots. If we have multiple tabs, we'll need to check\n\t// the advanced controls slot as well to ensure they are rendered.\n\tconst advancedFills = [\n\t\t...( useSlotFills( InspectorAdvancedControls.slotName ) || [] ),\n\t\t...( useSlotFills( bindingsGroup.name ) || [] ),\n\t];\n\n\tconst settingsFills = [\n\t\t...( useSlotFills( defaultGroup.name ) || [] ),\n\t\t...( useSlotFills( positionGroup.name ) || [] ),\n\t\t...( hasListFills && hasStyleFills > 1 ? advancedFills : [] ),\n\t];\n\n\t// Add the tabs in the order that they will default to if available.\n\t// List View > Settings > Styles.\n\tif ( hasListFills ) {\n\t\ttabs.push( TAB_LIST_VIEW );\n\t}\n\n\tif ( settingsFills.length ) {\n\t\ttabs.push( TAB_SETTINGS );\n\t}\n\n\tif ( hasStyleFills ) {\n\t\ttabs.push( TAB_STYLES );\n\t}\n\n\tconst tabSettings = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().blockInspectorTabs;\n\t}, [] );\n\n\tconst showTabs = getShowTabs( blockName, tabSettings );\n\treturn showTabs ? tabs : EMPTY_ARRAY;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -212,38 +212,46 @@ export function MediaPlaceholder({
|
|
|
212
212
|
return;
|
|
213
213
|
}
|
|
214
214
|
function recursivelyFindMediaFromBlocks(_blocks) {
|
|
215
|
-
return _blocks.flatMap(block => (block.name === 'core/image' || block.name === 'core/audio' || block.name === 'core/video') && block.attributes.url ? [block] : recursivelyFindMediaFromBlocks(block.innerBlocks));
|
|
215
|
+
return _blocks.flatMap(block => (block.name === 'core/image' || block.name === 'core/audio' || block.name === 'core/video') && (block.attributes.url || block.attributes.src) ? [block] : recursivelyFindMediaFromBlocks(block.innerBlocks));
|
|
216
216
|
}
|
|
217
217
|
const mediaBlocks = recursivelyFindMediaFromBlocks(blocks);
|
|
218
218
|
if (!mediaBlocks.length) {
|
|
219
219
|
return;
|
|
220
220
|
}
|
|
221
|
-
const uploadedMediaList = await Promise.all(mediaBlocks.map(block =>
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
221
|
+
const uploadedMediaList = await Promise.all(mediaBlocks.map(block => {
|
|
222
|
+
const blockType = block.name.split('/')[1];
|
|
223
|
+
if (block.attributes.id) {
|
|
224
|
+
block.attributes.type = blockType;
|
|
225
|
+
return block.attributes;
|
|
226
|
+
}
|
|
227
|
+
return new Promise((resolve, reject) => {
|
|
228
|
+
window.fetch(block.attributes.url).then(response => response.blob()).then(blob => mediaUpload({
|
|
229
|
+
filesList: [blob],
|
|
230
|
+
additionalData: {
|
|
231
|
+
title: block.attributes.title,
|
|
232
|
+
alt_text: block.attributes.alt,
|
|
233
|
+
caption: block.attributes.caption,
|
|
234
|
+
type: blockType
|
|
235
|
+
},
|
|
236
|
+
onFileChange: ([media]) => {
|
|
237
|
+
if (media.id) {
|
|
238
|
+
resolve(media);
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
allowedTypes,
|
|
242
|
+
onError: reject
|
|
243
|
+
})).catch(() => resolve(block.attributes.url));
|
|
244
|
+
});
|
|
245
|
+
})).catch(err => onError(err));
|
|
238
246
|
if (multiple) {
|
|
239
247
|
onSelect(uploadedMediaList);
|
|
240
248
|
} else {
|
|
241
249
|
onSelect(uploadedMediaList[0]);
|
|
242
250
|
}
|
|
243
251
|
}
|
|
244
|
-
async function
|
|
252
|
+
async function onDrop(event) {
|
|
245
253
|
const blocks = pasteHandler({
|
|
246
|
-
HTML
|
|
254
|
+
HTML: event.dataTransfer?.getData('default')
|
|
247
255
|
});
|
|
248
256
|
return await handleBlocksDrop(blocks);
|
|
249
257
|
}
|
|
@@ -308,7 +316,7 @@ export function MediaPlaceholder({
|
|
|
308
316
|
}
|
|
309
317
|
return /*#__PURE__*/_jsx(DropZone, {
|
|
310
318
|
onFilesDrop: onFilesUpload,
|
|
311
|
-
|
|
319
|
+
onDrop: onDrop
|
|
312
320
|
});
|
|
313
321
|
};
|
|
314
322
|
const renderCancelLink = () => {
|