@wordpress/edit-site 6.8.7 → 6.8.8
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/components/editor/index.js +0 -1
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/font-families.js +19 -9
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +9 -2
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/shadows-edit-panel.js +17 -5
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build/components/layout/index.js +3 -14
- package/build/components/layout/index.js.map +1 -1
- package/build/components/page-patterns/index.js +3 -2
- package/build/components/page-patterns/index.js.map +1 -1
- package/build-module/components/editor/index.js +0 -1
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +19 -9
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/screen-style-variations.js +9 -2
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/shadows-edit-panel.js +18 -6
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-module/components/layout/index.js +3 -14
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page-patterns/index.js +3 -2
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/package.json +15 -15
- package/src/components/editor/index.js +0 -1
- package/src/components/global-styles/font-families.js +21 -14
- package/src/components/global-styles/screen-style-variations.js +7 -2
- package/src/components/global-styles/shadows-edit-panel.js +21 -5
- package/src/components/layout/index.js +7 -23
- package/src/components/page-patterns/index.js +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalSpacer","Spacer","__experimentalItemGroup","ItemGroup","__experimentalInputControl","InputControl","__experimentalUnitControl","UnitControl","__experimentalGrid","Grid","__experimentalDropdownContentWrapper","DropdownContentWrapper","__experimentalUseNavigator","useNavigator","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalConfirmDialog","ConfirmDialog","Dropdown","Button","Flex","FlexItem","ColorPalette","Modal","privateApis","componentsPrivateApis","__","sprintf","blockEditorPrivateApis","plus","shadow","shadowIcon","reset","moreVertical","useState","useMemo","unlock","Subtitle","ScreenHeader","defaultShadow","getShadowParts","shadowStringToObject","shadowObjectToString","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useGlobalSetting","DropdownMenuV2","customShadowMenuItems","label","action","presetShadowMenuItems","ShadowsEditPanel","params","category","slug","goTo","shadows","setShadows","baseShadows","undefined","selectedShadow","setSelectedShadow","find","baseSelectedShadow","b","isConfirmDialogVisible","setIsConfirmDialogVisible","isRenameModalVisible","setIsRenameModalVisible","shadowName","setShadowName","name","onShadowChange","updatedShadows","map","s","onMenuClick","handleShadowDelete","filter","handleShadowRename","newName","title","children","justify","marginTop","marginBottom","paddingX","trigger","size","icon","item","Item","onClick","disabled","ItemLabel","className","ShadowsPreview","ShadowEditor","onChange","isOpen","onConfirm","onCancel","confirmButtonText","onRequestClose","onSubmit","event","preventDefault","__next40pxDefaultSize","autoComplete","placeholder","value","expanded","variant","type","shadowStyle","boxShadow","align","style","shadowParts","onChangeShadowPart","index","part","join","onAddShadowPart","push","onRemoveShadowPart","splice","spacing","level","isBordered","isSeparated","ShadowItem","canRemove","length","onRemove","popoverProps","placement","offset","shift","shadowObj","newShadow","renderToggle","onToggle","toggleProps","removeButtonProps","flexGrow","inset","renderContent","paddingSize","ShadowPopover","__experimentalIsRenderedInSidebar","enableAlpha","key","clearable","color","__nextHasNoMarginBottom","isBlock","hideLabelFromVision","columns","gap","ShadowInputControl","x","y","blur","spread","onValueChange","next","isNumeric","isNaN","parseFloat","nextValue"],"sources":["@wordpress/edit-site/src/components/global-styles/shadows-edit-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalInputControl as InputControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalGrid as Grid,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdown,\n\tButton,\n\tFlex,\n\tFlexItem,\n\tColorPalette,\n\tModal,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport {\n\tplus,\n\tshadow as shadowIcon,\n\treset,\n\tmoreVertical,\n} from '@wordpress/icons';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport ScreenHeader from './header';\nimport { defaultShadow } from './shadows-panel';\nimport {\n\tgetShadowParts,\n\tshadowStringToObject,\n\tshadowObjectToString,\n} from './shadow-utils';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nconst { DropdownMenuV2 } = unlock( componentsPrivateApis );\n\nconst customShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Rename' ),\n\t\taction: 'rename',\n\t},\n\t{\n\t\tlabel: __( 'Delete' ),\n\t\taction: 'delete',\n\t},\n];\n\nconst presetShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Reset' ),\n\t\taction: 'reset',\n\t},\n];\n\nexport default function ShadowsEditPanel() {\n\tconst {\n\t\tparams: { category, slug },\n\t\tgoTo,\n\t} = useNavigator();\n\tconst [ shadows, setShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`\n\t);\n\tconst [ baseShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`,\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst [ selectedShadow, setSelectedShadow ] = useState( () =>\n\t\t( shadows || [] ).find( ( shadow ) => shadow.slug === slug )\n\t);\n\tconst baseSelectedShadow = useMemo(\n\t\t() => ( baseShadows || [] ).find( ( b ) => b.slug === slug ),\n\t\t[ baseShadows, slug ]\n\t);\n\tconst [ isConfirmDialogVisible, setIsConfirmDialogVisible ] =\n\t\tuseState( false );\n\tconst [ isRenameModalVisible, setIsRenameModalVisible ] = useState( false );\n\tconst [ shadowName, setShadowName ] = useState( selectedShadow.name );\n\n\tconst onShadowChange = ( shadow ) => {\n\t\tsetSelectedShadow( { ...selectedShadow, shadow } );\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, shadow } : s\n\t\t);\n\t\tsetShadows( updatedShadows );\n\t};\n\n\tconst onMenuClick = ( action ) => {\n\t\tif ( action === 'reset' ) {\n\t\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\t\ts.slug === slug ? baseSelectedShadow : s\n\t\t\t);\n\t\t\tsetSelectedShadow( baseSelectedShadow );\n\t\t\tsetShadows( updatedShadows );\n\t\t} else if ( action === 'delete' ) {\n\t\t\tsetIsConfirmDialogVisible( true );\n\t\t} else if ( action === 'rename' ) {\n\t\t\tsetIsRenameModalVisible( true );\n\t\t}\n\t};\n\n\tconst handleShadowDelete = () => {\n\t\tconst updatedShadows = shadows.filter( ( s ) => s.slug !== slug );\n\t\tsetShadows( updatedShadows );\n\t\tgoTo( `/shadows` );\n\t};\n\n\tconst handleShadowRename = ( newName ) => {\n\t\tif ( ! newName ) {\n\t\t\treturn;\n\t\t}\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, name: newName } : s\n\t\t);\n\t\tsetSelectedShadow( { ...selectedShadow, name: newName } );\n\t\tsetShadows( updatedShadows );\n\t};\n\n\treturn ! selectedShadow ? (\n\t\t<ScreenHeader title=\"\" />\n\t) : (\n\t\t<>\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<ScreenHeader title={ selectedShadow.name } />\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Spacer marginTop={ 2 } marginBottom={ 0 } paddingX={ 4 }>\n\t\t\t\t\t\t<DropdownMenuV2\n\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( category === 'custom'\n\t\t\t\t\t\t\t\t? customShadowMenuItems\n\t\t\t\t\t\t\t\t: presetShadowMenuItems\n\t\t\t\t\t\t\t).map( ( item ) => (\n\t\t\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\t\t\tkey={ item.action }\n\t\t\t\t\t\t\t\t\tonClick={ () => onMenuClick( item.action ) }\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\titem.action === 'reset' &&\n\t\t\t\t\t\t\t\t\t\tselectedShadow.shadow ===\n\t\t\t\t\t\t\t\t\t\t\tbaseSelectedShadow.shadow\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ item.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</DropdownMenuV2>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t\t<div className=\"edit-site-global-styles-screen\">\n\t\t\t\t<ShadowsPreview shadow={ selectedShadow.shadow } />\n\t\t\t\t<ShadowEditor\n\t\t\t\t\tshadow={ selectedShadow.shadow }\n\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ isConfirmDialogVisible && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen\n\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\thandleShadowDelete();\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => {\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: name of the shadow\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\"?',\n\t\t\t\t\t\tselectedShadow.name\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t\t{ isRenameModalVisible && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename' ) }\n\t\t\t\t\tonRequestClose={ () => setIsRenameModalVisible( false ) }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\thandleShadowRename( shadowName );\n\t\t\t\t\t\t\tsetIsRenameModalVisible( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Shadow name' ) }\n\t\t\t\t\t\t\tvalue={ shadowName }\n\t\t\t\t\t\t\tonChange={ ( value ) => setShadowName( value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Spacer marginBottom={ 6 } />\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tclassName=\"block-editor-shadow-edit-modal__actions\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsRenameModalVisible( false )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction ShadowsPreview( { shadow } ) {\n\tconst shadowStyle = {\n\t\tboxShadow: shadow,\n\t};\n\n\treturn (\n\t\t<Spacer marginBottom={ 4 } marginTop={ -2 }>\n\t\t\t<HStack\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-panel\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-block\"\n\t\t\t\t\tstyle={ shadowStyle }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n\nfunction ShadowEditor( { shadow, onChange } ) {\n\tconst shadowParts = useMemo( () => getShadowParts( shadow ), [ shadow ] );\n\n\tconst onChangeShadowPart = ( index, part ) => {\n\t\tshadowParts[ index ] = part;\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onAddShadowPart = () => {\n\t\tshadowParts.push( defaultShadow );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onRemoveShadowPart = ( index ) => {\n\t\tshadowParts.splice( index, 1 );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t<Flex\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tclassName=\"edit-site-global-styles__shadows-panel__title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Shadows' ) }</Subtitle>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<FlexItem className=\"edit-site-global-styles__shadows-panel__options-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={ __( 'Add shadow' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonAddShadowPart();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t\t<Spacer />\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t{ shadowParts.map( ( part, index ) => (\n\t\t\t\t\t<ShadowItem\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\tshadow={ part }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tonChangeShadowPart( index, value )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcanRemove={ shadowParts.length > 1 }\n\t\t\t\t\t\tonRemove={ () => onRemoveShadowPart( index ) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction ShadowItem( { shadow, onChange, canRemove, onRemove } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\tconst shadowObj = useMemo(\n\t\t() => shadowStringToObject( shadow ),\n\t\t[ shadow ]\n\t);\n\tconst onShadowChange = ( newShadow ) => {\n\t\tonChange( shadowObjectToString( newShadow ) );\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"edit-site-global-styles__shadow-editor__dropdown\"\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\tconst toggleProps = {\n\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__dropdown-toggle',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t};\n\t\t\t\tconst removeButtonProps = {\n\t\t\t\t\tonClick: onRemove,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__remove-button',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\tlabel: __( 'Remove shadow' ),\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<HStack align=\"center\" justify=\"flex-start\" spacing={ 0 }>\n\t\t\t\t\t\t<FlexItem style={ { flexGrow: 1 } }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\t\t\t{ ...toggleProps }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ shadowObj.inset\n\t\t\t\t\t\t\t\t\t? __( 'Inner shadow' )\n\t\t\t\t\t\t\t\t\t: __( 'Drop shadow' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</HStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadow-editor__dropdown-content\"\n\t\t\t\t>\n\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\tshadowObj={ shadowObj }\n\t\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction ShadowPopover( { shadowObj, onChange } ) {\n\tconst __experimentalIsRenderedInSidebar = true;\n\tconst enableAlpha = true;\n\n\tconst onShadowChange = ( key, value ) => {\n\t\tconst newShadow = {\n\t\t\t...shadowObj,\n\t\t\t[ key ]: value,\n\t\t};\n\t\tonChange( newShadow );\n\t};\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-global-styles__shadow-editor-panel\"\n\t\t>\n\t\t\t<ColorPalette\n\t\t\t\tclearable={ false }\n\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tvalue={ shadowObj.color }\n\t\t\t\tonChange={ ( value ) => onShadowChange( 'color', value ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ shadowObj.inset ? 'inset' : 'outset' }\n\t\t\t\tisBlock\n\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\tonShadowChange( 'inset', value === 'inset' )\n\t\t\t\t}\n\t\t\t\thideLabelFromVision\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"outset\"\n\t\t\t\t\tlabel={ __( 'Outset' ) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"inset\"\n\t\t\t\t\tlabel={ __( 'Inset' ) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'X Position' ) }\n\t\t\t\t\tvalue={ shadowObj.x }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'x', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Y Position' ) }\n\t\t\t\t\tvalue={ shadowObj.y }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'y', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Blur' ) }\n\t\t\t\t\tvalue={ shadowObj.blur }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'blur', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Spread' ) }\n\t\t\t\t\tvalue={ shadowObj.spread }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'spread', value ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t</VStack>\n\t);\n}\n\nfunction ShadowInputControl( { label, value, onChange } ) {\n\tconst onValueChange = ( next ) => {\n\t\tconst isNumeric = next !== undefined && ! isNaN( parseFloat( next ) );\n\t\tconst nextValue = isNumeric ? next : '0px';\n\t\tonChange( nextValue );\n\t};\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ label }\n\t\t\t__next40pxDefaultSize\n\t\t\tvalue={ value }\n\t\t\tonChange={ onValueChange }\n\t\t/>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,uBAAuB,IAAIC,SAAS,EACpCC,0BAA0B,IAAIC,YAAY,EAC1CC,yBAAyB,IAAIC,WAAW,EACxCC,kBAAkB,IAAIC,IAAI,EAC1BC,oCAAoC,IAAIC,sBAAsB,EAC9DC,0BAA0B,IAAIC,YAAY,EAC1CC,gCAAgC,IAAIC,kBAAkB,EACtDC,sCAAsC,IAAIC,wBAAwB,EAClEC,2BAA2B,IAAIC,aAAa,EAC5CC,QAAQ,EACRC,MAAM,EACNC,IAAI,EACJC,QAAQ,EACRC,YAAY,EACZC,KAAK,EACLC,WAAW,IAAIC,qBAAqB,QAC9B,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASH,WAAW,IAAII,sBAAsB,QAAQ,yBAAyB;AAC/E,SACCC,IAAI,EACJC,MAAM,IAAIC,UAAU,EACpBC,KAAK,EACLC,YAAY,QACN,kBAAkB;AACzB,SAASC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,YAAY,MAAM,UAAU;AACnC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SACCC,cAAc,EACdC,oBAAoB,EACpBC,oBAAoB,QACd,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAExB,MAAM;EAAEC;AAAiB,CAAC,GAAGb,MAAM,CAAER,sBAAuB,CAAC;AAC7D,MAAM;EAAEsB;AAAe,CAAC,GAAGd,MAAM,CAAEX,qBAAsB,CAAC;AAE1D,MAAM0B,qBAAqB,GAAG,CAC7B;EACCC,KAAK,EAAE1B,EAAE,CAAE,QAAS,CAAC;EACrB2B,MAAM,EAAE;AACT,CAAC,EACD;EACCD,KAAK,EAAE1B,EAAE,CAAE,QAAS,CAAC;EACrB2B,MAAM,EAAE;AACT,CAAC,CACD;AAED,MAAMC,qBAAqB,GAAG,CAC7B;EACCF,KAAK,EAAE1B,EAAE,CAAE,OAAQ,CAAC;EACpB2B,MAAM,EAAE;AACT,CAAC,CACD;AAED,eAAe,SAASE,gBAAgBA,CAAA,EAAG;EAC1C,MAAM;IACLC,MAAM,EAAE;MAAEC,QAAQ;MAAEC;IAAK,CAAC;IAC1BC;EACD,CAAC,GAAGhD,YAAY,CAAC,CAAC;EAClB,MAAM,CAAEiD,OAAO,EAAEC,UAAU,CAAE,GAAGZ,gBAAgB,CAC9C,kBAAkBQ,QAAU,EAC9B,CAAC;EACD,MAAM,CAAEK,WAAW,CAAE,GAAGb,gBAAgB,CACtC,kBAAkBQ,QAAU,EAAC,EAC9BM,SAAS,EACT,MACD,CAAC;EACD,MAAM,CAAEC,cAAc,EAAEC,iBAAiB,CAAE,GAAG/B,QAAQ,CAAE,MACvD,CAAE0B,OAAO,IAAI,EAAE,EAAGM,IAAI,CAAIpC,MAAM,IAAMA,MAAM,CAAC4B,IAAI,KAAKA,IAAK,CAC5D,CAAC;EACD,MAAMS,kBAAkB,GAAGhC,OAAO,CACjC,MAAM,CAAE2B,WAAW,IAAI,EAAE,EAAGI,IAAI,CAAIE,CAAC,IAAMA,CAAC,CAACV,IAAI,KAAKA,IAAK,CAAC,EAC5D,CAAEI,WAAW,EAAEJ,IAAI,CACpB,CAAC;EACD,MAAM,CAAEW,sBAAsB,EAAEC,yBAAyB,CAAE,GAC1DpC,QAAQ,CAAE,KAAM,CAAC;EAClB,MAAM,CAAEqC,oBAAoB,EAAEC,uBAAuB,CAAE,GAAGtC,QAAQ,CAAE,KAAM,CAAC;EAC3E,MAAM,CAAEuC,UAAU,EAAEC,aAAa,CAAE,GAAGxC,QAAQ,CAAE8B,cAAc,CAACW,IAAK,CAAC;EAErE,MAAMC,cAAc,GAAK9C,MAAM,IAAM;IACpCmC,iBAAiB,CAAE;MAAE,GAAGD,cAAc;MAAElC;IAAO,CAAE,CAAC;IAClD,MAAM+C,cAAc,GAAGjB,OAAO,CAACkB,GAAG,CAAIC,CAAC,IACtCA,CAAC,CAACrB,IAAI,KAAKA,IAAI,GAAG;MAAE,GAAGM,cAAc;MAAElC;IAAO,CAAC,GAAGiD,CACnD,CAAC;IACDlB,UAAU,CAAEgB,cAAe,CAAC;EAC7B,CAAC;EAED,MAAMG,WAAW,GAAK3B,MAAM,IAAM;IACjC,IAAKA,MAAM,KAAK,OAAO,EAAG;MACzB,MAAMwB,cAAc,GAAGjB,OAAO,CAACkB,GAAG,CAAIC,CAAC,IACtCA,CAAC,CAACrB,IAAI,KAAKA,IAAI,GAAGS,kBAAkB,GAAGY,CACxC,CAAC;MACDd,iBAAiB,CAAEE,kBAAmB,CAAC;MACvCN,UAAU,CAAEgB,cAAe,CAAC;IAC7B,CAAC,MAAM,IAAKxB,MAAM,KAAK,QAAQ,EAAG;MACjCiB,yBAAyB,CAAE,IAAK,CAAC;IAClC,CAAC,MAAM,IAAKjB,MAAM,KAAK,QAAQ,EAAG;MACjCmB,uBAAuB,CAAE,IAAK,CAAC;IAChC;EACD,CAAC;EAED,MAAMS,kBAAkB,GAAGA,CAAA,KAAM;IAChC,MAAMJ,cAAc,GAAGjB,OAAO,CAACsB,MAAM,CAAIH,CAAC,IAAMA,CAAC,CAACrB,IAAI,KAAKA,IAAK,CAAC;IACjEG,UAAU,CAAEgB,cAAe,CAAC;IAC5BlB,IAAI,CAAG,UAAU,CAAC;EACnB,CAAC;EAED,MAAMwB,kBAAkB,GAAKC,OAAO,IAAM;IACzC,IAAK,CAAEA,OAAO,EAAG;MAChB;IACD;IACA,MAAMP,cAAc,GAAGjB,OAAO,CAACkB,GAAG,CAAIC,CAAC,IACtCA,CAAC,CAACrB,IAAI,KAAKA,IAAI,GAAG;MAAE,GAAGM,cAAc;MAAEW,IAAI,EAAES;IAAQ,CAAC,GAAGL,CAC1D,CAAC;IACDd,iBAAiB,CAAE;MAAE,GAAGD,cAAc;MAAEW,IAAI,EAAES;IAAQ,CAAE,CAAC;IACzDvB,UAAU,CAAEgB,cAAe,CAAC;EAC7B,CAAC;EAED,OAAO,CAAEb,cAAc,gBACtBpB,IAAA,CAACN,YAAY;IAAC+C,KAAK,EAAC;EAAE,CAAE,CAAC,gBAEzBvC,KAAA,CAAAE,SAAA;IAAAsC,QAAA,gBACCxC,KAAA,CAACnD,MAAM;MAAC4F,OAAO,EAAC,eAAe;MAAAD,QAAA,gBAC9B1C,IAAA,CAACN,YAAY;QAAC+C,KAAK,EAAGrB,cAAc,CAACW;MAAM,CAAE,CAAC,eAC9C/B,IAAA,CAACvB,QAAQ;QAAAiE,QAAA,eACR1C,IAAA,CAAC7C,MAAM;UAACyF,SAAS,EAAG,CAAG;UAACC,YAAY,EAAG,CAAG;UAACC,QAAQ,EAAG,CAAG;UAAAJ,QAAA,eACxD1C,IAAA,CAACM,cAAc;YACdyC,OAAO,eACN/C,IAAA,CAACzB,MAAM;cACNyE,IAAI,EAAC,OAAO;cACZC,IAAI,EAAG5D,YAAc;cACrBmB,KAAK,EAAG1B,EAAE,CAAE,MAAO;YAAG,CACtB,CACD;YAAA4D,QAAA,EAEC,CAAE7B,QAAQ,KAAK,QAAQ,GACtBN,qBAAqB,GACrBG,qBAAqB,EACtBwB,GAAG,CAAIgB,IAAI,iBACZlD,IAAA,CAACM,cAAc,CAAC6C,IAAI;cAEnBC,OAAO,EAAGA,CAAA,KAAMhB,WAAW,CAAEc,IAAI,CAACzC,MAAO,CAAG;cAC5C4C,QAAQ,EACPH,IAAI,CAACzC,MAAM,KAAK,OAAO,IACvBW,cAAc,CAAClC,MAAM,KACpBqC,kBAAkB,CAACrC,MACpB;cAAAwD,QAAA,eAED1C,IAAA,CAACM,cAAc,CAACgD,SAAS;gBAAAZ,QAAA,EACtBQ,IAAI,CAAC1C;cAAK,CACa;YAAC,GAVrB0C,IAAI,CAACzC,MAWS,CACpB;UAAC,CACY;QAAC,CACV;MAAC,CACA,CAAC;IAAA,CACJ,CAAC,eACTP,KAAA;MAAKqD,SAAS,EAAC,gCAAgC;MAAAb,QAAA,gBAC9C1C,IAAA,CAACwD,cAAc;QAACtE,MAAM,EAAGkC,cAAc,CAAClC;MAAQ,CAAE,CAAC,eACnDc,IAAA,CAACyD,YAAY;QACZvE,MAAM,EAAGkC,cAAc,CAAClC,MAAQ;QAChCwE,QAAQ,EAAG1B;MAAgB,CAC3B,CAAC;IAAA,CACE,CAAC,EACJP,sBAAsB,iBACvBzB,IAAA,CAAC3B,aAAa;MACbsF,MAAM;MACNC,SAAS,EAAGA,CAAA,KAAM;QACjBvB,kBAAkB,CAAC,CAAC;QACpBX,yBAAyB,CAAE,KAAM,CAAC;MACnC,CAAG;MACHmC,QAAQ,EAAGA,CAAA,KAAM;QAChBnC,yBAAyB,CAAE,KAAM,CAAC;MACnC,CAAG;MACHoC,iBAAiB,EAAGhF,EAAE,CAAE,QAAS,CAAG;MACpCkE,IAAI,EAAC,QAAQ;MAAAN,QAAA,EAEX3D,OAAO;MACR;MACA,uCAAuC,EACvCqC,cAAc,CAACW,IAChB;IAAC,CACa,CACf,EACCJ,oBAAoB,iBACrB3B,IAAA,CAACrB,KAAK;MACL8D,KAAK,EAAG3D,EAAE,CAAE,QAAS,CAAG;MACxBiF,cAAc,EAAGA,CAAA,KAAMnC,uBAAuB,CAAE,KAAM,CAAG;MACzDoB,IAAI,EAAC,OAAO;MAAAN,QAAA,eAEZxC,KAAA;QACC8D,QAAQ,EAAKC,KAAK,IAAM;UACvBA,KAAK,CAACC,cAAc,CAAC,CAAC;UACtB3B,kBAAkB,CAAEV,UAAW,CAAC;UAChCD,uBAAuB,CAAE,KAAM,CAAC;QACjC,CAAG;QAAAc,QAAA,gBAEH1C,IAAA,CAACzC,YAAY;UACZ4G,qBAAqB;UACrBC,YAAY,EAAC,KAAK;UAClB5D,KAAK,EAAG1B,EAAE,CAAE,MAAO,CAAG;UACtBuF,WAAW,EAAGvF,EAAE,CAAE,aAAc,CAAG;UACnCwF,KAAK,EAAGzC,UAAY;UACpB6B,QAAQ,EAAKY,KAAK,IAAMxC,aAAa,CAAEwC,KAAM;QAAG,CAChD,CAAC,eACFtE,IAAA,CAAC7C,MAAM;UAAC0F,YAAY,EAAG;QAAG,CAAE,CAAC,eAC7B3C,KAAA,CAAC1B,IAAI;UACJ+E,SAAS,EAAC,yCAAyC;UACnDZ,OAAO,EAAC,UAAU;UAClB4B,QAAQ,EAAG,KAAO;UAAA7B,QAAA,gBAElB1C,IAAA,CAACvB,QAAQ;YAAAiE,QAAA,eACR1C,IAAA,CAACzB,MAAM;cACN4F,qBAAqB;cACrBK,OAAO,EAAC,UAAU;cAClBpB,OAAO,EAAGA,CAAA,KACTxB,uBAAuB,CAAE,KAAM,CAC/B;cAAAc,QAAA,EAEC5D,EAAE,CAAE,QAAS;YAAC,CACT;UAAC,CACA,CAAC,eACXkB,IAAA,CAACvB,QAAQ;YAAAiE,QAAA,eACR1C,IAAA,CAACzB,MAAM;cACN4F,qBAAqB;cACrBK,OAAO,EAAC,SAAS;cACjBC,IAAI,EAAC,QAAQ;cAAA/B,QAAA,EAEX5D,EAAE,CAAE,MAAO;YAAC,CACP;UAAC,CACA,CAAC;QAAA,CACN,CAAC;MAAA,CACF;IAAC,CACD,CACP;EAAA,CACA,CACF;AACF;AAEA,SAAS0E,cAAcA,CAAE;EAAEtE;AAAO,CAAC,EAAG;EACrC,MAAMwF,WAAW,GAAG;IACnBC,SAAS,EAAEzF;EACZ,CAAC;EAED,oBACCc,IAAA,CAAC7C,MAAM;IAAC0F,YAAY,EAAG,CAAG;IAACD,SAAS,EAAG,CAAC,CAAG;IAAAF,QAAA,eAC1C1C,IAAA,CAACjD,MAAM;MACN6H,KAAK,EAAC,QAAQ;MACdjC,OAAO,EAAC,QAAQ;MAChBY,SAAS,EAAC,+CAA+C;MAAAb,QAAA,eAEzD1C,IAAA;QACCuD,SAAS,EAAC,+CAA+C;QACzDsB,KAAK,EAAGH;MAAa,CACrB;IAAC,CACK;EAAC,CACF,CAAC;AAEX;AAEA,SAASjB,YAAYA,CAAE;EAAEvE,MAAM;EAAEwE;AAAS,CAAC,EAAG;EAC7C,MAAMoB,WAAW,GAAGvF,OAAO,CAAE,MAAMK,cAAc,CAAEV,MAAO,CAAC,EAAE,CAAEA,MAAM,CAAG,CAAC;EAEzE,MAAM6F,kBAAkB,GAAGA,CAAEC,KAAK,EAAEC,IAAI,KAAM;IAC7CH,WAAW,CAAEE,KAAK,CAAE,GAAGC,IAAI;IAC3BvB,QAAQ,CAAEoB,WAAW,CAACI,IAAI,CAAE,IAAK,CAAE,CAAC;EACrC,CAAC;EAED,MAAMC,eAAe,GAAGA,CAAA,KAAM;IAC7BL,WAAW,CAACM,IAAI,CAAEzF,aAAc,CAAC;IACjC+D,QAAQ,CAAEoB,WAAW,CAACI,IAAI,CAAE,IAAK,CAAE,CAAC;EACrC,CAAC;EAED,MAAMG,kBAAkB,GAAKL,KAAK,IAAM;IACvCF,WAAW,CAACQ,MAAM,CAAEN,KAAK,EAAE,CAAE,CAAC;IAC9BtB,QAAQ,CAAEoB,WAAW,CAACI,IAAI,CAAE,IAAK,CAAE,CAAC;EACrC,CAAC;EAED,oBACChF,KAAA,CAAAE,SAAA;IAAAsC,QAAA,gBACC1C,IAAA,CAAC/C,MAAM;MAACsI,OAAO,EAAG,CAAG;MAAA7C,QAAA,eACpBxC,KAAA,CAACnD,MAAM;QAAC4F,OAAO,EAAC,eAAe;QAAAD,QAAA,gBAC9B1C,IAAA,CAACxB,IAAI;UACJoG,KAAK,EAAC,QAAQ;UACdrB,SAAS,EAAC,+CAA+C;UAAAb,QAAA,eAEzD1C,IAAA,CAACP,QAAQ;YAAC+F,KAAK,EAAG,CAAG;YAAA9C,QAAA,EAAG5D,EAAE,CAAE,SAAU;UAAC,CAAY;QAAC,CAC/C,CAAC,eACPkB,IAAA,CAACvB,QAAQ;UAAC8E,SAAS,EAAC,2DAA2D;UAAAb,QAAA,eAC9E1C,IAAA,CAACzB,MAAM;YACNyE,IAAI,EAAC,OAAO;YACZC,IAAI,EAAGhE,IAAM;YACbuB,KAAK,EAAG1B,EAAE,CAAE,YAAa,CAAG;YAC5BsE,OAAO,EAAGA,CAAA,KAAM;cACf+B,eAAe,CAAC,CAAC;YAClB;UAAG,CACH;QAAC,CACO,CAAC;MAAA,CACJ;IAAC,CACF,CAAC,eACTnF,IAAA,CAAC7C,MAAM,IAAE,CAAC,eACV6C,IAAA,CAAC3C,SAAS;MAACoI,UAAU;MAACC,WAAW;MAAAhD,QAAA,EAC9BoC,WAAW,CAAC5C,GAAG,CAAE,CAAE+C,IAAI,EAAED,KAAK,kBAC/BhF,IAAA,CAAC2F,UAAU;QAEVzG,MAAM,EAAG+F,IAAM;QACfvB,QAAQ,EAAKY,KAAK,IACjBS,kBAAkB,CAAEC,KAAK,EAAEV,KAAM,CACjC;QACDsB,SAAS,EAAGd,WAAW,CAACe,MAAM,GAAG,CAAG;QACpCC,QAAQ,EAAGA,CAAA,KAAMT,kBAAkB,CAAEL,KAAM;MAAG,GANxCA,KAON,CACA;IAAC,CACO,CAAC;EAAA,CACX,CAAC;AAEL;AAEA,SAASW,UAAUA,CAAE;EAAEzG,MAAM;EAAEwE,QAAQ;EAAEkC,SAAS;EAAEE;AAAS,CAAC,EAAG;EAChE,MAAMC,YAAY,GAAG;IACpBC,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC;EACD,MAAMC,SAAS,GAAG5G,OAAO,CACxB,MAAMM,oBAAoB,CAAEX,MAAO,CAAC,EACpC,CAAEA,MAAM,CACT,CAAC;EACD,MAAM8C,cAAc,GAAKoE,SAAS,IAAM;IACvC1C,QAAQ,CAAE5D,oBAAoB,CAAEsG,SAAU,CAAE,CAAC;EAC9C,CAAC;EAED,oBACCpG,IAAA,CAAC1B,QAAQ;IACRyH,YAAY,EAAGA,YAAc;IAC7BxC,SAAS,EAAC,kDAAkD;IAC5D8C,YAAY,EAAGA,CAAE;MAAEC,QAAQ;MAAE3C;IAAO,CAAC,KAAM;MAC1C,MAAM4C,WAAW,GAAG;QACnBnD,OAAO,EAAEkD,QAAQ;QACjB/C,SAAS,EAAE1G,IAAI,CACd,yDAAyD,EACzD;UAAE,SAAS,EAAE8G;QAAO,CACrB,CAAC;QACD,eAAe,EAAEA;MAClB,CAAC;MACD,MAAM6C,iBAAiB,GAAG;QACzBpD,OAAO,EAAE0C,QAAQ;QACjBvC,SAAS,EAAE1G,IAAI,CACd,uDAAuD,EACvD;UAAE,SAAS,EAAE8G;QAAO,CACrB,CAAC;QACDnD,KAAK,EAAE1B,EAAE,CAAE,eAAgB;MAC5B,CAAC;MAED,oBACCoB,KAAA,CAACnD,MAAM;QAAC6H,KAAK,EAAC,QAAQ;QAACjC,OAAO,EAAC,YAAY;QAAC4C,OAAO,EAAG,CAAG;QAAA7C,QAAA,gBACxD1C,IAAA,CAACvB,QAAQ;UAACoG,KAAK,EAAG;YAAE4B,QAAQ,EAAE;UAAE,CAAG;UAAA/D,QAAA,eAClC1C,IAAA,CAACzB,MAAM;YACN4F,qBAAqB;YACrBlB,IAAI,EAAG9D,UAAY;YAAA,GACdoH,WAAW;YAAA7D,QAAA,EAEdyD,SAAS,CAACO,KAAK,GACd5H,EAAE,CAAE,cAAe,CAAC,GACpBA,EAAE,CAAE,aAAc;UAAC,CACf;QAAC,CACA,CAAC,EACT8G,SAAS,iBACV5F,IAAA,CAACvB,QAAQ;UAAAiE,QAAA,eACR1C,IAAA,CAACzB,MAAM;YACN4F,qBAAqB;YACrBlB,IAAI,EAAG7D,KAAO;YAAA,GACToH;UAAiB,CACtB;QAAC,CACO,CACV;MAAA,CACM,CAAC;IAEX,CAAG;IACHG,aAAa,EAAGA,CAAA,kBACf3G,IAAA,CAACnC,sBAAsB;MACtB+I,WAAW,EAAC,QAAQ;MACpBrD,SAAS,EAAC,0DAA0D;MAAAb,QAAA,eAEpE1C,IAAA,CAAC6G,aAAa;QACbV,SAAS,EAAGA,SAAW;QACvBzC,QAAQ,EAAG1B;MAAgB,CAC3B;IAAC,CACqB;EACtB,CACH,CAAC;AAEJ;AAEA,SAAS6E,aAAaA,CAAE;EAAEV,SAAS;EAAEzC;AAAS,CAAC,EAAG;EACjD,MAAMoD,iCAAiC,GAAG,IAAI;EAC9C,MAAMC,WAAW,GAAG,IAAI;EAExB,MAAM/E,cAAc,GAAGA,CAAEgF,GAAG,EAAE1C,KAAK,KAAM;IACxC,MAAM8B,SAAS,GAAG;MACjB,GAAGD,SAAS;MACZ,CAAEa,GAAG,GAAI1C;IACV,CAAC;IACDZ,QAAQ,CAAE0C,SAAU,CAAC;EACtB,CAAC;EAED,oBACClG,KAAA,CAACjD,MAAM;IACNsI,OAAO,EAAG,CAAG;IACbhC,SAAS,EAAC,8CAA8C;IAAAb,QAAA,gBAExD1C,IAAA,CAACtB,YAAY;MACZuI,SAAS,EAAG,KAAO;MACnBF,WAAW,EAAGA,WAAa;MAC3BD,iCAAiC,EAChCA,iCACA;MACDxC,KAAK,EAAG6B,SAAS,CAACe,KAAO;MACzBxD,QAAQ,EAAKY,KAAK,IAAMtC,cAAc,CAAE,OAAO,EAAEsC,KAAM;IAAG,CAC1D,CAAC,eACFpE,KAAA,CAACjC,kBAAkB;MAClBkJ,uBAAuB;MACvB7C,KAAK,EAAG6B,SAAS,CAACO,KAAK,GAAG,OAAO,GAAG,QAAU;MAC9CU,OAAO;MACP1D,QAAQ,EAAKY,KAAK,IACjBtC,cAAc,CAAE,OAAO,EAAEsC,KAAK,KAAK,OAAQ,CAC3C;MACD+C,mBAAmB;MACnBlD,qBAAqB;MAAAzB,QAAA,gBAErB1C,IAAA,CAAC7B,wBAAwB;QACxBmG,KAAK,EAAC,QAAQ;QACd9D,KAAK,EAAG1B,EAAE,CAAE,QAAS;MAAG,CACxB,CAAC,eACFkB,IAAA,CAAC7B,wBAAwB;QACxBmG,KAAK,EAAC,OAAO;QACb9D,KAAK,EAAG1B,EAAE,CAAE,OAAQ;MAAG,CACvB,CAAC;IAAA,CACiB,CAAC,eACrBoB,KAAA,CAACvC,IAAI;MAAC2J,OAAO,EAAG,CAAG;MAACC,GAAG,EAAG,CAAG;MAAA7E,QAAA,gBAC5B1C,IAAA,CAACwH,kBAAkB;QAClBhH,KAAK,EAAG1B,EAAE,CAAE,YAAa,CAAG;QAC5BwF,KAAK,EAAG6B,SAAS,CAACsB,CAAG;QACrB/D,QAAQ,EAAKY,KAAK,IAAMtC,cAAc,CAAE,GAAG,EAAEsC,KAAM;MAAG,CACtD,CAAC,eACFtE,IAAA,CAACwH,kBAAkB;QAClBhH,KAAK,EAAG1B,EAAE,CAAE,YAAa,CAAG;QAC5BwF,KAAK,EAAG6B,SAAS,CAACuB,CAAG;QACrBhE,QAAQ,EAAKY,KAAK,IAAMtC,cAAc,CAAE,GAAG,EAAEsC,KAAM;MAAG,CACtD,CAAC,eACFtE,IAAA,CAACwH,kBAAkB;QAClBhH,KAAK,EAAG1B,EAAE,CAAE,MAAO,CAAG;QACtBwF,KAAK,EAAG6B,SAAS,CAACwB,IAAM;QACxBjE,QAAQ,EAAKY,KAAK,IAAMtC,cAAc,CAAE,MAAM,EAAEsC,KAAM;MAAG,CACzD,CAAC,eACFtE,IAAA,CAACwH,kBAAkB;QAClBhH,KAAK,EAAG1B,EAAE,CAAE,QAAS,CAAG;QACxBwF,KAAK,EAAG6B,SAAS,CAACyB,MAAQ;QAC1BlE,QAAQ,EAAKY,KAAK,IAAMtC,cAAc,CAAE,QAAQ,EAAEsC,KAAM;MAAG,CAC3D,CAAC;IAAA,CACG,CAAC;EAAA,CACA,CAAC;AAEX;AAEA,SAASkD,kBAAkBA,CAAE;EAAEhH,KAAK;EAAE8D,KAAK;EAAEZ;AAAS,CAAC,EAAG;EACzD,MAAMmE,aAAa,GAAKC,IAAI,IAAM;IACjC,MAAMC,SAAS,GAAGD,IAAI,KAAK3G,SAAS,IAAI,CAAE6G,KAAK,CAAEC,UAAU,CAAEH,IAAK,CAAE,CAAC;IACrE,MAAMI,SAAS,GAAGH,SAAS,GAAGD,IAAI,GAAG,KAAK;IAC1CpE,QAAQ,CAAEwE,SAAU,CAAC;EACtB,CAAC;EAED,oBACClI,IAAA,CAACvC,WAAW;IACX+C,KAAK,EAAGA,KAAO;IACf2D,qBAAqB;IACrBG,KAAK,EAAGA,KAAO;IACfZ,QAAQ,EAAGmE;EAAe,CAC1B,CAAC;AAEJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalSpacer","Spacer","__experimentalItemGroup","ItemGroup","__experimentalInputControl","InputControl","__experimentalUnitControl","UnitControl","__experimentalGrid","Grid","__experimentalDropdownContentWrapper","DropdownContentWrapper","__experimentalUseNavigator","useNavigator","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalConfirmDialog","ConfirmDialog","Dropdown","Button","Flex","FlexItem","ColorPalette","Modal","privateApis","componentsPrivateApis","__","sprintf","blockEditorPrivateApis","plus","shadow","shadowIcon","reset","moreVertical","useState","useMemo","useEffect","unlock","Subtitle","ScreenHeader","defaultShadow","getShadowParts","shadowStringToObject","shadowObjectToString","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useGlobalSetting","DropdownMenuV2","customShadowMenuItems","label","action","presetShadowMenuItems","ShadowsEditPanel","goBack","params","category","slug","shadows","setShadows","hasCurrentShadow","some","baseShadows","undefined","selectedShadow","setSelectedShadow","find","baseSelectedShadow","b","isConfirmDialogVisible","setIsConfirmDialogVisible","isRenameModalVisible","setIsRenameModalVisible","shadowName","setShadowName","name","onShadowChange","updatedShadows","map","s","onMenuClick","handleShadowDelete","filter","handleShadowRename","newName","title","children","justify","marginTop","marginBottom","paddingX","trigger","size","icon","item","Item","onClick","disabled","ItemLabel","className","ShadowsPreview","ShadowEditor","onChange","isOpen","onConfirm","onCancel","confirmButtonText","onRequestClose","onSubmit","event","preventDefault","__next40pxDefaultSize","autoComplete","placeholder","value","expanded","variant","type","shadowStyle","boxShadow","align","style","shadowParts","onChangeShadowPart","index","part","join","onAddShadowPart","push","onRemoveShadowPart","splice","spacing","level","isBordered","isSeparated","ShadowItem","canRemove","length","onRemove","popoverProps","placement","offset","shift","shadowObj","newShadow","renderToggle","onToggle","toggleProps","removeButtonProps","flexGrow","inset","renderContent","paddingSize","ShadowPopover","__experimentalIsRenderedInSidebar","enableAlpha","key","clearable","color","__nextHasNoMarginBottom","isBlock","hideLabelFromVision","columns","gap","ShadowInputControl","x","y","blur","spread","onValueChange","next","isNumeric","isNaN","parseFloat","nextValue"],"sources":["@wordpress/edit-site/src/components/global-styles/shadows-edit-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalInputControl as InputControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalGrid as Grid,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdown,\n\tButton,\n\tFlex,\n\tFlexItem,\n\tColorPalette,\n\tModal,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport {\n\tplus,\n\tshadow as shadowIcon,\n\treset,\n\tmoreVertical,\n} from '@wordpress/icons';\nimport { useState, useMemo, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport ScreenHeader from './header';\nimport { defaultShadow } from './shadows-panel';\nimport {\n\tgetShadowParts,\n\tshadowStringToObject,\n\tshadowObjectToString,\n} from './shadow-utils';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nconst { DropdownMenuV2 } = unlock( componentsPrivateApis );\n\nconst customShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Rename' ),\n\t\taction: 'rename',\n\t},\n\t{\n\t\tlabel: __( 'Delete' ),\n\t\taction: 'delete',\n\t},\n];\n\nconst presetShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Reset' ),\n\t\taction: 'reset',\n\t},\n];\n\nexport default function ShadowsEditPanel() {\n\tconst {\n\t\tgoBack,\n\t\tparams: { category, slug },\n\t} = useNavigator();\n\tconst [ shadows, setShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`\n\t);\n\n\tuseEffect( () => {\n\t\tconst hasCurrentShadow = shadows?.some(\n\t\t\t( shadow ) => shadow.slug === slug\n\t\t);\n\t\t// If the shadow being edited doesn't exist anymore in the global styles setting, navigate back\n\t\t// to prevent the user from editing a non-existent shadow entry.\n\t\t// This can happen, for example:\n\t\t// - when the user deletes the shadow\n\t\t// - when the user resets the styles while editing a custom shadow\n\t\t//\n\t\t// The check on the slug is necessary to prevent a double back navigation when the user triggers\n\t\t// a backward navigation by interacting with the screen's UI.\n\t\tif ( !! slug && ! hasCurrentShadow ) {\n\t\t\tgoBack();\n\t\t}\n\t}, [ shadows, slug, goBack ] );\n\n\tconst [ baseShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`,\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst [ selectedShadow, setSelectedShadow ] = useState( () =>\n\t\t( shadows || [] ).find( ( shadow ) => shadow.slug === slug )\n\t);\n\tconst baseSelectedShadow = useMemo(\n\t\t() => ( baseShadows || [] ).find( ( b ) => b.slug === slug ),\n\t\t[ baseShadows, slug ]\n\t);\n\tconst [ isConfirmDialogVisible, setIsConfirmDialogVisible ] =\n\t\tuseState( false );\n\tconst [ isRenameModalVisible, setIsRenameModalVisible ] = useState( false );\n\tconst [ shadowName, setShadowName ] = useState( selectedShadow.name );\n\n\tconst onShadowChange = ( shadow ) => {\n\t\tsetSelectedShadow( { ...selectedShadow, shadow } );\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, shadow } : s\n\t\t);\n\t\tsetShadows( updatedShadows );\n\t};\n\n\tconst onMenuClick = ( action ) => {\n\t\tif ( action === 'reset' ) {\n\t\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\t\ts.slug === slug ? baseSelectedShadow : s\n\t\t\t);\n\t\t\tsetSelectedShadow( baseSelectedShadow );\n\t\t\tsetShadows( updatedShadows );\n\t\t} else if ( action === 'delete' ) {\n\t\t\tsetIsConfirmDialogVisible( true );\n\t\t} else if ( action === 'rename' ) {\n\t\t\tsetIsRenameModalVisible( true );\n\t\t}\n\t};\n\n\tconst handleShadowDelete = () => {\n\t\tsetShadows( shadows.filter( ( s ) => s.slug !== slug ) );\n\t};\n\n\tconst handleShadowRename = ( newName ) => {\n\t\tif ( ! newName ) {\n\t\t\treturn;\n\t\t}\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, name: newName } : s\n\t\t);\n\t\tsetSelectedShadow( { ...selectedShadow, name: newName } );\n\t\tsetShadows( updatedShadows );\n\t};\n\n\treturn ! selectedShadow ? (\n\t\t<ScreenHeader title=\"\" />\n\t) : (\n\t\t<>\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<ScreenHeader title={ selectedShadow.name } />\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Spacer marginTop={ 2 } marginBottom={ 0 } paddingX={ 4 }>\n\t\t\t\t\t\t<DropdownMenuV2\n\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( category === 'custom'\n\t\t\t\t\t\t\t\t? customShadowMenuItems\n\t\t\t\t\t\t\t\t: presetShadowMenuItems\n\t\t\t\t\t\t\t).map( ( item ) => (\n\t\t\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\t\t\tkey={ item.action }\n\t\t\t\t\t\t\t\t\tonClick={ () => onMenuClick( item.action ) }\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\titem.action === 'reset' &&\n\t\t\t\t\t\t\t\t\t\tselectedShadow.shadow ===\n\t\t\t\t\t\t\t\t\t\t\tbaseSelectedShadow.shadow\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ item.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</DropdownMenuV2>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t\t<div className=\"edit-site-global-styles-screen\">\n\t\t\t\t<ShadowsPreview shadow={ selectedShadow.shadow } />\n\t\t\t\t<ShadowEditor\n\t\t\t\t\tshadow={ selectedShadow.shadow }\n\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ isConfirmDialogVisible && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen\n\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\thandleShadowDelete();\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => {\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: name of the shadow\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\"?',\n\t\t\t\t\t\tselectedShadow.name\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t\t{ isRenameModalVisible && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename' ) }\n\t\t\t\t\tonRequestClose={ () => setIsRenameModalVisible( false ) }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\thandleShadowRename( shadowName );\n\t\t\t\t\t\t\tsetIsRenameModalVisible( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Shadow name' ) }\n\t\t\t\t\t\t\tvalue={ shadowName }\n\t\t\t\t\t\t\tonChange={ ( value ) => setShadowName( value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Spacer marginBottom={ 6 } />\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tclassName=\"block-editor-shadow-edit-modal__actions\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsRenameModalVisible( false )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction ShadowsPreview( { shadow } ) {\n\tconst shadowStyle = {\n\t\tboxShadow: shadow,\n\t};\n\n\treturn (\n\t\t<Spacer marginBottom={ 4 } marginTop={ -2 }>\n\t\t\t<HStack\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-panel\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-block\"\n\t\t\t\t\tstyle={ shadowStyle }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n\nfunction ShadowEditor( { shadow, onChange } ) {\n\tconst shadowParts = useMemo( () => getShadowParts( shadow ), [ shadow ] );\n\n\tconst onChangeShadowPart = ( index, part ) => {\n\t\tshadowParts[ index ] = part;\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onAddShadowPart = () => {\n\t\tshadowParts.push( defaultShadow );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onRemoveShadowPart = ( index ) => {\n\t\tshadowParts.splice( index, 1 );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t<Flex\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tclassName=\"edit-site-global-styles__shadows-panel__title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Shadows' ) }</Subtitle>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<FlexItem className=\"edit-site-global-styles__shadows-panel__options-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={ __( 'Add shadow' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonAddShadowPart();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t\t<Spacer />\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t{ shadowParts.map( ( part, index ) => (\n\t\t\t\t\t<ShadowItem\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\tshadow={ part }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tonChangeShadowPart( index, value )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcanRemove={ shadowParts.length > 1 }\n\t\t\t\t\t\tonRemove={ () => onRemoveShadowPart( index ) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction ShadowItem( { shadow, onChange, canRemove, onRemove } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\tconst shadowObj = useMemo(\n\t\t() => shadowStringToObject( shadow ),\n\t\t[ shadow ]\n\t);\n\tconst onShadowChange = ( newShadow ) => {\n\t\tonChange( shadowObjectToString( newShadow ) );\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"edit-site-global-styles__shadow-editor__dropdown\"\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\tconst toggleProps = {\n\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__dropdown-toggle',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t};\n\t\t\t\tconst removeButtonProps = {\n\t\t\t\t\tonClick: onRemove,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__remove-button',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\tlabel: __( 'Remove shadow' ),\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<HStack align=\"center\" justify=\"flex-start\" spacing={ 0 }>\n\t\t\t\t\t\t<FlexItem style={ { flexGrow: 1 } }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\t\t\t{ ...toggleProps }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ shadowObj.inset\n\t\t\t\t\t\t\t\t\t? __( 'Inner shadow' )\n\t\t\t\t\t\t\t\t\t: __( 'Drop shadow' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</HStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadow-editor__dropdown-content\"\n\t\t\t\t>\n\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\tshadowObj={ shadowObj }\n\t\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction ShadowPopover( { shadowObj, onChange } ) {\n\tconst __experimentalIsRenderedInSidebar = true;\n\tconst enableAlpha = true;\n\n\tconst onShadowChange = ( key, value ) => {\n\t\tconst newShadow = {\n\t\t\t...shadowObj,\n\t\t\t[ key ]: value,\n\t\t};\n\t\tonChange( newShadow );\n\t};\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-global-styles__shadow-editor-panel\"\n\t\t>\n\t\t\t<ColorPalette\n\t\t\t\tclearable={ false }\n\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tvalue={ shadowObj.color }\n\t\t\t\tonChange={ ( value ) => onShadowChange( 'color', value ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ shadowObj.inset ? 'inset' : 'outset' }\n\t\t\t\tisBlock\n\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\tonShadowChange( 'inset', value === 'inset' )\n\t\t\t\t}\n\t\t\t\thideLabelFromVision\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"outset\"\n\t\t\t\t\tlabel={ __( 'Outset' ) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"inset\"\n\t\t\t\t\tlabel={ __( 'Inset' ) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'X Position' ) }\n\t\t\t\t\tvalue={ shadowObj.x }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'x', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Y Position' ) }\n\t\t\t\t\tvalue={ shadowObj.y }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'y', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Blur' ) }\n\t\t\t\t\tvalue={ shadowObj.blur }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'blur', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Spread' ) }\n\t\t\t\t\tvalue={ shadowObj.spread }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'spread', value ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t</VStack>\n\t);\n}\n\nfunction ShadowInputControl( { label, value, onChange } ) {\n\tconst onValueChange = ( next ) => {\n\t\tconst isNumeric = next !== undefined && ! isNaN( parseFloat( next ) );\n\t\tconst nextValue = isNumeric ? next : '0px';\n\t\tonChange( nextValue );\n\t};\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ label }\n\t\t\t__next40pxDefaultSize\n\t\t\tvalue={ value }\n\t\t\tonChange={ onValueChange }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,7 +11,6 @@ import { __unstableMotion as motion, __unstableAnimatePresence as AnimatePresenc
|
|
|
11
11
|
import { useReducedMotion, useViewportMatch, useResizeObserver, usePrevious } from '@wordpress/compose';
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
13
|
import { useState, useRef, useEffect } from '@wordpress/element';
|
|
14
|
-
import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
|
|
15
14
|
import { CommandMenu } from '@wordpress/commands';
|
|
16
15
|
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
17
16
|
import { EditorSnackbars, privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
@@ -54,26 +53,16 @@ export default function Layout({
|
|
|
54
53
|
const isMobileViewport = useViewportMatch('medium', '<');
|
|
55
54
|
const toggleRef = useRef();
|
|
56
55
|
const {
|
|
57
|
-
canvasMode
|
|
58
|
-
previousShortcut,
|
|
59
|
-
nextShortcut
|
|
56
|
+
canvasMode
|
|
60
57
|
} = useSelect(select => {
|
|
61
|
-
const {
|
|
62
|
-
getAllShortcutKeyCombinations
|
|
63
|
-
} = select(keyboardShortcutsStore);
|
|
64
58
|
const {
|
|
65
59
|
getCanvasMode
|
|
66
60
|
} = unlock(select(editSiteStore));
|
|
67
61
|
return {
|
|
68
|
-
canvasMode: getCanvasMode()
|
|
69
|
-
previousShortcut: getAllShortcutKeyCombinations('core/editor/previous-region'),
|
|
70
|
-
nextShortcut: getAllShortcutKeyCombinations('core/editor/next-region')
|
|
62
|
+
canvasMode: getCanvasMode()
|
|
71
63
|
};
|
|
72
64
|
}, []);
|
|
73
|
-
const navigateRegionsProps = useNavigateRegions(
|
|
74
|
-
previous: previousShortcut,
|
|
75
|
-
next: nextShortcut
|
|
76
|
-
});
|
|
65
|
+
const navigateRegionsProps = useNavigateRegions();
|
|
77
66
|
const disableMotion = useReducedMotion();
|
|
78
67
|
const [canvasResizer, canvasSize] = useResizeObserver();
|
|
79
68
|
const isEditorLoading = useIsSiteEditorLoading();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","usePrevious","__","useState","useRef","useEffect","store","keyboardShortcutsStore","CommandMenu","privateApis","blockEditorPrivateApis","EditorSnackbars","editorPrivateApis","coreCommandsPrivateApis","ErrorBoundary","editSiteStore","default","SiteHub","SiteHubMobile","ResizableFrame","unlock","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useIsSiteEditorLoading","useMovingAnimation","SidebarContent","SaveHub","SavePanel","useSyncCanvasModeWithURL","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useCommands","useGlobalStyle","NavigableRegion","ANIMATION_DURATION","Layout","route","isMobileViewport","toggleRef","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","getCanvasMode","navigateRegionsProps","previous","next","disableMotion","canvasResizer","canvasSize","isEditorLoading","isResizableFrameOversized","setIsResizableFrameOversized","key","routeKey","areas","widths","animationRef","triggerAnimationOnChange","backgroundColor","gradientValue","previousCanvaMode","current","focus","children","ref","className","mobile","ariaLabel","div","initial","opacity","animate","exit","transition","type","duration","ease","isTransparent","sidebar","content","style","maxWidth","edit","preview","width","isReady","isFullWidth","defaultSize","height","isOversized","setIsOversized","innerContentStyle","background"],"sources":["@wordpress/edit-site/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { CommandMenu } from '@wordpress/commands';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport {\n\tEditorSnackbars,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport { default as SiteHub, SiteHubMobile } from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport { unlock } from '../../lock-unlock';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useIsSiteEditorLoading } from './hooks';\nimport useMovingAnimation from './animation';\nimport SidebarContent from '../sidebar';\nimport SaveHub from '../save-hub';\nimport SavePanel from '../save-panel';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\nconst { NavigableRegion } = unlock( editorPrivateApis );\n\nconst ANIMATION_DURATION = 0.3;\n\nexport default function Layout( { route } ) {\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst toggleRef = useRef();\n\tconst { canvasMode, previousShortcut, nextShortcut } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t);\n\t\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\t\treturn {\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t\t'core/editor/previous-region'\n\t\t\t\t),\n\t\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t\t'core/editor/next-region'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\tconst { key: routeKey, areas, widths } = route;\n\tconst animationRef = useMovingAnimation( {\n\t\ttriggerAnimationOnChange: canvasMode + '__' + routeKey,\n\t} );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\tconst previousCanvaMode = usePrevious( canvasMode );\n\tuseEffect( () => {\n\t\tif ( previousCanvaMode === 'edit' ) {\n\t\t\ttoggleRef.current?.focus();\n\t\t}\n\t\t// Should not depend on the previous canvas mode value but the next.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ canvasMode ] );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-full-canvas': canvasMode === 'edit',\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t\tThe NavigableRegion must always be rendered and not use\n\t\t\t\t\t\t`inert` otherwise `useNavigateRegions` will fail.\n\t\t\t\t\t*/ }\n\t\t\t\t\t{ ( ! isMobileViewport || ! areas.mobile ) && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar-region\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\tinitial={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\tanimate={ { opacity: 1 } }\n\t\t\t\t\t\t\t\t\t\texit={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\tisMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SiteHub\n\t\t\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\t\t\tisTransparent={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<SidebarContent routeKey={ routeKey }>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.sidebar }\n\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t\t<SavePanel />\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorSnackbars />\n\n\t\t\t\t\t{ isMobileViewport && areas.mobile && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__mobile\">\n\t\t\t\t\t\t\t{ canvasMode !== 'edit' && (\n\t\t\t\t\t\t\t\t<SidebarContent routeKey={ routeKey }>\n\t\t\t\t\t\t\t\t\t<SiteHubMobile\n\t\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\t\tisTransparent={\n\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ areas.mobile }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport &&\n\t\t\t\t\t\tareas.content &&\n\t\t\t\t\t\tcanvasMode !== 'edit' && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tmaxWidth: widths?.content,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ areas.content }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport && areas.edit && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: widths?.edit,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ areas.edit }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport && areas.preview && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__canvas-container\">\n\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tref={ animationRef }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\tisReady={ ! isEditorLoading }\n\t\t\t\t\t\t\t\t\t\t\tisFullWidth={\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'edit'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","usePrevious","__","useState","useRef","useEffect","CommandMenu","privateApis","blockEditorPrivateApis","EditorSnackbars","editorPrivateApis","coreCommandsPrivateApis","ErrorBoundary","store","editSiteStore","default","SiteHub","SiteHubMobile","ResizableFrame","unlock","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useIsSiteEditorLoading","useMovingAnimation","SidebarContent","SaveHub","SavePanel","useSyncCanvasModeWithURL","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useCommands","useGlobalStyle","NavigableRegion","ANIMATION_DURATION","Layout","route","isMobileViewport","toggleRef","canvasMode","select","getCanvasMode","navigateRegionsProps","disableMotion","canvasResizer","canvasSize","isEditorLoading","isResizableFrameOversized","setIsResizableFrameOversized","key","routeKey","areas","widths","animationRef","triggerAnimationOnChange","backgroundColor","gradientValue","previousCanvaMode","current","focus","children","ref","className","mobile","ariaLabel","div","initial","opacity","animate","exit","transition","type","duration","ease","isTransparent","sidebar","content","style","maxWidth","edit","preview","width","isReady","isFullWidth","defaultSize","height","isOversized","setIsOversized","innerContentStyle","background"],"sources":["@wordpress/edit-site/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { CommandMenu } from '@wordpress/commands';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport {\n\tEditorSnackbars,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport { default as SiteHub, SiteHubMobile } from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport { unlock } from '../../lock-unlock';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useIsSiteEditorLoading } from './hooks';\nimport useMovingAnimation from './animation';\nimport SidebarContent from '../sidebar';\nimport SaveHub from '../save-hub';\nimport SavePanel from '../save-panel';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\nconst { NavigableRegion } = unlock( editorPrivateApis );\n\nconst ANIMATION_DURATION = 0.3;\n\nexport default function Layout( { route } ) {\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst toggleRef = useRef();\n\tconst { canvasMode } = useSelect( ( select ) => {\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t};\n\t}, [] );\n\tconst navigateRegionsProps = useNavigateRegions();\n\tconst disableMotion = useReducedMotion();\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\tconst { key: routeKey, areas, widths } = route;\n\tconst animationRef = useMovingAnimation( {\n\t\ttriggerAnimationOnChange: canvasMode + '__' + routeKey,\n\t} );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\tconst previousCanvaMode = usePrevious( canvasMode );\n\tuseEffect( () => {\n\t\tif ( previousCanvaMode === 'edit' ) {\n\t\t\ttoggleRef.current?.focus();\n\t\t}\n\t\t// Should not depend on the previous canvas mode value but the next.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ canvasMode ] );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-full-canvas': canvasMode === 'edit',\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t\tThe NavigableRegion must always be rendered and not use\n\t\t\t\t\t\t`inert` otherwise `useNavigateRegions` will fail.\n\t\t\t\t\t*/ }\n\t\t\t\t\t{ ( ! isMobileViewport || ! areas.mobile ) && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar-region\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\tinitial={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\tanimate={ { opacity: 1 } }\n\t\t\t\t\t\t\t\t\t\texit={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\tisMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SiteHub\n\t\t\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\t\t\tisTransparent={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<SidebarContent routeKey={ routeKey }>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.sidebar }\n\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t\t<SavePanel />\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorSnackbars />\n\n\t\t\t\t\t{ isMobileViewport && areas.mobile && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__mobile\">\n\t\t\t\t\t\t\t{ canvasMode !== 'edit' && (\n\t\t\t\t\t\t\t\t<SidebarContent routeKey={ routeKey }>\n\t\t\t\t\t\t\t\t\t<SiteHubMobile\n\t\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\t\tisTransparent={\n\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ areas.mobile }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport &&\n\t\t\t\t\t\tareas.content &&\n\t\t\t\t\t\tcanvasMode !== 'edit' && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tmaxWidth: widths?.content,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ areas.content }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport && areas.edit && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: widths?.edit,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ areas.edit }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport && areas.preview && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__canvas-container\">\n\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tref={ animationRef }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\tisReady={ ! isEditorLoading }\n\t\t\t\t\t\t\t\t\t\t\tisFullWidth={\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'edit'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -75,6 +75,7 @@ export default function DataviewsPatterns() {
|
|
|
75
75
|
const categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;
|
|
76
76
|
const [view, setView] = useState(DEFAULT_VIEW);
|
|
77
77
|
const previousCategoryId = usePrevious(categoryId);
|
|
78
|
+
const previousPostType = usePrevious(type);
|
|
78
79
|
const viewSyncStatus = view.filters?.find(({
|
|
79
80
|
field
|
|
80
81
|
}) => field === 'sync-status')?.value;
|
|
@@ -118,13 +119,13 @@ export default function DataviewsPatterns() {
|
|
|
118
119
|
|
|
119
120
|
// Reset the page number when the category changes.
|
|
120
121
|
useEffect(() => {
|
|
121
|
-
if (previousCategoryId !== categoryId) {
|
|
122
|
+
if (previousCategoryId !== categoryId || previousPostType !== type) {
|
|
122
123
|
setView(prevView => ({
|
|
123
124
|
...prevView,
|
|
124
125
|
page: 1
|
|
125
126
|
}));
|
|
126
127
|
}
|
|
127
|
-
}, [categoryId, previousCategoryId]);
|
|
128
|
+
}, [categoryId, previousCategoryId, previousPostType, type]);
|
|
128
129
|
const {
|
|
129
130
|
data,
|
|
130
131
|
paginationInfo
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","useState","useMemo","useId","useEffect","privateApis","blockEditorPrivateApis","DataViews","filterSortAndPaginate","usePrevious","useEntityRecords","editorPrivateApis","routerPrivateApis","Page","LAYOUT_GRID","LAYOUT_TABLE","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_DEFAULT_CATEGORY","usePatternSettings","unlock","usePatterns","useAugmentPatternsWithPermissions","PatternsHeader","useEditPostAction","patternStatusField","previewField","titleField","templatePartAuthorField","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","usePostActions","useLocation","EMPTY_ARRAY","defaultLayouts","layout","primaryField","styles","preview","width","author","mediaField","badgeFields","DEFAULT_VIEW","type","search","page","perPage","fields","filters","DataviewsPatterns","params","postType","categoryId","categoryIdFromURL","user","view","setView","previousCategoryId","viewSyncStatus","find","field","value","patterns","isResolving","syncStatus","records","per_page","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","label","_fields","push","elements","prevView","data","paginationInfo","viewWithoutFilters","dataWithPermissions","templatePartActions","context","patternActions","editAction","actions","filter","Boolean","id","settings","children","title","className","hideTitleFromUI","titleId","descriptionId","getItemId","item","_item$name","name","isLoading","onChangeView"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useId, useEffect } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { usePrevious } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsHeader from './header';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tpatternStatusField,\n\tpreviewField,\n\ttitleField,\n\ttemplatePartAuthorField,\n} from './fields';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tstyles: {\n\t\t\t\tpreview: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tbadgeFields: [ 'sync-status' ],\n\t\t},\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfields: [ 'title', 'sync-status' ],\n\tfilters: [],\n};\n\nexport default function DataviewsPatterns() {\n\tconst {\n\t\tparams: { postType, categoryId: categoryIdFromURL },\n\t} = useLocation();\n\tconst type = postType || PATTERN_TYPES.user;\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( type, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [ previewField, titleField ];\n\n\t\tif ( type === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( patternStatusField );\n\t\t} else if ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\t...templatePartAuthorField,\n\t\t\t\telements: authors,\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ type, authors ] );\n\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId ) {\n\t\t\tsetView( ( prevView ) => ( { ...prevView, page: 1 } ) );\n\t\t}\n\t}, [ categoryId, previousCategoryId ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( type !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, type ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, type, templatePartActions, patternActions ] );\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ setView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","useState","useMemo","useId","useEffect","privateApis","blockEditorPrivateApis","DataViews","filterSortAndPaginate","usePrevious","useEntityRecords","editorPrivateApis","routerPrivateApis","Page","LAYOUT_GRID","LAYOUT_TABLE","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_DEFAULT_CATEGORY","usePatternSettings","unlock","usePatterns","useAugmentPatternsWithPermissions","PatternsHeader","useEditPostAction","patternStatusField","previewField","titleField","templatePartAuthorField","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","usePostActions","useLocation","EMPTY_ARRAY","defaultLayouts","layout","primaryField","styles","preview","width","author","mediaField","badgeFields","DEFAULT_VIEW","type","search","page","perPage","fields","filters","DataviewsPatterns","params","postType","categoryId","categoryIdFromURL","user","view","setView","previousCategoryId","previousPostType","viewSyncStatus","find","field","value","patterns","isResolving","syncStatus","records","per_page","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","label","_fields","push","elements","prevView","data","paginationInfo","viewWithoutFilters","dataWithPermissions","templatePartActions","context","patternActions","editAction","actions","filter","Boolean","id","settings","children","title","className","hideTitleFromUI","titleId","descriptionId","getItemId","item","_item$name","name","isLoading","onChangeView"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useId, useEffect } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { usePrevious } from '@wordpress/compose';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsHeader from './header';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tpatternStatusField,\n\tpreviewField,\n\ttitleField,\n\ttemplatePartAuthorField,\n} from './fields';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions } = unlock( editorPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tstyles: {\n\t\t\t\tpreview: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tbadgeFields: [ 'sync-status' ],\n\t\t},\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfields: [ 'title', 'sync-status' ],\n\tfilters: [],\n};\n\nexport default function DataviewsPatterns() {\n\tconst {\n\t\tparams: { postType, categoryId: categoryIdFromURL },\n\t} = useLocation();\n\tconst type = postType || PATTERN_TYPES.user;\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst previousPostType = usePrevious( type );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( type, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [ previewField, titleField ];\n\n\t\tif ( type === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( patternStatusField );\n\t\t} else if ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\t...templatePartAuthorField,\n\t\t\t\telements: authors,\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ type, authors ] );\n\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId || previousPostType !== type ) {\n\t\t\tsetView( ( prevView ) => ( { ...prevView, page: 1 } ) );\n\t\t}\n\t}, [ categoryId, previousCategoryId, previousPostType, type ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( type !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, type ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, type, templatePartActions, patternActions ] );\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ setView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/edit-site",
|
|
3
|
-
"version": "6.8.
|
|
3
|
+
"version": "6.8.8",
|
|
4
4
|
"description": "Edit Site Page module for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -32,20 +32,20 @@
|
|
|
32
32
|
"@wordpress/a11y": "^4.8.2",
|
|
33
33
|
"@wordpress/api-fetch": "^7.8.2",
|
|
34
34
|
"@wordpress/blob": "^4.8.1",
|
|
35
|
-
"@wordpress/block-editor": "^14.3.
|
|
36
|
-
"@wordpress/block-library": "^9.8.
|
|
35
|
+
"@wordpress/block-editor": "^14.3.6",
|
|
36
|
+
"@wordpress/block-library": "^9.8.7",
|
|
37
37
|
"@wordpress/blocks": "^13.8.4",
|
|
38
|
-
"@wordpress/commands": "^1.8.
|
|
39
|
-
"@wordpress/components": "^28.8.
|
|
38
|
+
"@wordpress/commands": "^1.8.6",
|
|
39
|
+
"@wordpress/components": "^28.8.6",
|
|
40
40
|
"@wordpress/compose": "^7.8.3",
|
|
41
|
-
"@wordpress/core-commands": "^1.8.
|
|
42
|
-
"@wordpress/core-data": "^7.8.
|
|
41
|
+
"@wordpress/core-commands": "^1.8.6",
|
|
42
|
+
"@wordpress/core-data": "^7.8.6",
|
|
43
43
|
"@wordpress/data": "^10.8.3",
|
|
44
|
-
"@wordpress/dataviews": "^4.4.
|
|
44
|
+
"@wordpress/dataviews": "^4.4.6",
|
|
45
45
|
"@wordpress/date": "^5.8.2",
|
|
46
46
|
"@wordpress/deprecated": "^4.8.2",
|
|
47
47
|
"@wordpress/dom": "^4.8.2",
|
|
48
|
-
"@wordpress/editor": "^14.8.
|
|
48
|
+
"@wordpress/editor": "^14.8.8",
|
|
49
49
|
"@wordpress/element": "^6.8.1",
|
|
50
50
|
"@wordpress/escape-html": "^3.8.1",
|
|
51
51
|
"@wordpress/hooks": "^4.8.2",
|
|
@@ -55,18 +55,18 @@
|
|
|
55
55
|
"@wordpress/keyboard-shortcuts": "^5.8.3",
|
|
56
56
|
"@wordpress/keycodes": "^4.8.2",
|
|
57
57
|
"@wordpress/notices": "^5.8.3",
|
|
58
|
-
"@wordpress/patterns": "^2.8.
|
|
59
|
-
"@wordpress/plugins": "^7.8.
|
|
60
|
-
"@wordpress/preferences": "^4.8.
|
|
58
|
+
"@wordpress/patterns": "^2.8.6",
|
|
59
|
+
"@wordpress/plugins": "^7.8.6",
|
|
60
|
+
"@wordpress/preferences": "^4.8.6",
|
|
61
61
|
"@wordpress/primitives": "^4.8.1",
|
|
62
62
|
"@wordpress/priority-queue": "^3.8.1",
|
|
63
63
|
"@wordpress/private-apis": "^1.8.1",
|
|
64
|
-
"@wordpress/reusable-blocks": "^5.8.
|
|
64
|
+
"@wordpress/reusable-blocks": "^5.8.6",
|
|
65
65
|
"@wordpress/router": "^1.8.1",
|
|
66
66
|
"@wordpress/style-engine": "^2.8.1",
|
|
67
67
|
"@wordpress/url": "^4.8.1",
|
|
68
68
|
"@wordpress/viewport": "^6.8.3",
|
|
69
|
-
"@wordpress/widgets": "^4.8.
|
|
69
|
+
"@wordpress/widgets": "^4.8.6",
|
|
70
70
|
"@wordpress/wordcount": "^4.8.1",
|
|
71
71
|
"change-case": "^4.1.2",
|
|
72
72
|
"clsx": "^2.1.1",
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
"publishConfig": {
|
|
83
83
|
"access": "public"
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "b7af02f8431034ee19cdc33dd105d21705823eed"
|
|
86
86
|
}
|
|
@@ -230,7 +230,6 @@ export default function EditSiteEditor( { isPostsList = false } ) {
|
|
|
230
230
|
'show-icon-labels': showIconLabels,
|
|
231
231
|
} ) }
|
|
232
232
|
styles={ styles }
|
|
233
|
-
enableRegionNavigation={ false }
|
|
234
233
|
customSaveButton={
|
|
235
234
|
_isPreviewingTheme && <SaveButton size="compact" />
|
|
236
235
|
}
|
|
@@ -25,6 +25,19 @@ import { unlock } from '../../lock-unlock';
|
|
|
25
25
|
|
|
26
26
|
const { useGlobalSetting } = unlock( blockEditorPrivateApis );
|
|
27
27
|
|
|
28
|
+
/**
|
|
29
|
+
* Maps the fonts with the source, if available.
|
|
30
|
+
*
|
|
31
|
+
* @param {Array} fonts The fonts to map.
|
|
32
|
+
* @param {string} source The source of the fonts.
|
|
33
|
+
* @return {Array} The mapped fonts.
|
|
34
|
+
*/
|
|
35
|
+
function mapFontsWithSource( fonts, source ) {
|
|
36
|
+
return fonts
|
|
37
|
+
? fonts.map( ( f ) => setUIValuesNeeded( f, { source } ) )
|
|
38
|
+
: [];
|
|
39
|
+
}
|
|
40
|
+
|
|
28
41
|
function FontFamilies() {
|
|
29
42
|
const { baseCustomFonts, modalTabOpen, setModalTabOpen } =
|
|
30
43
|
useContext( FontLibraryContext );
|
|
@@ -34,18 +47,12 @@ function FontFamilies() {
|
|
|
34
47
|
undefined,
|
|
35
48
|
'base'
|
|
36
49
|
);
|
|
37
|
-
const themeFonts = fontFamilies?.theme
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
? fontFamilies.custom
|
|
44
|
-
.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )
|
|
45
|
-
.sort( ( a, b ) => a.name.localeCompare( b.name ) )
|
|
46
|
-
: [];
|
|
47
|
-
const hasFonts = 0 < customFonts.length || 0 < themeFonts.length;
|
|
48
|
-
|
|
50
|
+
const themeFonts = mapFontsWithSource( fontFamilies?.theme, 'theme' );
|
|
51
|
+
const customFonts = mapFontsWithSource( fontFamilies?.custom, 'custom' );
|
|
52
|
+
const activeFonts = [ ...themeFonts, ...customFonts ].sort( ( a, b ) =>
|
|
53
|
+
a.name.localeCompare( b.name )
|
|
54
|
+
);
|
|
55
|
+
const hasFonts = 0 < activeFonts.length;
|
|
49
56
|
const hasInstalledFonts =
|
|
50
57
|
hasFonts ||
|
|
51
58
|
baseFontFamilies?.theme?.length > 0 ||
|
|
@@ -61,11 +68,11 @@ function FontFamilies() {
|
|
|
61
68
|
) }
|
|
62
69
|
|
|
63
70
|
<VStack spacing={ 4 }>
|
|
64
|
-
{
|
|
71
|
+
{ activeFonts.length > 0 && (
|
|
65
72
|
<>
|
|
66
73
|
<Subtitle level={ 3 }>{ __( 'Fonts' ) }</Subtitle>
|
|
67
74
|
<ItemGroup size="large" isBordered isSeparated>
|
|
68
|
-
{
|
|
75
|
+
{ activeFonts.map( ( font ) => (
|
|
69
76
|
<FontFamilyItem
|
|
70
77
|
key={ font.slug }
|
|
71
78
|
font={ font }
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
import { Card, CardBody } from '@wordpress/components';
|
|
5
5
|
import { __ } from '@wordpress/i18n';
|
|
6
6
|
import { useZoomOut } from '@wordpress/block-editor';
|
|
7
|
+
import { useDispatch } from '@wordpress/data';
|
|
8
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
7
9
|
|
|
8
10
|
/**
|
|
9
11
|
* Internal dependencies
|
|
@@ -12,9 +14,12 @@ import ScreenHeader from './header';
|
|
|
12
14
|
import SidebarNavigationScreenGlobalStylesContent from '../sidebar-navigation-screen-global-styles/content';
|
|
13
15
|
|
|
14
16
|
function ScreenStyleVariations() {
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
+
// Style Variations should only be previewed in with
|
|
18
|
+
// - a "zoomed out" editor
|
|
19
|
+
// - "Desktop" device preview
|
|
20
|
+
const { setDeviceType } = useDispatch( editorStore );
|
|
17
21
|
useZoomOut();
|
|
22
|
+
setDeviceType( 'desktop' );
|
|
18
23
|
|
|
19
24
|
return (
|
|
20
25
|
<>
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
reset,
|
|
36
36
|
moreVertical,
|
|
37
37
|
} from '@wordpress/icons';
|
|
38
|
-
import { useState, useMemo } from '@wordpress/element';
|
|
38
|
+
import { useState, useMemo, useEffect } from '@wordpress/element';
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* Internal dependencies
|
|
@@ -73,12 +73,30 @@ const presetShadowMenuItems = [
|
|
|
73
73
|
|
|
74
74
|
export default function ShadowsEditPanel() {
|
|
75
75
|
const {
|
|
76
|
+
goBack,
|
|
76
77
|
params: { category, slug },
|
|
77
|
-
goTo,
|
|
78
78
|
} = useNavigator();
|
|
79
79
|
const [ shadows, setShadows ] = useGlobalSetting(
|
|
80
80
|
`shadow.presets.${ category }`
|
|
81
81
|
);
|
|
82
|
+
|
|
83
|
+
useEffect( () => {
|
|
84
|
+
const hasCurrentShadow = shadows?.some(
|
|
85
|
+
( shadow ) => shadow.slug === slug
|
|
86
|
+
);
|
|
87
|
+
// If the shadow being edited doesn't exist anymore in the global styles setting, navigate back
|
|
88
|
+
// to prevent the user from editing a non-existent shadow entry.
|
|
89
|
+
// This can happen, for example:
|
|
90
|
+
// - when the user deletes the shadow
|
|
91
|
+
// - when the user resets the styles while editing a custom shadow
|
|
92
|
+
//
|
|
93
|
+
// The check on the slug is necessary to prevent a double back navigation when the user triggers
|
|
94
|
+
// a backward navigation by interacting with the screen's UI.
|
|
95
|
+
if ( !! slug && ! hasCurrentShadow ) {
|
|
96
|
+
goBack();
|
|
97
|
+
}
|
|
98
|
+
}, [ shadows, slug, goBack ] );
|
|
99
|
+
|
|
82
100
|
const [ baseShadows ] = useGlobalSetting(
|
|
83
101
|
`shadow.presets.${ category }`,
|
|
84
102
|
undefined,
|
|
@@ -119,9 +137,7 @@ export default function ShadowsEditPanel() {
|
|
|
119
137
|
};
|
|
120
138
|
|
|
121
139
|
const handleShadowDelete = () => {
|
|
122
|
-
|
|
123
|
-
setShadows( updatedShadows );
|
|
124
|
-
goTo( `/shadows` );
|
|
140
|
+
setShadows( shadows.filter( ( s ) => s.slug !== slug ) );
|
|
125
141
|
};
|
|
126
142
|
|
|
127
143
|
const handleShadowRename = ( newName ) => {
|