@wordpress/block-library 8.3.6 → 8.3.7
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/build/list-item/hooks/use-outdent-list-item.js +2 -1
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/navigation/edit/index.js +4 -2
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +4 -1
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +1 -1
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation-link/edit.js +0 -11
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +1 -13
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +5 -1
- package/build/page-list/edit.js.map +1 -1
- package/build/query/edit/query-placeholder.js +3 -2
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/template-part/edit/import-controls.js +4 -24
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +69 -19
- package/build/template-part/edit/utils/transformers.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +2 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/navigation/edit/index.js +4 -2
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +4 -1
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation-link/edit.js +0 -11
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +1 -13
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +5 -1
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +4 -3
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +4 -23
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +69 -20
- package/build-module/template-part/edit/utils/transformers.js.map +1 -1
- package/build-style/editor-rtl.css +5 -1
- package/build-style/editor.css +5 -1
- package/build-style/navigation/editor-rtl.css +1 -1
- package/build-style/navigation/editor.css +1 -1
- package/build-style/page-list/editor-rtl.css +4 -0
- package/build-style/page-list/editor.css +4 -0
- package/package.json +4 -4
- package/src/list-item/hooks/use-outdent-list-item.js +2 -1
- package/src/navigation/edit/index.js +3 -1
- package/src/navigation/edit/inner-blocks.js +3 -0
- package/src/navigation/edit/menu-inspector-controls.js +1 -3
- package/src/navigation/editor.scss +23 -20
- package/src/navigation/index.php +8 -6
- package/src/navigation-link/edit.js +0 -9
- package/src/navigation-link/index.php +4 -5
- package/src/navigation-submenu/edit.js +0 -10
- package/src/navigation-submenu/index.php +23 -6
- package/src/page-list/edit.js +3 -1
- package/src/page-list/editor.scss +6 -0
- package/src/query/edit/query-placeholder.js +10 -5
- package/src/template-part/edit/import-controls.js +2 -29
- package/src/template-part/edit/utils/transformers.js +96 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query/edit/query-placeholder.js"],"names":["useSelect","useDispatch","createBlocksFromInnerBlocksTemplate","store","blocksStore","useState","useBlockProps","blockEditorStore","__experimentalBlockVariationPicker","__experimentalGetMatchingVariation","getMatchingVariation","Button","Placeholder","__","useScopedBlockVariations","QueryPlaceholder","attributes","clientId","name","openPatternSelectionModal","setAttributes","isStartingBlank","setIsStartingBlank","blockProps","blockType","allVariations","hasPatterns","select","getBlockVariations","getBlockType","getBlockRootClientId","getPatternsByBlockTypes","rootClientId","length","matchingVariation","icon","src","label","title","QueryVariationPicker","scopeVariations","replaceInnerBlocks","variation","query","postType","namespace","innerBlocks"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SACCC,mCADD,EAECC,KAAK,IAAIC,WAFV,QAGO,mBAHP;AAIA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SACCC,aADD,EAECH,KAAK,IAAII,gBAFV,EAGCC,kCAHD,EAICC,kCAAkC,IAAIC,oBAJvC,QAKO,yBALP;AAMA,SAASC,MAAT,EAAiBC,WAAjB,QAAoC,uBAApC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,SAASC,wBAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/query-placeholder.js"],"names":["useSelect","useDispatch","createBlocksFromInnerBlocksTemplate","store","blocksStore","useState","useBlockProps","blockEditorStore","__experimentalBlockVariationPicker","__experimentalGetMatchingVariation","getMatchingVariation","Button","Placeholder","__","useScopedBlockVariations","useBlockNameForPatterns","QueryPlaceholder","attributes","clientId","name","openPatternSelectionModal","setAttributes","isStartingBlank","setIsStartingBlank","blockProps","blockNameForPatterns","blockType","allVariations","hasPatterns","select","getBlockVariations","getBlockType","getBlockRootClientId","getPatternsByBlockTypes","rootClientId","length","matchingVariation","icon","src","label","title","QueryVariationPicker","scopeVariations","replaceInnerBlocks","variation","query","postType","namespace","innerBlocks"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useState } from '@wordpress/element';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalBlockVariationPicker,\n\t__experimentalGetMatchingVariation as getMatchingVariation,\n} from '@wordpress/block-editor';\nimport { Button, Placeholder } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useScopedBlockVariations, useBlockNameForPatterns } from '../utils';\n\nexport default function QueryPlaceholder( {\n\tattributes,\n\tclientId,\n\tname,\n\topenPatternSelectionModal,\n\tsetAttributes,\n} ) {\n\tconst [ isStartingBlank, setIsStartingBlank ] = useState( false );\n\tconst blockProps = useBlockProps();\n\tconst blockNameForPatterns = useBlockNameForPatterns(\n\t\tclientId,\n\t\tattributes\n\t);\n\n\tconst { blockType, allVariations, hasPatterns } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockVariations, getBlockType } = select( blocksStore );\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tallVariations: getBlockVariations( name ),\n\t\t\t\thasPatterns: !! getPatternsByBlockTypes(\n\t\t\t\t\tblockNameForPatterns,\n\t\t\t\t\trootClientId\n\t\t\t\t).length,\n\t\t\t};\n\t\t},\n\t\t[ name, blockNameForPatterns, clientId ]\n\t);\n\n\tconst matchingVariation = getMatchingVariation( attributes, allVariations );\n\tconst icon =\n\t\tmatchingVariation?.icon?.src ||\n\t\tmatchingVariation?.icon ||\n\t\tblockType?.icon?.src;\n\tconst label = matchingVariation?.title || blockType?.title;\n\tif ( isStartingBlank ) {\n\t\treturn (\n\t\t\t<QueryVariationPicker\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t/>\n\t\t);\n\t}\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Choose a pattern for the query loop or start blank.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ !! hasPatterns && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ openPatternSelectionModal }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Choose' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetIsStartingBlank( true );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Start blank' ) }\n\t\t\t\t</Button>\n\t\t\t</Placeholder>\n\t\t</div>\n\t);\n}\n\nfunction QueryVariationPicker( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\ticon,\n\tlabel,\n} ) {\n\tconst scopeVariations = useScopedBlockVariations( attributes );\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t\tvariations={ scopeVariations }\n\t\t\t\tonSelect={ ( variation ) => {\n\t\t\t\t\tif ( variation.attributes ) {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t...variation.attributes,\n\t\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\t\t...variation.attributes.query,\n\t\t\t\t\t\t\t\tpostType:\n\t\t\t\t\t\t\t\t\tattributes.query.postType ||\n\t\t\t\t\t\t\t\t\tvariation.attributes.query.postType,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tnamespace: attributes.namespace,\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tif ( variation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tvariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tfalse\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</div>\n\t);\n}\n"]}
|
|
@@ -7,7 +7,6 @@ import { __, sprintf } from '@wordpress/i18n';
|
|
|
7
7
|
import { useMemo, useState } from '@wordpress/element';
|
|
8
8
|
import { useDispatch, useSelect, useRegistry } from '@wordpress/data';
|
|
9
9
|
import { Button, FlexBlock, FlexItem, SelectControl, __experimentalHStack as HStack, __experimentalSpacer as Spacer } from '@wordpress/components';
|
|
10
|
-
import { switchToBlockType, getPossibleBlockTransformations } from '@wordpress/blocks';
|
|
11
10
|
import { store as coreStore } from '@wordpress/core-data';
|
|
12
11
|
import { store as noticesStore } from '@wordpress/notices';
|
|
13
12
|
/**
|
|
@@ -98,32 +97,14 @@ export function TemplatePartImportControls(_ref) {
|
|
|
98
97
|
});
|
|
99
98
|
const skippedWidgets = new Set();
|
|
100
99
|
const blocks = widgets.flatMap(widget => {
|
|
101
|
-
const block = transformWidgetToBlock(widget);
|
|
100
|
+
const block = transformWidgetToBlock(widget); // Skip the block if we have no matching transformations.
|
|
102
101
|
|
|
103
|
-
if (block
|
|
104
|
-
return block;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
const transforms = getPossibleBlockTransformations([block]).filter(item => {
|
|
108
|
-
var _item$transforms, _item$transforms$from, _item$transforms2, _item$transforms2$to;
|
|
109
|
-
|
|
110
|
-
// The block without any transformations can't be a wildcard.
|
|
111
|
-
if (!item.transforms) {
|
|
112
|
-
return true;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
const hasWildCardFrom = (_item$transforms = item.transforms) === null || _item$transforms === void 0 ? void 0 : (_item$transforms$from = _item$transforms.from) === null || _item$transforms$from === void 0 ? void 0 : _item$transforms$from.find(from => from.blocks && from.blocks.includes('*'));
|
|
116
|
-
const hasWildCardTo = (_item$transforms2 = item.transforms) === null || _item$transforms2 === void 0 ? void 0 : (_item$transforms2$to = _item$transforms2.to) === null || _item$transforms2$to === void 0 ? void 0 : _item$transforms2$to.find(to => to.blocks && to.blocks.includes('*'));
|
|
117
|
-
return !hasWildCardFrom && !hasWildCardTo;
|
|
118
|
-
}); // Skip the block if we have no matching transformations.
|
|
119
|
-
|
|
120
|
-
if (!transforms.length) {
|
|
102
|
+
if (!block) {
|
|
121
103
|
skippedWidgets.add(widget.id_base);
|
|
122
104
|
return [];
|
|
123
|
-
}
|
|
124
|
-
|
|
105
|
+
}
|
|
125
106
|
|
|
126
|
-
return
|
|
107
|
+
return block;
|
|
127
108
|
});
|
|
128
109
|
await createFromBlocks(blocks,
|
|
129
110
|
/* translators: %s: name of the widget area */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/template-part/edit/import-controls.js"],"names":["__","sprintf","useMemo","useState","useDispatch","useSelect","useRegistry","Button","FlexBlock","FlexItem","SelectControl","__experimentalHStack","HStack","__experimentalSpacer","Spacer","switchToBlockType","getPossibleBlockTransformations","store","coreStore","noticesStore","useCreateTemplatePartFromBlocks","transformWidgetToBlock","SIDEBARS_QUERY","per_page","_fields","TemplatePartImportControls","area","setAttributes","selectedSidebar","setSelectedSidebar","isBusy","setIsBusy","registry","sidebars","hasResolved","select","getSidebars","hasFinishedResolution","createErrorNotice","createFromBlocks","options","sidebarOptions","filter","widgetArea","id","widgets","length","map","value","label","name","createFromWidgets","event","preventDefault","sidebar","find","getWidgets","resolveSelect","_embed","skippedWidgets","Set","blocks","flatMap","widget","block","transforms","item","hasWildCardFrom","from","includes","hasWildCardTo","to","add","id_base","size","Array","join","type","marginBottom","marginTop"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tButton,\n\tFlexBlock,\n\tFlexItem,\n\tSelectControl,\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tgetPossibleBlockTransformations,\n} from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { useCreateTemplatePartFromBlocks } from './utils/hooks';\nimport { transformWidgetToBlock } from './utils/transformers';\n\nconst SIDEBARS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,description,status,widgets',\n};\n\nexport function TemplatePartImportControls( { area, setAttributes } ) {\n\tconst [ selectedSidebar, setSelectedSidebar ] = useState( '' );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\tconst registry = useRegistry();\n\tconst { sidebars, hasResolved } = useSelect( ( select ) => {\n\t\tconst { getSidebars, hasFinishedResolution } = select( coreStore );\n\n\t\treturn {\n\t\t\tsidebars: getSidebars( SIDEBARS_QUERY ),\n\t\t\thasResolved: hasFinishedResolution( 'getSidebars', [\n\t\t\t\tSIDEBARS_QUERY,\n\t\t\t] ),\n\t\t};\n\t}, [] );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\tconst options = useMemo( () => {\n\t\tconst sidebarOptions = ( sidebars ?? [] )\n\t\t\t.filter(\n\t\t\t\t( widgetArea ) =>\n\t\t\t\t\twidgetArea.id !== 'wp_inactive_widgets' &&\n\t\t\t\t\twidgetArea.widgets.length > 0\n\t\t\t)\n\t\t\t.map( ( widgetArea ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: widgetArea.id,\n\t\t\t\t\tlabel: widgetArea.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\tif ( ! sidebarOptions.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\t{ value: '', label: __( 'Select widget area' ) },\n\t\t\t...sidebarOptions,\n\t\t];\n\t}, [ sidebars ] );\n\n\t// Render an empty node while data is loading to avoid SlotFill re-positioning bug.\n\t// See: https://github.com/WordPress/gutenberg/issues/15641.\n\tif ( ! hasResolved ) {\n\t\treturn <Spacer marginBottom=\"0\" />;\n\t}\n\n\tif ( hasResolved && ! options.length ) {\n\t\treturn null;\n\t}\n\n\tasync function createFromWidgets( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy || ! selectedSidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst sidebar = options.find(\n\t\t\t( { value } ) => value === selectedSidebar\n\t\t);\n\t\tconst { getWidgets } = registry.resolveSelect( coreStore );\n\n\t\t// The widgets API always returns a successful response.\n\t\tconst widgets = await getWidgets( {\n\t\t\tsidebar: sidebar.value,\n\t\t\t_embed: 'about',\n\t\t} );\n\n\t\tconst skippedWidgets = new Set();\n\t\tconst blocks = widgets.flatMap( ( widget ) => {\n\t\t\tconst block = transformWidgetToBlock( widget );\n\n\t\t\tif ( block.name !== 'core/legacy-widget' ) {\n\t\t\t\treturn block;\n\t\t\t}\n\n\t\t\tconst transforms = getPossibleBlockTransformations( [\n\t\t\t\tblock,\n\t\t\t] ).filter( ( item ) => {\n\t\t\t\t// The block without any transformations can't be a wildcard.\n\t\t\t\tif ( ! item.transforms ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst hasWildCardFrom = item.transforms?.from?.find(\n\t\t\t\t\t( from ) => from.blocks && from.blocks.includes( '*' )\n\t\t\t\t);\n\t\t\t\tconst hasWildCardTo = item.transforms?.to?.find(\n\t\t\t\t\t( to ) => to.blocks && to.blocks.includes( '*' )\n\t\t\t\t);\n\n\t\t\t\treturn ! hasWildCardFrom && ! hasWildCardTo;\n\t\t\t} );\n\n\t\t\t// Skip the block if we have no matching transformations.\n\t\t\tif ( ! transforms.length ) {\n\t\t\t\tskippedWidgets.add( widget.id_base );\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\t// Try transforming the Legacy Widget into a first matching block.\n\t\t\treturn switchToBlockType( block, transforms[ 0 ].name );\n\t\t} );\n\n\t\tawait createFromBlocks(\n\t\t\tblocks,\n\t\t\t/* translators: %s: name of the widget area */\n\t\t\tsprintf( __( 'Widget area: %s' ), sidebar.label )\n\t\t);\n\n\t\tif ( skippedWidgets.size ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: the list of widgets */\n\t\t\t\t\t__( 'Unable to import the following widgets: %s.' ),\n\t\t\t\t\tArray.from( skippedWidgets ).join( ', ' )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tsetIsBusy( false );\n\t}\n\n\treturn (\n\t\t<Spacer marginBottom=\"4\">\n\t\t\t<HStack as=\"form\" onSubmit={ createFromWidgets }>\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Import widget area' ) }\n\t\t\t\t\t\tvalue={ selectedSidebar }\n\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\tonChange={ ( value ) => setSelectedSidebar( value ) }\n\t\t\t\t\t\tdisabled={ ! options.length }\n\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t\t<FlexItem\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tmarginBottom: '8px',\n\t\t\t\t\t\tmarginTop: 'auto',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\taria-disabled={ isBusy || ! selectedSidebar }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Import' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/template-part/edit/import-controls.js"],"names":["__","sprintf","useMemo","useState","useDispatch","useSelect","useRegistry","Button","FlexBlock","FlexItem","SelectControl","__experimentalHStack","HStack","__experimentalSpacer","Spacer","store","coreStore","noticesStore","useCreateTemplatePartFromBlocks","transformWidgetToBlock","SIDEBARS_QUERY","per_page","_fields","TemplatePartImportControls","area","setAttributes","selectedSidebar","setSelectedSidebar","isBusy","setIsBusy","registry","sidebars","hasResolved","select","getSidebars","hasFinishedResolution","createErrorNotice","createFromBlocks","options","sidebarOptions","filter","widgetArea","id","widgets","length","map","value","label","name","createFromWidgets","event","preventDefault","sidebar","find","getWidgets","resolveSelect","_embed","skippedWidgets","Set","blocks","flatMap","widget","block","add","id_base","size","Array","from","join","type","marginBottom","marginTop"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tButton,\n\tFlexBlock,\n\tFlexItem,\n\tSelectControl,\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { useCreateTemplatePartFromBlocks } from './utils/hooks';\nimport { transformWidgetToBlock } from './utils/transformers';\n\nconst SIDEBARS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,description,status,widgets',\n};\n\nexport function TemplatePartImportControls( { area, setAttributes } ) {\n\tconst [ selectedSidebar, setSelectedSidebar ] = useState( '' );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\n\tconst registry = useRegistry();\n\tconst { sidebars, hasResolved } = useSelect( ( select ) => {\n\t\tconst { getSidebars, hasFinishedResolution } = select( coreStore );\n\n\t\treturn {\n\t\t\tsidebars: getSidebars( SIDEBARS_QUERY ),\n\t\t\thasResolved: hasFinishedResolution( 'getSidebars', [\n\t\t\t\tSIDEBARS_QUERY,\n\t\t\t] ),\n\t\t};\n\t}, [] );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\tconst options = useMemo( () => {\n\t\tconst sidebarOptions = ( sidebars ?? [] )\n\t\t\t.filter(\n\t\t\t\t( widgetArea ) =>\n\t\t\t\t\twidgetArea.id !== 'wp_inactive_widgets' &&\n\t\t\t\t\twidgetArea.widgets.length > 0\n\t\t\t)\n\t\t\t.map( ( widgetArea ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: widgetArea.id,\n\t\t\t\t\tlabel: widgetArea.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\tif ( ! sidebarOptions.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn [\n\t\t\t{ value: '', label: __( 'Select widget area' ) },\n\t\t\t...sidebarOptions,\n\t\t];\n\t}, [ sidebars ] );\n\n\t// Render an empty node while data is loading to avoid SlotFill re-positioning bug.\n\t// See: https://github.com/WordPress/gutenberg/issues/15641.\n\tif ( ! hasResolved ) {\n\t\treturn <Spacer marginBottom=\"0\" />;\n\t}\n\n\tif ( hasResolved && ! options.length ) {\n\t\treturn null;\n\t}\n\n\tasync function createFromWidgets( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( isBusy || ! selectedSidebar ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsBusy( true );\n\n\t\tconst sidebar = options.find(\n\t\t\t( { value } ) => value === selectedSidebar\n\t\t);\n\t\tconst { getWidgets } = registry.resolveSelect( coreStore );\n\n\t\t// The widgets API always returns a successful response.\n\t\tconst widgets = await getWidgets( {\n\t\t\tsidebar: sidebar.value,\n\t\t\t_embed: 'about',\n\t\t} );\n\n\t\tconst skippedWidgets = new Set();\n\t\tconst blocks = widgets.flatMap( ( widget ) => {\n\t\t\tconst block = transformWidgetToBlock( widget );\n\n\t\t\t// Skip the block if we have no matching transformations.\n\t\t\tif ( ! block ) {\n\t\t\t\tskippedWidgets.add( widget.id_base );\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn block;\n\t\t} );\n\n\t\tawait createFromBlocks(\n\t\t\tblocks,\n\t\t\t/* translators: %s: name of the widget area */\n\t\t\tsprintf( __( 'Widget area: %s' ), sidebar.label )\n\t\t);\n\n\t\tif ( skippedWidgets.size ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: the list of widgets */\n\t\t\t\t\t__( 'Unable to import the following widgets: %s.' ),\n\t\t\t\t\tArray.from( skippedWidgets ).join( ', ' )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tsetIsBusy( false );\n\t}\n\n\treturn (\n\t\t<Spacer marginBottom=\"4\">\n\t\t\t<HStack as=\"form\" onSubmit={ createFromWidgets }>\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Import widget area' ) }\n\t\t\t\t\t\tvalue={ selectedSidebar }\n\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\tonChange={ ( value ) => setSelectedSidebar( value ) }\n\t\t\t\t\t\tdisabled={ ! options.length }\n\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t\t<FlexItem\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tmarginBottom: '8px',\n\t\t\t\t\t\tmarginTop: 'auto',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\taria-disabled={ isBusy || ! selectedSidebar }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Import' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { createBlock,
|
|
4
|
+
import { parse, cloneBlock, createBlock, getGroupingBlockName, getPossibleBlockTransformations, switchToBlockType } from '@wordpress/blocks';
|
|
5
5
|
/**
|
|
6
6
|
* Converts a widget entity record into a block.
|
|
7
7
|
*
|
|
@@ -10,31 +10,80 @@ import { createBlock, parse } from '@wordpress/blocks';
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
export function transformWidgetToBlock(widget) {
|
|
13
|
-
if (widget.id_base
|
|
14
|
-
|
|
15
|
-
__unstableSkipAutop: true
|
|
16
|
-
});
|
|
13
|
+
if (widget.id_base !== 'block') {
|
|
14
|
+
let attributes;
|
|
17
15
|
|
|
18
|
-
if (
|
|
19
|
-
|
|
16
|
+
if (widget._embedded.about[0].is_multi) {
|
|
17
|
+
attributes = {
|
|
18
|
+
idBase: widget.id_base,
|
|
19
|
+
instance: widget.instance
|
|
20
|
+
};
|
|
21
|
+
} else {
|
|
22
|
+
attributes = {
|
|
23
|
+
id: widget.id
|
|
24
|
+
};
|
|
20
25
|
}
|
|
21
26
|
|
|
22
|
-
return
|
|
27
|
+
return switchLegacyWidgetType(createBlock('core/legacy-widget', attributes));
|
|
23
28
|
}
|
|
24
29
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
const parsedBlocks = parse(widget.instance.raw.content, {
|
|
31
|
+
__unstableSkipAutop: true
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
if (!parsedBlocks.length) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const block = parsedBlocks[0];
|
|
39
|
+
|
|
40
|
+
if (block.name === 'core/widget-group') {
|
|
41
|
+
return createBlock(getGroupingBlockName(), undefined, transformInnerBlocks(block.innerBlocks));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (block.innerBlocks.length > 0) {
|
|
45
|
+
return cloneBlock(block, undefined, transformInnerBlocks(block.innerBlocks));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return block;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Switch Legacy Widget to the first matching transformation block.
|
|
52
|
+
*
|
|
53
|
+
* @param {Object} block Legacy Widget block object
|
|
54
|
+
* @return {Object|undefined} a block
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
function switchLegacyWidgetType(block) {
|
|
58
|
+
const transforms = getPossibleBlockTransformations([block]).filter(item => {
|
|
59
|
+
var _item$transforms, _item$transforms$from, _item$transforms2, _item$transforms2$to;
|
|
60
|
+
|
|
61
|
+
// The block without any transformations can't be a wildcard.
|
|
62
|
+
if (!item.transforms) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const hasWildCardFrom = (_item$transforms = item.transforms) === null || _item$transforms === void 0 ? void 0 : (_item$transforms$from = _item$transforms.from) === null || _item$transforms$from === void 0 ? void 0 : _item$transforms$from.find(from => from.blocks && from.blocks.includes('*'));
|
|
67
|
+
const hasWildCardTo = (_item$transforms2 = item.transforms) === null || _item$transforms2 === void 0 ? void 0 : (_item$transforms2$to = _item$transforms2.to) === null || _item$transforms2$to === void 0 ? void 0 : _item$transforms2$to.find(to => to.blocks && to.blocks.includes('*')); // Skip wildcard transformations.
|
|
68
|
+
|
|
69
|
+
return !hasWildCardFrom && !hasWildCardTo;
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
if (!transforms.length) {
|
|
73
|
+
return undefined;
|
|
36
74
|
}
|
|
37
75
|
|
|
38
|
-
return
|
|
76
|
+
return switchToBlockType(block, transforms[0].name);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function transformInnerBlocks() {
|
|
80
|
+
let innerBlocks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
81
|
+
return innerBlocks.flatMap(block => {
|
|
82
|
+
if (block.name === 'core/legacy-widget') {
|
|
83
|
+
return switchLegacyWidgetType(block);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return createBlock(block.name, block.attributes, transformInnerBlocks(block.innerBlocks));
|
|
87
|
+
}).filter(block => !!block);
|
|
39
88
|
}
|
|
40
89
|
//# sourceMappingURL=transformers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/template-part/edit/utils/transformers.js"],"names":["createBlock","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/template-part/edit/utils/transformers.js"],"names":["parse","cloneBlock","createBlock","getGroupingBlockName","getPossibleBlockTransformations","switchToBlockType","transformWidgetToBlock","widget","id_base","attributes","_embedded","about","is_multi","idBase","instance","id","switchLegacyWidgetType","parsedBlocks","raw","content","__unstableSkipAutop","length","undefined","block","name","transformInnerBlocks","innerBlocks","transforms","filter","item","hasWildCardFrom","from","find","blocks","includes","hasWildCardTo","to","flatMap"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tparse,\n\tcloneBlock,\n\tcreateBlock,\n\tgetGroupingBlockName,\n\tgetPossibleBlockTransformations,\n\tswitchToBlockType,\n} from '@wordpress/blocks';\n\n/**\n * Converts a widget entity record into a block.\n *\n * @param {Object} widget The widget entity record.\n * @return {Object} a block (converted from the entity record).\n */\nexport function transformWidgetToBlock( widget ) {\n\tif ( widget.id_base !== 'block' ) {\n\t\tlet attributes;\n\t\tif ( widget._embedded.about[ 0 ].is_multi ) {\n\t\t\tattributes = {\n\t\t\t\tidBase: widget.id_base,\n\t\t\t\tinstance: widget.instance,\n\t\t\t};\n\t\t} else {\n\t\t\tattributes = {\n\t\t\t\tid: widget.id,\n\t\t\t};\n\t\t}\n\n\t\treturn switchLegacyWidgetType(\n\t\t\tcreateBlock( 'core/legacy-widget', attributes )\n\t\t);\n\t}\n\n\tconst parsedBlocks = parse( widget.instance.raw.content, {\n\t\t__unstableSkipAutop: true,\n\t} );\n\n\tif ( ! parsedBlocks.length ) {\n\t\treturn undefined;\n\t}\n\n\tconst block = parsedBlocks[ 0 ];\n\n\tif ( block.name === 'core/widget-group' ) {\n\t\treturn createBlock(\n\t\t\tgetGroupingBlockName(),\n\t\t\tundefined,\n\t\t\ttransformInnerBlocks( block.innerBlocks )\n\t\t);\n\t}\n\n\tif ( block.innerBlocks.length > 0 ) {\n\t\treturn cloneBlock(\n\t\t\tblock,\n\t\t\tundefined,\n\t\t\ttransformInnerBlocks( block.innerBlocks )\n\t\t);\n\t}\n\n\treturn block;\n}\n\n/**\n * Switch Legacy Widget to the first matching transformation block.\n *\n * @param {Object} block Legacy Widget block object\n * @return {Object|undefined} a block\n */\nfunction switchLegacyWidgetType( block ) {\n\tconst transforms = getPossibleBlockTransformations( [ block ] ).filter(\n\t\t( item ) => {\n\t\t\t// The block without any transformations can't be a wildcard.\n\t\t\tif ( ! item.transforms ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst hasWildCardFrom = item.transforms?.from?.find(\n\t\t\t\t( from ) => from.blocks && from.blocks.includes( '*' )\n\t\t\t);\n\t\t\tconst hasWildCardTo = item.transforms?.to?.find(\n\t\t\t\t( to ) => to.blocks && to.blocks.includes( '*' )\n\t\t\t);\n\n\t\t\t// Skip wildcard transformations.\n\t\t\treturn ! hasWildCardFrom && ! hasWildCardTo;\n\t\t}\n\t);\n\n\tif ( ! transforms.length ) {\n\t\treturn undefined;\n\t}\n\n\treturn switchToBlockType( block, transforms[ 0 ].name );\n}\n\nfunction transformInnerBlocks( innerBlocks = [] ) {\n\treturn innerBlocks\n\t\t.flatMap( ( block ) => {\n\t\t\tif ( block.name === 'core/legacy-widget' ) {\n\t\t\t\treturn switchLegacyWidgetType( block );\n\t\t\t}\n\n\t\t\treturn createBlock(\n\t\t\t\tblock.name,\n\t\t\t\tblock.attributes,\n\t\t\t\ttransformInnerBlocks( block.innerBlocks )\n\t\t\t);\n\t\t} )\n\t\t.filter( ( block ) => !! block );\n}\n"]}
|
|
@@ -1877,7 +1877,7 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
1877
1877
|
opacity: 1;
|
|
1878
1878
|
}
|
|
1879
1879
|
}
|
|
1880
|
-
.wp-block-
|
|
1880
|
+
.wp-block-navigation__loading-indicator-container {
|
|
1881
1881
|
padding: 8px 12px;
|
|
1882
1882
|
}
|
|
1883
1883
|
|
|
@@ -2181,6 +2181,10 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2181
2181
|
margin-right: 0;
|
|
2182
2182
|
}
|
|
2183
2183
|
|
|
2184
|
+
.wp-block-page-list__loading-indicator-container {
|
|
2185
|
+
padding: 8px 12px;
|
|
2186
|
+
}
|
|
2187
|
+
|
|
2184
2188
|
.block-editor-block-list__block[data-type="core/paragraph"].has-drop-cap:focus {
|
|
2185
2189
|
min-height: auto !important;
|
|
2186
2190
|
}
|
package/build-style/editor.css
CHANGED
|
@@ -1885,7 +1885,7 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
1885
1885
|
opacity: 1;
|
|
1886
1886
|
}
|
|
1887
1887
|
}
|
|
1888
|
-
.wp-block-
|
|
1888
|
+
.wp-block-navigation__loading-indicator-container {
|
|
1889
1889
|
padding: 8px 12px;
|
|
1890
1890
|
}
|
|
1891
1891
|
|
|
@@ -2189,6 +2189,10 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2189
2189
|
margin-left: 0;
|
|
2190
2190
|
}
|
|
2191
2191
|
|
|
2192
|
+
.wp-block-page-list__loading-indicator-container {
|
|
2193
|
+
padding: 8px 12px;
|
|
2194
|
+
}
|
|
2195
|
+
|
|
2192
2196
|
.block-editor-block-list__block[data-type="core/paragraph"].has-drop-cap:focus {
|
|
2193
2197
|
min-height: auto !important;
|
|
2194
2198
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/block-library",
|
|
3
|
-
"version": "8.3.
|
|
3
|
+
"version": "8.3.7",
|
|
4
4
|
"description": "Block library for the WordPress editor.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@wordpress/api-fetch": "^6.23.1",
|
|
36
36
|
"@wordpress/autop": "^3.26.1",
|
|
37
37
|
"@wordpress/blob": "^3.26.1",
|
|
38
|
-
"@wordpress/block-editor": "^11.3.
|
|
38
|
+
"@wordpress/block-editor": "^11.3.7",
|
|
39
39
|
"@wordpress/blocks": "^12.3.3",
|
|
40
40
|
"@wordpress/components": "^23.3.5",
|
|
41
41
|
"@wordpress/compose": "^6.3.3",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"@wordpress/notices": "^3.26.3",
|
|
55
55
|
"@wordpress/primitives": "^3.24.2",
|
|
56
56
|
"@wordpress/private-apis": "^0.8.1",
|
|
57
|
-
"@wordpress/reusable-blocks": "^4.3.
|
|
57
|
+
"@wordpress/reusable-blocks": "^4.3.7",
|
|
58
58
|
"@wordpress/rich-text": "^6.3.3",
|
|
59
59
|
"@wordpress/server-side-render": "^4.3.5",
|
|
60
60
|
"@wordpress/url": "^3.27.1",
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"publishConfig": {
|
|
78
78
|
"access": "public"
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "d14fea64bd9ad9d2d86047936974dbed39a5b5b3"
|
|
81
81
|
}
|
|
@@ -112,7 +112,8 @@ export default function useOutdentListItem( clientId ) {
|
|
|
112
112
|
getBlockIndex( parentListItemId ) + 1
|
|
113
113
|
);
|
|
114
114
|
if ( ! getBlockOrder( parentListId ).length ) {
|
|
115
|
-
|
|
115
|
+
const shouldSelectParent = false;
|
|
116
|
+
removeBlock( parentListId, shouldSelectParent );
|
|
116
117
|
}
|
|
117
118
|
} );
|
|
118
119
|
}, [] ),
|
|
@@ -850,7 +850,9 @@ function Navigation( {
|
|
|
850
850
|
|
|
851
851
|
{ isLoading && (
|
|
852
852
|
<TagName { ...blockProps }>
|
|
853
|
-
<
|
|
853
|
+
<div className="wp-block-navigation__loading-indicator-container">
|
|
854
|
+
<Spinner className="wp-block-navigation__loading-indicator" />
|
|
855
|
+
</div>
|
|
854
856
|
</TagName>
|
|
855
857
|
) }
|
|
856
858
|
|
|
@@ -89,9 +89,7 @@ const MenuInspectorControls = ( props ) => {
|
|
|
89
89
|
|
|
90
90
|
return (
|
|
91
91
|
<InspectorControls group="list">
|
|
92
|
-
<PanelBody
|
|
93
|
-
title={ process.env.IS_GUTENBERG_PLUGIN ? null : __( 'Menu' ) }
|
|
94
|
-
>
|
|
92
|
+
<PanelBody title={ null }>
|
|
95
93
|
<HStack className="wp-block-navigation-off-canvas-editor__header">
|
|
96
94
|
<Heading
|
|
97
95
|
className="wp-block-navigation-off-canvas-editor__title"
|
|
@@ -39,8 +39,7 @@
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
// Only show the flyout on hover if the parent menu item is selected.
|
|
42
|
-
.wp-block-navigation:not(.is-selected):not(.has-child-selected)
|
|
43
|
-
.has-child:hover {
|
|
42
|
+
.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover {
|
|
44
43
|
> .wp-block-navigation__submenu-container {
|
|
45
44
|
opacity: 0;
|
|
46
45
|
visibility: hidden;
|
|
@@ -49,6 +48,7 @@
|
|
|
49
48
|
|
|
50
49
|
// Styles for submenu flyout.
|
|
51
50
|
.has-child {
|
|
51
|
+
|
|
52
52
|
&.is-selected,
|
|
53
53
|
&.has-child-selected {
|
|
54
54
|
> .wp-block-navigation__submenu-container {
|
|
@@ -76,8 +76,7 @@
|
|
|
76
76
|
flex-direction: column;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
.is-dragging-components-draggable
|
|
80
|
-
.wp-block-navigation-link > .wp-block-navigation__container {
|
|
79
|
+
.is-dragging-components-draggable .wp-block-navigation-link > .wp-block-navigation__container {
|
|
81
80
|
// Set opacity to 1 to still be able to show the draggable chip.
|
|
82
81
|
opacity: 1;
|
|
83
82
|
visibility: hidden;
|
|
@@ -117,6 +116,7 @@
|
|
|
117
116
|
*/
|
|
118
117
|
|
|
119
118
|
$colors-selector-size: 22px;
|
|
119
|
+
|
|
120
120
|
.block-library-colors-selector {
|
|
121
121
|
width: auto;
|
|
122
122
|
|
|
@@ -151,7 +151,7 @@ $colors-selector-size: 22px;
|
|
|
151
151
|
min-width: $colors-selector-size;
|
|
152
152
|
height: $colors-selector-size;
|
|
153
153
|
min-height: $colors-selector-size;
|
|
154
|
-
line-height: (
|
|
154
|
+
line-height: ($colors-selector-size - 2);
|
|
155
155
|
padding: 2px;
|
|
156
156
|
|
|
157
157
|
> svg {
|
|
@@ -161,6 +161,7 @@ $colors-selector-size: 22px;
|
|
|
161
161
|
|
|
162
162
|
// Styling icon color.
|
|
163
163
|
&.has-text-color {
|
|
164
|
+
|
|
164
165
|
> svg,
|
|
165
166
|
> svg path {
|
|
166
167
|
color: inherit;
|
|
@@ -171,6 +172,7 @@ $colors-selector-size: 22px;
|
|
|
171
172
|
|
|
172
173
|
// Colors Selector Popover.
|
|
173
174
|
$color-control-label-height: 20px;
|
|
175
|
+
|
|
174
176
|
.block-library-colors-selector__popover {
|
|
175
177
|
.color-palette-controller-container {
|
|
176
178
|
padding: 16px;
|
|
@@ -222,13 +224,16 @@ $color-control-label-height: 20px;
|
|
|
222
224
|
0% {
|
|
223
225
|
opacity: 1;
|
|
224
226
|
}
|
|
227
|
+
|
|
225
228
|
50% {
|
|
226
229
|
opacity: 0.5;
|
|
227
230
|
}
|
|
231
|
+
|
|
228
232
|
100% {
|
|
229
233
|
opacity: 1;
|
|
230
234
|
}
|
|
231
235
|
}
|
|
236
|
+
|
|
232
237
|
// Unstyle some inherited placeholder component styles.
|
|
233
238
|
.components-placeholder.wp-block-navigation-placeholder {
|
|
234
239
|
outline: none;
|
|
@@ -271,6 +276,7 @@ $color-control-label-height: 20px;
|
|
|
271
276
|
// against any background color.
|
|
272
277
|
color: currentColor;
|
|
273
278
|
background: transparent;
|
|
279
|
+
|
|
274
280
|
&::before {
|
|
275
281
|
content: "";
|
|
276
282
|
display: block;
|
|
@@ -338,6 +344,7 @@ $color-control-label-height: 20px;
|
|
|
338
344
|
// Hide the navigation indicator when in small contexts.
|
|
339
345
|
.is-small &,
|
|
340
346
|
.is-medium & {
|
|
347
|
+
|
|
341
348
|
.wp-block-navigation-placeholder__actions__indicator,
|
|
342
349
|
.wp-block-navigation-placeholder__actions__indicator + hr {
|
|
343
350
|
display: none;
|
|
@@ -427,15 +434,14 @@ $color-control-label-height: 20px;
|
|
|
427
434
|
}
|
|
428
435
|
}
|
|
429
436
|
}
|
|
437
|
+
|
|
430
438
|
// Emulate the fullscreen editing inside the editor.
|
|
431
439
|
// Most of this can be removed when the iframe lands.
|
|
432
440
|
|
|
433
441
|
// When not fullscreen.
|
|
434
442
|
.wp-block-navigation__responsive-container.is-menu-open {
|
|
435
443
|
position: fixed;
|
|
436
|
-
top:
|
|
437
|
-
$admin-bar-height-big + $header-height + $block-toolbar-height +
|
|
438
|
-
$border-width;
|
|
444
|
+
top: $admin-bar-height-big + $header-height + $block-toolbar-height + $border-width;
|
|
439
445
|
|
|
440
446
|
@include break-medium() {
|
|
441
447
|
top: $admin-bar-height + $header-height + $border-width;
|
|
@@ -445,6 +451,7 @@ $color-control-label-height: 20px;
|
|
|
445
451
|
@include break-medium() {
|
|
446
452
|
left: $admin-sidebar-width-collapsed;
|
|
447
453
|
}
|
|
454
|
+
|
|
448
455
|
@include break-large() {
|
|
449
456
|
left: $admin-sidebar-width;
|
|
450
457
|
}
|
|
@@ -452,17 +459,13 @@ $color-control-label-height: 20px;
|
|
|
452
459
|
|
|
453
460
|
.has-fixed-toolbar .wp-block-navigation__responsive-container.is-menu-open {
|
|
454
461
|
@include break-medium() {
|
|
455
|
-
top:
|
|
456
|
-
$admin-bar-height + $header-height + $block-toolbar-height +
|
|
457
|
-
$border-width;
|
|
462
|
+
top: $admin-bar-height + $header-height + $block-toolbar-height + $border-width;
|
|
458
463
|
}
|
|
459
464
|
}
|
|
460
465
|
|
|
461
466
|
.is-mobile-preview .wp-block-navigation__responsive-container.is-menu-open,
|
|
462
467
|
.is-tablet-preview .wp-block-navigation__responsive-container.is-menu-open {
|
|
463
|
-
top:
|
|
464
|
-
$admin-bar-height + $header-height + $block-toolbar-height +
|
|
465
|
-
$border-width;
|
|
468
|
+
top: $admin-bar-height + $header-height + $block-toolbar-height + $border-width;
|
|
466
469
|
}
|
|
467
470
|
|
|
468
471
|
.is-sidebar-opened .wp-block-navigation__responsive-container.is-menu-open {
|
|
@@ -473,9 +476,7 @@ $color-control-label-height: 20px;
|
|
|
473
476
|
.is-fullscreen-mode {
|
|
474
477
|
.wp-block-navigation__responsive-container.is-menu-open {
|
|
475
478
|
left: 0; // Unset the value from non fullscreen mode.
|
|
476
|
-
top:
|
|
477
|
-
$admin-bar-height-big + $header-height + $block-toolbar-height +
|
|
478
|
-
$border-width;
|
|
479
|
+
top: $admin-bar-height-big + $header-height + $block-toolbar-height + $border-width;
|
|
479
480
|
|
|
480
481
|
@include break-medium() {
|
|
481
482
|
top: $header-height + $border-width;
|
|
@@ -495,8 +496,7 @@ $color-control-label-height: 20px;
|
|
|
495
496
|
}
|
|
496
497
|
|
|
497
498
|
// The iframe makes these rules a lot simpler.
|
|
498
|
-
body.editor-styles-wrapper
|
|
499
|
-
.wp-block-navigation__responsive-container.is-menu-open {
|
|
499
|
+
body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-open {
|
|
500
500
|
top: 0;
|
|
501
501
|
right: 0;
|
|
502
502
|
bottom: 0;
|
|
@@ -536,6 +536,7 @@ body.editor-styles-wrapper
|
|
|
536
536
|
.components-heading.wp-block-navigation-off-canvas-editor__title {
|
|
537
537
|
margin: 0;
|
|
538
538
|
}
|
|
539
|
+
|
|
539
540
|
.wp-block-navigation-off-canvas-editor__header {
|
|
540
541
|
margin-bottom: $grid-unit-10;
|
|
541
542
|
}
|
|
@@ -552,6 +553,7 @@ body.editor-styles-wrapper
|
|
|
552
553
|
0% {
|
|
553
554
|
opacity: 0;
|
|
554
555
|
}
|
|
556
|
+
|
|
555
557
|
100% {
|
|
556
558
|
opacity: 1;
|
|
557
559
|
}
|
|
@@ -559,7 +561,7 @@ body.editor-styles-wrapper
|
|
|
559
561
|
|
|
560
562
|
// Space spinner to give it breathing
|
|
561
563
|
// room when block is selected and has focus outline.
|
|
562
|
-
.wp-block-
|
|
564
|
+
.wp-block-navigation__loading-indicator-container {
|
|
563
565
|
padding: $grid-unit-10 $grid-unit-15;
|
|
564
566
|
}
|
|
565
567
|
|
|
@@ -571,6 +573,7 @@ body.editor-styles-wrapper
|
|
|
571
573
|
0% {
|
|
572
574
|
opacity: 1;
|
|
573
575
|
}
|
|
576
|
+
|
|
574
577
|
100% {
|
|
575
578
|
opacity: 0.5;
|
|
576
579
|
}
|