@wordpress/edit-site 6.24.0 → 6.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/components/add-new-template/add-custom-generic-template-modal-content.js +13 -6
- package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
- package/build/components/add-new-template/add-custom-template-modal-content.js +37 -1
- package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build/components/add-new-template/index.js +16 -3
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/global-styles/font-sizes/font-sizes.js +1 -2
- package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -1
- package/build/components/global-styles/shadows-edit-panel.js +3 -7
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +14 -7
- package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal-content.js +37 -1
- package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build-module/components/add-new-template/index.js +17 -4
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/font-sizes.js +1 -2
- package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -1
- package/build-module/components/global-styles/shadows-edit-panel.js +3 -7
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-style/posts-rtl.css +6 -6
- package/build-style/posts.css +6 -6
- package/build-style/style-rtl.css +8 -7
- package/build-style/style.css +8 -7
- package/package.json +42 -42
- package/src/components/add-new-template/add-custom-generic-template-modal-content.js +14 -6
- package/src/components/add-new-template/add-custom-template-modal-content.js +45 -1
- package/src/components/add-new-template/index.js +25 -3
- package/src/components/global-styles/font-sizes/font-sizes.js +2 -2
- package/src/components/global-styles/shadows-edit-panel.js +1 -6
- package/src/components/global-styles/style.scss +2 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_blockEditor","_icons","_element","_lockUnlock","_subtitle","_header","_shadowsPanel","_shadowUtils","_jsxRuntime","useGlobalSetting","unlock","blockEditorPrivateApis","Menu","componentsPrivateApis","customShadowMenuItems","label","__","action","presetShadowMenuItems","ShadowsEditPanel","goBack","params","category","slug","useNavigator","shadows","setShadows","useEffect","hasCurrentShadow","some","shadow","baseShadows","undefined","selectedShadow","setSelectedShadow","useState","find","baseSelectedShadow","useMemo","b","isConfirmDialogVisible","setIsConfirmDialogVisible","isRenameModalVisible","setIsRenameModalVisible","shadowName","setShadowName","name","onShadowChange","updatedShadows","map","s","onMenuClick","handleShadowDelete","filter","handleShadowRename","newName","jsx","default","title","jsxs","Fragment","children","__experimentalHStack","justify","FlexItem","__experimentalSpacer","marginTop","marginBottom","paddingX","TriggerButton","render","Button","size","icon","moreVertical","Popover","item","Item","onClick","disabled","ItemLabel","className","ShadowsPreview","ShadowEditor","onChange","__experimentalConfirmDialog","isOpen","onConfirm","onCancel","confirmButtonText","sprintf","Modal","onRequestClose","onSubmit","event","preventDefault","__experimentalInputControl","__next40pxDefaultSize","autoComplete","placeholder","value","Flex","expanded","variant","type","shadowStyle","boxShadow","align","style","addShadowButtonRef","useRef","shadowParts","getShadowParts","onChangeShadowPart","index","part","newShadowParts","join","onAddShadowPart","defaultShadow","onRemoveShadowPart","p","i","current","focus","__experimentalVStack","spacing","level","plus","ref","__experimentalItemGroup","isBordered","isSeparated","ShadowItem","canRemove","length","onRemove","popoverProps","placement","offset","shift","shadowObj","shadowStringToObject","newShadow","shadowObjectToString","Dropdown","renderToggle","onToggle","toggleProps","clsx","removeButtonProps","shadowIcon","inset","reset","renderContent","__experimentalDropdownContentWrapper","paddingSize","ShadowPopover","__experimentalIsRenderedInSidebar","enableAlpha","key","ColorPalette","clearable","color","__experimentalToggleGroupControl","__nextHasNoMarginBottom","isBlock","hideLabelFromVision","__experimentalToggleGroupControlOption","__experimentalGrid","columns","gap","ShadowInputControl","x","y","blur","spread","onValueChange","next","isNumeric","isNaN","parseFloat","nextValue","__experimentalUnitControl"],"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\tuseNavigator,\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, useRef } 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 { Menu } = 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\tif ( ! category || ! slug ) {\n\t\treturn null;\n\t}\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<Menu>\n\t\t\t\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\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/>\n\t\t\t\t\t\t\t<Menu.Popover>\n\t\t\t\t\t\t\t\t{ ( category === 'custom'\n\t\t\t\t\t\t\t\t\t? customShadowMenuItems\n\t\t\t\t\t\t\t\t\t: presetShadowMenuItems\n\t\t\t\t\t\t\t\t).map( ( item ) => (\n\t\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\t\tkey={ item.action }\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tonMenuClick( item.action )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\titem.action === 'reset' &&\n\t\t\t\t\t\t\t\t\t\t\tselectedShadow.shadow ===\n\t\t\t\t\t\t\t\t\t\t\t\tbaseSelectedShadow.shadow\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\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ item.label }\n\t\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Menu.Popover>\n\t\t\t\t\t\t</Menu>\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 preset. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Are you sure you want to delete \"%s\" shadow preset?'\n\t\t\t\t\t\t),\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 addShadowButtonRef = useRef();\n\tconst shadowParts = useMemo( () => getShadowParts( shadow ), [ shadow ] );\n\n\tconst onChangeShadowPart = ( index, part ) => {\n\t\tconst newShadowParts = [ ...shadowParts ];\n\t\tnewShadowParts[ index ] = part;\n\t\tonChange( newShadowParts.join( ', ' ) );\n\t};\n\n\tconst onAddShadowPart = () => {\n\t\tonChange( [ ...shadowParts, defaultShadow ].join( ', ' ) );\n\t};\n\n\tconst onRemoveShadowPart = ( index ) => {\n\t\tonChange( shadowParts.filter( ( p, i ) => i !== index ).join( ', ' ) );\n\t\taddShadowButtonRef.current.focus();\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\tref={ addShadowButtonRef }\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: () => {\n\t\t\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonRemove();\n\t\t\t\t\t},\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<>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\t\t{ ...toggleProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ shadowObj.inset\n\t\t\t\t\t\t\t\t? __( 'Inner shadow' )\n\t\t\t\t\t\t\t\t: __( 'Drop shadow' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t\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":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_blockEditor","_icons","_element","_lockUnlock","_subtitle","_header","_shadowsPanel","_shadowUtils","_jsxRuntime","useGlobalSetting","unlock","blockEditorPrivateApis","Menu","componentsPrivateApis","customShadowMenuItems","label","__","action","presetShadowMenuItems","ShadowsEditPanel","goBack","params","category","slug","useNavigator","shadows","setShadows","useEffect","hasCurrentShadow","some","shadow","baseShadows","undefined","selectedShadow","setSelectedShadow","useState","find","baseSelectedShadow","useMemo","b","isConfirmDialogVisible","setIsConfirmDialogVisible","isRenameModalVisible","setIsRenameModalVisible","shadowName","setShadowName","name","onShadowChange","updatedShadows","map","s","onMenuClick","handleShadowDelete","filter","handleShadowRename","newName","jsx","default","title","jsxs","Fragment","children","__experimentalHStack","justify","FlexItem","__experimentalSpacer","marginTop","marginBottom","paddingX","TriggerButton","render","Button","size","icon","moreVertical","Popover","item","Item","onClick","disabled","ItemLabel","className","ShadowsPreview","ShadowEditor","onChange","__experimentalConfirmDialog","isOpen","onConfirm","onCancel","confirmButtonText","sprintf","Modal","onRequestClose","onSubmit","event","preventDefault","__experimentalInputControl","__next40pxDefaultSize","autoComplete","placeholder","value","Flex","expanded","variant","type","shadowStyle","boxShadow","align","style","addShadowButtonRef","useRef","shadowParts","getShadowParts","onChangeShadowPart","index","part","newShadowParts","join","onAddShadowPart","defaultShadow","onRemoveShadowPart","p","i","current","focus","__experimentalVStack","spacing","level","plus","ref","__experimentalItemGroup","isBordered","isSeparated","ShadowItem","canRemove","length","onRemove","popoverProps","placement","offset","shift","shadowObj","shadowStringToObject","newShadow","shadowObjectToString","Dropdown","renderToggle","onToggle","toggleProps","clsx","removeButtonProps","shadowIcon","inset","reset","renderContent","__experimentalDropdownContentWrapper","paddingSize","ShadowPopover","__experimentalIsRenderedInSidebar","enableAlpha","key","ColorPalette","clearable","color","__experimentalToggleGroupControl","__nextHasNoMarginBottom","isBlock","hideLabelFromVision","__experimentalToggleGroupControlOption","__experimentalGrid","columns","gap","ShadowInputControl","x","y","blur","spread","onValueChange","next","isNumeric","isNaN","parseFloat","nextValue","__experimentalUnitControl"],"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\tuseNavigator,\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, useRef } 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 { Menu } = 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\tif ( ! category || ! slug ) {\n\t\treturn null;\n\t}\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<Menu>\n\t\t\t\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\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/>\n\t\t\t\t\t\t\t<Menu.Popover>\n\t\t\t\t\t\t\t\t{ ( category === 'custom'\n\t\t\t\t\t\t\t\t\t? customShadowMenuItems\n\t\t\t\t\t\t\t\t\t: presetShadowMenuItems\n\t\t\t\t\t\t\t\t).map( ( item ) => (\n\t\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\t\tkey={ item.action }\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tonMenuClick( item.action )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\titem.action === 'reset' &&\n\t\t\t\t\t\t\t\t\t\t\tselectedShadow.shadow ===\n\t\t\t\t\t\t\t\t\t\t\t\tbaseSelectedShadow.shadow\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\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ item.label }\n\t\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Menu.Popover>\n\t\t\t\t\t\t</Menu>\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 preset. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Are you sure you want to delete \"%s\" shadow preset?'\n\t\t\t\t\t\t),\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 addShadowButtonRef = useRef();\n\tconst shadowParts = useMemo( () => getShadowParts( shadow ), [ shadow ] );\n\n\tconst onChangeShadowPart = ( index, part ) => {\n\t\tconst newShadowParts = [ ...shadowParts ];\n\t\tnewShadowParts[ index ] = part;\n\t\tonChange( newShadowParts.join( ', ' ) );\n\t};\n\n\tconst onAddShadowPart = () => {\n\t\tonChange( [ ...shadowParts, defaultShadow ].join( ', ' ) );\n\t};\n\n\tconst onRemoveShadowPart = ( index ) => {\n\t\tonChange( shadowParts.filter( ( p, i ) => i !== index ).join( ', ' ) );\n\t\taddShadowButtonRef.current.focus();\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<Subtitle level={ 3 }>{ __( 'Shadows' ) }</Subtitle>\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\tref={ addShadowButtonRef }\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: () => {\n\t\t\t\t\t\tif ( isOpen ) {\n\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonRemove();\n\t\t\t\t\t},\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<>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\t\t{ ...toggleProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ shadowObj.inset\n\t\t\t\t\t\t\t\t? __( 'Inner shadow' )\n\t\t\t\t\t\t\t\t: __( 'Drop shadow' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t\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":[]}
|
package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js
CHANGED
|
@@ -6,17 +6,25 @@ import { paramCase as kebabCase } from 'change-case';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import { useState } from '@wordpress/element';
|
|
9
|
+
import { useState, useEffect, useRef } from '@wordpress/element';
|
|
10
10
|
import { __ } from '@wordpress/i18n';
|
|
11
11
|
import { Button, TextControl, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
13
|
function AddCustomGenericTemplateModalContent({
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
createTemplate,
|
|
15
|
+
onBack
|
|
16
16
|
}) {
|
|
17
17
|
const [title, setTitle] = useState('');
|
|
18
18
|
const defaultTitle = __('Custom Template');
|
|
19
19
|
const [isBusy, setIsBusy] = useState(false);
|
|
20
|
+
const inputRef = useRef();
|
|
21
|
+
|
|
22
|
+
// Set focus to the name input when the component mounts
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (inputRef.current) {
|
|
25
|
+
inputRef.current.focus();
|
|
26
|
+
}
|
|
27
|
+
}, []);
|
|
20
28
|
async function onCreateTemplate(event) {
|
|
21
29
|
event.preventDefault();
|
|
22
30
|
if (isBusy) {
|
|
@@ -44,6 +52,7 @@ function AddCustomGenericTemplateModalContent({
|
|
|
44
52
|
onChange: setTitle,
|
|
45
53
|
placeholder: defaultTitle,
|
|
46
54
|
disabled: isBusy,
|
|
55
|
+
ref: inputRef,
|
|
47
56
|
help: __(
|
|
48
57
|
// eslint-disable-next-line no-restricted-syntax -- 'sidebar' is a common web design term for layouts
|
|
49
58
|
'Describe the template, e.g. "Post with sidebar". A custom template can be manually applied to any post or page.')
|
|
@@ -53,10 +62,8 @@ function AddCustomGenericTemplateModalContent({
|
|
|
53
62
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
54
63
|
__next40pxDefaultSize: true,
|
|
55
64
|
variant: "tertiary",
|
|
56
|
-
onClick:
|
|
57
|
-
|
|
58
|
-
},
|
|
59
|
-
children: __('Cancel')
|
|
65
|
+
onClick: onBack,
|
|
66
|
+
children: __('Back')
|
|
60
67
|
}), /*#__PURE__*/_jsx(Button, {
|
|
61
68
|
__next40pxDefaultSize: true,
|
|
62
69
|
variant: "primary",
|
package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["paramCase","kebabCase","useState","__","Button","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","jsx","_jsx","jsxs","_jsxs","AddCustomGenericTemplateModalContent","
|
|
1
|
+
{"version":3,"names":["paramCase","kebabCase","useState","useEffect","useRef","__","Button","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","jsx","_jsx","jsxs","_jsxs","AddCustomGenericTemplateModalContent","createTemplate","onBack","title","setTitle","defaultTitle","isBusy","setIsBusy","inputRef","current","focus","onCreateTemplate","event","preventDefault","slug","onSubmit","children","spacing","__next40pxDefaultSize","__nextHasNoMarginBottom","label","value","onChange","placeholder","disabled","ref","help","className","justify","variant","onClick","type"],"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-generic-template-modal-content.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\nfunction AddCustomGenericTemplateModalContent( { createTemplate, onBack } ) {\n\tconst [ title, setTitle ] = useState( '' );\n\tconst defaultTitle = __( 'Custom Template' );\n\tconst [ isBusy, setIsBusy ] = useState( false );\n\tconst inputRef = useRef();\n\n\t// Set focus to the name input when the component mounts\n\tuseEffect( () => {\n\t\tif ( inputRef.current ) {\n\t\t\tinputRef.current.focus();\n\t\t}\n\t}, [] );\n\n\tasync function onCreateTemplate( event ) {\n\t\tevent.preventDefault();\n\t\tif ( isBusy ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsBusy( true );\n\t\ttry {\n\t\t\tawait createTemplate(\n\t\t\t\t{\n\t\t\t\t\tslug:\n\t\t\t\t\t\tkebabCase( title || defaultTitle ) ||\n\t\t\t\t\t\t'wp-custom-template',\n\t\t\t\t\ttitle: title || defaultTitle,\n\t\t\t\t},\n\t\t\t\tfalse\n\t\t\t);\n\t\t} finally {\n\t\t\tsetIsBusy( false );\n\t\t}\n\t}\n\treturn (\n\t\t<form onSubmit={ onCreateTemplate }>\n\t\t\t<VStack spacing={ 6 }>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ defaultTitle }\n\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\tref={ inputRef }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax -- 'sidebar' is a common web design term for layouts\n\t\t\t\t\t\t'Describe the template, e.g. \"Post with sidebar\". A custom template can be manually applied to any post or page.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"edit-site-custom-generic-template__modal-actions\"\n\t\t\t\t\tjustify=\"right\"\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ onBack }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\taria-disabled={ isBusy }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nexport default AddCustomGenericTemplateModalContent;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,IAAIC,SAAS,QAAQ,aAAa;;AAEpD;AACA;AACA;AACA,SAASC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AAChE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,MAAM,EACNC,WAAW,EACXC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE/B,SAASC,oCAAoCA,CAAE;EAAEC,cAAc;EAAEC;AAAO,CAAC,EAAG;EAC3E,MAAM,CAAEC,KAAK,EAAEC,QAAQ,CAAE,GAAGlB,QAAQ,CAAE,EAAG,CAAC;EAC1C,MAAMmB,YAAY,GAAGhB,EAAE,CAAE,iBAAkB,CAAC;EAC5C,MAAM,CAAEiB,MAAM,EAAEC,SAAS,CAAE,GAAGrB,QAAQ,CAAE,KAAM,CAAC;EAC/C,MAAMsB,QAAQ,GAAGpB,MAAM,CAAC,CAAC;;EAEzB;EACAD,SAAS,CAAE,MAAM;IAChB,IAAKqB,QAAQ,CAACC,OAAO,EAAG;MACvBD,QAAQ,CAACC,OAAO,CAACC,KAAK,CAAC,CAAC;IACzB;EACD,CAAC,EAAE,EAAG,CAAC;EAEP,eAAeC,gBAAgBA,CAAEC,KAAK,EAAG;IACxCA,KAAK,CAACC,cAAc,CAAC,CAAC;IACtB,IAAKP,MAAM,EAAG;MACb;IACD;IACAC,SAAS,CAAE,IAAK,CAAC;IACjB,IAAI;MACH,MAAMN,cAAc,CACnB;QACCa,IAAI,EACH7B,SAAS,CAAEkB,KAAK,IAAIE,YAAa,CAAC,IAClC,oBAAoB;QACrBF,KAAK,EAAEA,KAAK,IAAIE;MACjB,CAAC,EACD,KACD,CAAC;IACF,CAAC,SAAS;MACTE,SAAS,CAAE,KAAM,CAAC;IACnB;EACD;EACA,oBACCV,IAAA;IAAMkB,QAAQ,EAAGJ,gBAAkB;IAAAK,QAAA,eAClCjB,KAAA,CAACJ,MAAM;MAACsB,OAAO,EAAG,CAAG;MAAAD,QAAA,gBACpBnB,IAAA,CAACN,WAAW;QACX2B,qBAAqB;QACrBC,uBAAuB;QACvBC,KAAK,EAAG/B,EAAE,CAAE,MAAO,CAAG;QACtBgC,KAAK,EAAGlB,KAAO;QACfmB,QAAQ,EAAGlB,QAAU;QACrBmB,WAAW,EAAGlB,YAAc;QAC5BmB,QAAQ,EAAGlB,MAAQ;QACnBmB,GAAG,EAAGjB,QAAU;QAChBkB,IAAI,EAAGrC,EAAE;QACR;QACA,iHACD;MAAG,CACH,CAAC,eACFU,KAAA,CAACN,MAAM;QACNkC,SAAS,EAAC,kDAAkD;QAC5DC,OAAO,EAAC,OAAO;QAAAZ,QAAA,gBAEfnB,IAAA,CAACP,MAAM;UACN4B,qBAAqB;UACrBW,OAAO,EAAC,UAAU;UAClBC,OAAO,EAAG5B,MAAQ;UAAAc,QAAA,EAEhB3B,EAAE,CAAE,MAAO;QAAC,CACP,CAAC,eACTQ,IAAA,CAACP,MAAM;UACN4B,qBAAqB;UACrBW,OAAO,EAAC,SAAS;UACjBE,IAAI,EAAC,QAAQ;UACbzB,MAAM,EAAGA,MAAQ;UACjB,iBAAgBA,MAAQ;UAAAU,QAAA,EAEtB3B,EAAE,CAAE,QAAS;QAAC,CACT,CAAC;MAAA,CACF,CAAC;IAAA,CACF;EAAC,CACJ,CAAC;AAET;AAEA,eAAeW,oCAAoC","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ import { Button, Flex, FlexItem, SearchControl, TextHighlight, Composite, __expe
|
|
|
7
7
|
import { useEntityRecords } from '@wordpress/core-data';
|
|
8
8
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
9
9
|
import { useDebouncedInput } from '@wordpress/compose';
|
|
10
|
+
import { focus } from '@wordpress/dom';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Internal dependencies
|
|
@@ -120,9 +121,20 @@ function SuggestionList({
|
|
|
120
121
|
}
|
|
121
122
|
function AddCustomTemplateModalContent({
|
|
122
123
|
onSelect,
|
|
123
|
-
entityForSuggestions
|
|
124
|
+
entityForSuggestions,
|
|
125
|
+
onBack,
|
|
126
|
+
containerRef
|
|
124
127
|
}) {
|
|
125
128
|
const [showSearchEntities, setShowSearchEntities] = useState(entityForSuggestions.hasGeneralTemplate);
|
|
129
|
+
|
|
130
|
+
// Focus on the first focusable element when the modal opens.
|
|
131
|
+
// We handle focus management in the parent modal, just need to focus on the first focusable element.
|
|
132
|
+
useEffect(() => {
|
|
133
|
+
if (containerRef.current) {
|
|
134
|
+
const [firstFocusable] = focus.focusable.find(containerRef.current);
|
|
135
|
+
firstFocusable?.focus();
|
|
136
|
+
}
|
|
137
|
+
}, [showSearchEntities]);
|
|
126
138
|
return /*#__PURE__*/_jsxs(VStack, {
|
|
127
139
|
spacing: 4,
|
|
128
140
|
className: "edit-site-custom-template-modal__contents-wrapper",
|
|
@@ -187,6 +199,14 @@ function AddCustomTemplateModalContent({
|
|
|
187
199
|
__('For a specific item')
|
|
188
200
|
})]
|
|
189
201
|
})]
|
|
202
|
+
}), /*#__PURE__*/_jsx(Flex, {
|
|
203
|
+
justify: "right",
|
|
204
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
205
|
+
__next40pxDefaultSize: true,
|
|
206
|
+
variant: "tertiary",
|
|
207
|
+
onClick: onBack,
|
|
208
|
+
children: __('Back')
|
|
209
|
+
})
|
|
190
210
|
})]
|
|
191
211
|
}), showSearchEntities && /*#__PURE__*/_jsxs(_Fragment, {
|
|
192
212
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
@@ -195,6 +215,22 @@ function AddCustomTemplateModalContent({
|
|
|
195
215
|
}), /*#__PURE__*/_jsx(SuggestionList, {
|
|
196
216
|
entityForSuggestions: entityForSuggestions,
|
|
197
217
|
onSelect: onSelect
|
|
218
|
+
}), /*#__PURE__*/_jsx(Flex, {
|
|
219
|
+
justify: "right",
|
|
220
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
221
|
+
__next40pxDefaultSize: true,
|
|
222
|
+
variant: "tertiary",
|
|
223
|
+
onClick: () => {
|
|
224
|
+
// If general template exists, go directly back to main screen
|
|
225
|
+
// instead of showing the choice screen
|
|
226
|
+
if (entityForSuggestions.hasGeneralTemplate) {
|
|
227
|
+
onBack();
|
|
228
|
+
} else {
|
|
229
|
+
setShowSearchEntities(false);
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
children: __('Back')
|
|
233
|
+
})
|
|
198
234
|
})]
|
|
199
235
|
})]
|
|
200
236
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useMemo","useEffect","__","Button","Flex","FlexItem","SearchControl","TextHighlight","Composite","__experimentalText","Text","__experimentalVStack","VStack","useEntityRecords","decodeEntities","useDebouncedInput","mapToIHasNameAndId","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EMPTY_ARRAY","SuggestionListItem","suggestion","search","onSelect","entityForSuggestions","baseCssClass","Item","render","__next40pxDefaultSize","role","className","onClick","config","getSpecificTemplate","children","size","lineHeight","weight","text","name","highlight","link","useSearchSuggestions","query","order","context","per_page","queryArgs","records","searchResults","hasResolved","searchHasResolved","type","slug","suggestions","setSuggestions","newSuggestions","length","recordNamePath","SuggestionList","setSearch","debouncedSearch","labels","showSearchControl","setShowSearchControl","__nextHasNoMarginBottom","onChange","value","label","search_items","placeholder","orientation","map","as","not_found","AddCustomTemplateModalContent","showSearchEntities","setShowSearchEntities","hasGeneralTemplate","spacing","alignment","gap","align","isBlock","title","description","templatePrefix","template","all_items","singular_name"],"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-template-modal-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tSearchControl,\n\tTextHighlight,\n\tComposite,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { mapToIHasNameAndId } from './utils';\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<Composite.Item\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tclassName={ baseCssClass }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tonSelect(\n\t\t\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\t\t\tsuggestion\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<Text\n\t\t\t\tsize=\"body\"\n\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\tweight={ 500 }\n\t\t\t\tclassName={ `${ baseCssClass }__title` }\n\t\t\t>\n\t\t\t\t<TextHighlight\n\t\t\t\t\ttext={ decodeEntities( suggestion.name ) }\n\t\t\t\t\thighlight={ search }\n\t\t\t\t/>\n\t\t\t</Text>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\tclassName={ `${ baseCssClass }__info` }\n\t\t\t\t>\n\t\t\t\t\t{ suggestion.link }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</Composite.Item>\n\t);\n}\n\nfunction useSearchSuggestions( entityForSuggestions, search ) {\n\tconst { config } = entityForSuggestions;\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\torder: 'asc',\n\t\t\tcontext: 'view',\n\t\t\tsearch,\n\t\t\tper_page: search ? 20 : 10,\n\t\t\t...config.queryArgs( search ),\n\t\t} ),\n\t\t[ search, config ]\n\t);\n\tconst { records: searchResults, hasResolved: searchHasResolved } =\n\t\tuseEntityRecords(\n\t\t\tentityForSuggestions.type,\n\t\t\tentityForSuggestions.slug,\n\t\t\tquery\n\t\t);\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tlet newSuggestions = EMPTY_ARRAY;\n\t\tif ( searchResults?.length ) {\n\t\t\tnewSuggestions = searchResults;\n\t\t\tif ( config.recordNamePath ) {\n\t\t\t\tnewSuggestions = mapToIHasNameAndId(\n\t\t\t\t\tnewSuggestions,\n\t\t\t\t\tconfig.recordNamePath\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Update suggestions only when the query has resolved, so as to keep\n\t\t// the previous results in the UI.\n\t\tsetSuggestions( newSuggestions );\n\t}, [ searchResults, searchHasResolved ] );\n\treturn suggestions;\n}\n\nfunction SuggestionList( { entityForSuggestions, onSelect } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst suggestions = useSearchSuggestions(\n\t\tentityForSuggestions,\n\t\tdebouncedSearch\n\t);\n\tconst { labels } = entityForSuggestions;\n\tconst [ showSearchControl, setShowSearchControl ] = useState( false );\n\tif ( ! showSearchControl && suggestions?.length > 9 ) {\n\t\tsetShowSearchControl( true );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ showSearchControl && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearch }\n\t\t\t\t\tvalue={ search }\n\t\t\t\t\tlabel={ labels.search_items }\n\t\t\t\t\tplaceholder={ labels.search_items }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! suggestions?.length && (\n\t\t\t\t<Composite\n\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__suggestions_list\"\n\t\t\t\t\taria-label={ __( 'Suggestions list' ) }\n\t\t\t\t>\n\t\t\t\t\t{ suggestions.map( ( suggestion ) => (\n\t\t\t\t\t\t<SuggestionListItem\n\t\t\t\t\t\t\tkey={ suggestion.slug }\n\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\tsearch={ debouncedSearch }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Composite>\n\t\t\t) }\n\t\t\t{ debouncedSearch && ! suggestions?.length && (\n\t\t\t\t<Text\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__no-results\"\n\t\t\t\t>\n\t\t\t\t\t{ labels.not_found }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModalContent( { onSelect, entityForSuggestions } ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-custom-template-modal__contents-wrapper\"\n\t\t\talignment=\"left\"\n\t\t>\n\t\t\t{ ! showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select whether to create a single template for all items or a specific one.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"edit-site-custom-template-modal__contents\"\n\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\talign=\"initial\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} = entityForSuggestions.template;\n\t\t\t\t\t\t\t\tonSelect( {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\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<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.all_items }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\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// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For all items' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowSearchEntities( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.singular_name }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\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// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For a specific item' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This template will be used only for the specific item chosen.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SuggestionList\n\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default AddCustomTemplateModalContent;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,EAAEC,OAAO,EAAEC,SAAS,QAAQ,oBAAoB;AACjE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,MAAM,EACNC,IAAI,EACJC,QAAQ,EACRC,aAAa,EACbC,aAAa,EACbC,SAAS,EACTC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,iBAAiB,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,SAASC,kBAAkB,QAAQ,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAE7C,MAAMC,WAAW,GAAG,EAAE;AAEtB,SAASC,kBAAkBA,CAAE;EAC5BC,UAAU;EACVC,MAAM;EACNC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,MAAMC,YAAY,GACjB,8DAA8D;EAC/D,oBACCT,KAAA,CAACZ,SAAS,CAACsB,IAAI;IACdC,MAAM,eACLb,IAAA,CAACf,MAAM;MACN6B,qBAAqB;MACrBC,IAAI,EAAC,QAAQ;MACbC,SAAS,EAAGL,YAAc;MAC1BM,OAAO,EAAGA,CAAA,KACTR,QAAQ,CACPC,oBAAoB,CAACQ,MAAM,CAACC,mBAAmB,CAC9CZ,UACD,CACD;IACA,CACD,CACD;IAAAa,QAAA,gBAEDpB,IAAA,CAACR,IAAI;MACJ6B,IAAI,EAAC,MAAM;MACXC,UAAU,EAAG,aAAe,CAAC;MAAA;MAC7BC,MAAM,EAAG,GAAK;MACdP,SAAS,EAAG,GAAIL,YAAY,SAAY;MAAAS,QAAA,eAExCpB,IAAA,CAACX,aAAa;QACbmC,IAAI,EAAG5B,cAAc,CAAEW,UAAU,CAACkB,IAAK,CAAG;QAC1CC,SAAS,EAAGlB;MAAQ,CACpB;IAAC,CACG,CAAC,EACLD,UAAU,CAACoB,IAAI,iBAChB3B,IAAA,CAACR,IAAI;MACJ6B,IAAI,EAAC,MAAM;MACXC,UAAU,EAAG,aAAe,CAAC;MAAA;MAC7BN,SAAS,EAAG,GAAIL,YAAY,QAAW;MAAAS,QAAA,EAErCb,UAAU,CAACoB;IAAI,CACZ,CACN;EAAA,CACc,CAAC;AAEnB;AAEA,SAASC,oBAAoBA,CAAElB,oBAAoB,EAAEF,MAAM,EAAG;EAC7D,MAAM;IAAEU;EAAO,CAAC,GAAGR,oBAAoB;EACvC,MAAMmB,KAAK,GAAG/C,OAAO,CACpB,OAAQ;IACPgD,KAAK,EAAE,KAAK;IACZC,OAAO,EAAE,MAAM;IACfvB,MAAM;IACNwB,QAAQ,EAAExB,MAAM,GAAG,EAAE,GAAG,EAAE;IAC1B,GAAGU,MAAM,CAACe,SAAS,CAAEzB,MAAO;EAC7B,CAAC,CAAE,EACH,CAAEA,MAAM,EAAEU,MAAM,CACjB,CAAC;EACD,MAAM;IAAEgB,OAAO,EAAEC,aAAa;IAAEC,WAAW,EAAEC;EAAkB,CAAC,GAC/D1C,gBAAgB,CACfe,oBAAoB,CAAC4B,IAAI,EACzB5B,oBAAoB,CAAC6B,IAAI,EACzBV,KACD,CAAC;EACF,MAAM,CAAEW,WAAW,EAAEC,cAAc,CAAE,GAAG5D,QAAQ,CAAEwB,WAAY,CAAC;EAC/DtB,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEsD,iBAAiB,EAAG;MAC1B;IACD;IACA,IAAIK,cAAc,GAAGrC,WAAW;IAChC,IAAK8B,aAAa,EAAEQ,MAAM,EAAG;MAC5BD,cAAc,GAAGP,aAAa;MAC9B,IAAKjB,MAAM,CAAC0B,cAAc,EAAG;QAC5BF,cAAc,GAAG5C,kBAAkB,CAClC4C,cAAc,EACdxB,MAAM,CAAC0B,cACR,CAAC;MACF;IACD;IACA;IACA;IACAH,cAAc,CAAEC,cAAe,CAAC;EACjC,CAAC,EAAE,CAAEP,aAAa,EAAEE,iBAAiB,CAAG,CAAC;EACzC,OAAOG,WAAW;AACnB;AAEA,SAASK,cAAcA,CAAE;EAAEnC,oBAAoB;EAAED;AAAS,CAAC,EAAG;EAC7D,MAAM,CAAED,MAAM,EAAEsC,SAAS,EAAEC,eAAe,CAAE,GAAGlD,iBAAiB,CAAC,CAAC;EAClE,MAAM2C,WAAW,GAAGZ,oBAAoB,CACvClB,oBAAoB,EACpBqC,eACD,CAAC;EACD,MAAM;IAAEC;EAAO,CAAC,GAAGtC,oBAAoB;EACvC,MAAM,CAAEuC,iBAAiB,EAAEC,oBAAoB,CAAE,GAAGrE,QAAQ,CAAE,KAAM,CAAC;EACrE,IAAK,CAAEoE,iBAAiB,IAAIT,WAAW,EAAEG,MAAM,GAAG,CAAC,EAAG;IACrDO,oBAAoB,CAAE,IAAK,CAAC;EAC7B;EACA,oBACChD,KAAA,CAAAE,SAAA;IAAAgB,QAAA,GACG6B,iBAAiB,iBAClBjD,IAAA,CAACZ,aAAa;MACb+D,uBAAuB;MACvBC,QAAQ,EAAGN,SAAW;MACtBO,KAAK,EAAG7C,MAAQ;MAChB8C,KAAK,EAAGN,MAAM,CAACO,YAAc;MAC7BC,WAAW,EAAGR,MAAM,CAACO;IAAc,CACnC,CACD,EACC,CAAC,CAAEf,WAAW,EAAEG,MAAM,iBACvB3C,IAAA,CAACV,SAAS;MACTmE,WAAW,EAAC,UAAU;MACtB1C,IAAI,EAAC,SAAS;MACdC,SAAS,EAAC,mDAAmD;MAC7D,cAAahC,EAAE,CAAE,kBAAmB,CAAG;MAAAoC,QAAA,EAErCoB,WAAW,CAACkB,GAAG,CAAInD,UAAU,iBAC9BP,IAAA,CAACM,kBAAkB;QAElBC,UAAU,EAAGA,UAAY;QACzBC,MAAM,EAAGuC,eAAiB;QAC1BtC,QAAQ,EAAGA,QAAU;QACrBC,oBAAoB,EAAGA;MAAsB,GAJvCH,UAAU,CAACgC,IAKjB,CACA;IAAC,CACO,CACX,EACCQ,eAAe,IAAI,CAAEP,WAAW,EAAEG,MAAM,iBACzC3C,IAAA,CAACR,IAAI;MACJmE,EAAE,EAAC,GAAG;MACN3C,SAAS,EAAC,6CAA6C;MAAAI,QAAA,EAErD4B,MAAM,CAACY;IAAS,CACb,CACN;EAAA,CACA,CAAC;AAEL;AAEA,SAASC,6BAA6BA,CAAE;EAAEpD,QAAQ;EAAEC;AAAqB,CAAC,EAAG;EAC5E,MAAM,CAAEoD,kBAAkB,EAAEC,qBAAqB,CAAE,GAAGlF,QAAQ,CAC7D6B,oBAAoB,CAACsD,kBACtB,CAAC;EACD,oBACC9D,KAAA,CAACR,MAAM;IACNuE,OAAO,EAAG,CAAG;IACbjD,SAAS,EAAC,mDAAmD;IAC7DkD,SAAS,EAAC,MAAM;IAAA9C,QAAA,GAEd,CAAE0C,kBAAkB,iBACrB5D,KAAA,CAAAE,SAAA;MAAAgB,QAAA,gBACCpB,IAAA,CAACR,IAAI;QAACmE,EAAE,EAAC,GAAG;QAAAvC,QAAA,EACTpC,EAAE,CACH,6EACD;MAAC,CACI,CAAC,eACPkB,KAAA,CAAChB,IAAI;QACJ8B,SAAS,EAAC,2CAA2C;QACrDmD,GAAG,EAAC,GAAG;QACPC,KAAK,EAAC,SAAS;QAAAhD,QAAA,gBAEflB,KAAA,CAACf,QAAQ;UACRkF,OAAO;UACPV,EAAE,EAAG1E,MAAQ;UACbgC,OAAO,EAAGA,CAAA,KAAM;YACf,MAAM;cACLsB,IAAI;cACJ+B,KAAK;cACLC,WAAW;cACXC;YACD,CAAC,GAAG9D,oBAAoB,CAAC+D,QAAQ;YACjChE,QAAQ,CAAE;cACT8B,IAAI;cACJ+B,KAAK;cACLC,WAAW;cACXC;YACD,CAAE,CAAC;UACJ,CAAG;UAAApD,QAAA,gBAEHpB,IAAA,CAACR,IAAI;YACJmE,EAAE,EAAC,MAAM;YACTpC,MAAM,EAAG,GAAK;YACdD,UAAU,EAAG,aAAe,CAAC;YAAA;YAAAF,QAAA,EAE3BV,oBAAoB,CAACsC,MAAM,CAAC0B;UAAS,CAClC,CAAC,eACP1E,IAAA,CAACR,IAAI;YACJmE,EAAE,EAAC,MAAM;YACTrC,UAAU,EAAG,aAAe,CAAC;YAAA;YAAAF,QAAA;YAG5B;YACApC,EAAE,CAAE,eAAgB;UAAC,CAEjB,CAAC;QAAA,CACE,CAAC,eACXkB,KAAA,CAACf,QAAQ;UACRkF,OAAO;UACPV,EAAE,EAAG1E,MAAQ;UACbgC,OAAO,EAAGA,CAAA,KAAM;YACf8C,qBAAqB,CAAE,IAAK,CAAC;UAC9B,CAAG;UAAA3C,QAAA,gBAEHpB,IAAA,CAACR,IAAI;YACJmE,EAAE,EAAC,MAAM;YACTpC,MAAM,EAAG,GAAK;YACdD,UAAU,EAAG,aAAe,CAAC;YAAA;YAAAF,QAAA,EAE3BV,oBAAoB,CAACsC,MAAM,CAAC2B;UAAa,CACtC,CAAC,eACP3E,IAAA,CAACR,IAAI;YACJmE,EAAE,EAAC,MAAM;YACTrC,UAAU,EAAG,aAAe,CAAC;YAAA;YAAAF,QAAA;YAG5B;YACApC,EAAE,CAAE,qBAAsB;UAAC,CAEvB,CAAC;QAAA,CACE,CAAC;MAAA,CACN,CAAC;IAAA,CACN,CACF,EACC8E,kBAAkB,iBACnB5D,KAAA,CAAAE,SAAA;MAAAgB,QAAA,gBACCpB,IAAA,CAACR,IAAI;QAACmE,EAAE,EAAC,GAAG;QAAAvC,QAAA,EACTpC,EAAE,CACH,+DACD;MAAC,CACI,CAAC,eACPgB,IAAA,CAAC6C,cAAc;QACdnC,oBAAoB,EAAGA,oBAAsB;QAC7CD,QAAQ,EAAGA;MAAU,CACrB,CAAC;IAAA,CACD,CACF;EAAA,CACM,CAAC;AAEX;AAEA,eAAeoD,6BAA6B","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useState","useMemo","useEffect","__","Button","Flex","FlexItem","SearchControl","TextHighlight","Composite","__experimentalText","Text","__experimentalVStack","VStack","useEntityRecords","decodeEntities","useDebouncedInput","focus","mapToIHasNameAndId","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","EMPTY_ARRAY","SuggestionListItem","suggestion","search","onSelect","entityForSuggestions","baseCssClass","Item","render","__next40pxDefaultSize","role","className","onClick","config","getSpecificTemplate","children","size","lineHeight","weight","text","name","highlight","link","useSearchSuggestions","query","order","context","per_page","queryArgs","records","searchResults","hasResolved","searchHasResolved","type","slug","suggestions","setSuggestions","newSuggestions","length","recordNamePath","SuggestionList","setSearch","debouncedSearch","labels","showSearchControl","setShowSearchControl","__nextHasNoMarginBottom","onChange","value","label","search_items","placeholder","orientation","map","as","not_found","AddCustomTemplateModalContent","onBack","containerRef","showSearchEntities","setShowSearchEntities","hasGeneralTemplate","current","firstFocusable","focusable","find","spacing","alignment","gap","align","isBlock","title","description","templatePrefix","template","all_items","singular_name","justify","variant"],"sources":["@wordpress/edit-site/src/components/add-new-template/add-custom-template-modal-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tSearchControl,\n\tTextHighlight,\n\tComposite,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useDebouncedInput } from '@wordpress/compose';\nimport { focus } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { mapToIHasNameAndId } from './utils';\n\nconst EMPTY_ARRAY = [];\n\nfunction SuggestionListItem( {\n\tsuggestion,\n\tsearch,\n\tonSelect,\n\tentityForSuggestions,\n} ) {\n\tconst baseCssClass =\n\t\t'edit-site-custom-template-modal__suggestions_list__list-item';\n\treturn (\n\t\t<Composite.Item\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tclassName={ baseCssClass }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tonSelect(\n\t\t\t\t\t\t\tentityForSuggestions.config.getSpecificTemplate(\n\t\t\t\t\t\t\t\tsuggestion\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<Text\n\t\t\t\tsize=\"body\"\n\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\tweight={ 500 }\n\t\t\t\tclassName={ `${ baseCssClass }__title` }\n\t\t\t>\n\t\t\t\t<TextHighlight\n\t\t\t\t\ttext={ decodeEntities( suggestion.name ) }\n\t\t\t\t\thighlight={ search }\n\t\t\t\t/>\n\t\t\t</Text>\n\t\t\t{ suggestion.link && (\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\tclassName={ `${ baseCssClass }__info` }\n\t\t\t\t>\n\t\t\t\t\t{ suggestion.link }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</Composite.Item>\n\t);\n}\n\nfunction useSearchSuggestions( entityForSuggestions, search ) {\n\tconst { config } = entityForSuggestions;\n\tconst query = useMemo(\n\t\t() => ( {\n\t\t\torder: 'asc',\n\t\t\tcontext: 'view',\n\t\t\tsearch,\n\t\t\tper_page: search ? 20 : 10,\n\t\t\t...config.queryArgs( search ),\n\t\t} ),\n\t\t[ search, config ]\n\t);\n\tconst { records: searchResults, hasResolved: searchHasResolved } =\n\t\tuseEntityRecords(\n\t\t\tentityForSuggestions.type,\n\t\t\tentityForSuggestions.slug,\n\t\t\tquery\n\t\t);\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tlet newSuggestions = EMPTY_ARRAY;\n\t\tif ( searchResults?.length ) {\n\t\t\tnewSuggestions = searchResults;\n\t\t\tif ( config.recordNamePath ) {\n\t\t\t\tnewSuggestions = mapToIHasNameAndId(\n\t\t\t\t\tnewSuggestions,\n\t\t\t\t\tconfig.recordNamePath\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Update suggestions only when the query has resolved, so as to keep\n\t\t// the previous results in the UI.\n\t\tsetSuggestions( newSuggestions );\n\t}, [ searchResults, searchHasResolved ] );\n\treturn suggestions;\n}\n\nfunction SuggestionList( { entityForSuggestions, onSelect } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst suggestions = useSearchSuggestions(\n\t\tentityForSuggestions,\n\t\tdebouncedSearch\n\t);\n\tconst { labels } = entityForSuggestions;\n\tconst [ showSearchControl, setShowSearchControl ] = useState( false );\n\tif ( ! showSearchControl && suggestions?.length > 9 ) {\n\t\tsetShowSearchControl( true );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ showSearchControl && (\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearch }\n\t\t\t\t\tvalue={ search }\n\t\t\t\t\tlabel={ labels.search_items }\n\t\t\t\t\tplaceholder={ labels.search_items }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! suggestions?.length && (\n\t\t\t\t<Composite\n\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__suggestions_list\"\n\t\t\t\t\taria-label={ __( 'Suggestions list' ) }\n\t\t\t\t>\n\t\t\t\t\t{ suggestions.map( ( suggestion ) => (\n\t\t\t\t\t\t<SuggestionListItem\n\t\t\t\t\t\t\tkey={ suggestion.slug }\n\t\t\t\t\t\t\tsuggestion={ suggestion }\n\t\t\t\t\t\t\tsearch={ debouncedSearch }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</Composite>\n\t\t\t) }\n\t\t\t{ debouncedSearch && ! suggestions?.length && (\n\t\t\t\t<Text\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tclassName=\"edit-site-custom-template-modal__no-results\"\n\t\t\t\t>\n\t\t\t\t\t{ labels.not_found }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction AddCustomTemplateModalContent( {\n\tonSelect,\n\tentityForSuggestions,\n\tonBack,\n\tcontainerRef,\n} ) {\n\tconst [ showSearchEntities, setShowSearchEntities ] = useState(\n\t\tentityForSuggestions.hasGeneralTemplate\n\t);\n\n\t// Focus on the first focusable element when the modal opens.\n\t// We handle focus management in the parent modal, just need to focus on the first focusable element.\n\tuseEffect( () => {\n\t\tif ( containerRef.current ) {\n\t\t\tconst [ firstFocusable ] = focus.focusable.find(\n\t\t\t\tcontainerRef.current\n\t\t\t);\n\t\t\tfirstFocusable?.focus();\n\t\t}\n\t}, [ showSearchEntities ] );\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-custom-template-modal__contents-wrapper\"\n\t\t\talignment=\"left\"\n\t\t>\n\t\t\t{ ! showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select whether to create a single template for all items or a specific one.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"edit-site-custom-template-modal__contents\"\n\t\t\t\t\t\tgap=\"4\"\n\t\t\t\t\t\talign=\"initial\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\n\t\t\t\t\t\t\t\t} = entityForSuggestions.template;\n\t\t\t\t\t\t\t\tonSelect( {\n\t\t\t\t\t\t\t\t\tslug,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\ttemplatePrefix,\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<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.all_items }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\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// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For all items' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowSearchEntities( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ entityForSuggestions.labels.singular_name }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\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// translators: The user is given the choice to set up a template for all items of a post type or taxonomy, or just a specific one.\n\t\t\t\t\t\t\t\t\t__( 'For a specific item' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<Flex justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onBack }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showSearchEntities && (\n\t\t\t\t<>\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This template will be used only for the specific item chosen.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<SuggestionList\n\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t\t<Flex justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t// If general template exists, go directly back to main screen\n\t\t\t\t\t\t\t\t// instead of showing the choice screen\n\t\t\t\t\t\t\t\tif ( entityForSuggestions.hasGeneralTemplate ) {\n\t\t\t\t\t\t\t\t\tonBack();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsetShowSearchEntities( false );\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{ __( 'Back' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default AddCustomTemplateModalContent;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import clsx from 'clsx';
|
|
|
8
8
|
*/
|
|
9
9
|
import { Button, Modal, __experimentalGrid as Grid, __experimentalText as Text, __experimentalVStack as VStack, Flex, Icon } from '@wordpress/components';
|
|
10
10
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
11
|
-
import { useState, memo } from '@wordpress/element';
|
|
11
|
+
import { useState, memo, useRef, useEffect } from '@wordpress/element';
|
|
12
12
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
13
13
|
import { store as coreStore } from '@wordpress/core-data';
|
|
14
14
|
import { useViewportMatch } from '@wordpress/compose';
|
|
@@ -16,6 +16,7 @@ import { archive, blockMeta, calendar, category, commentAuthorAvatar, edit, home
|
|
|
16
16
|
import { __, sprintf } from '@wordpress/i18n';
|
|
17
17
|
import { store as noticesStore } from '@wordpress/notices';
|
|
18
18
|
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
19
|
+
import { focus } from '@wordpress/dom';
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* Internal dependencies
|
|
@@ -114,6 +115,7 @@ function NewTemplateModal({
|
|
|
114
115
|
createErrorNotice,
|
|
115
116
|
createSuccessNotice
|
|
116
117
|
} = useDispatch(noticesStore);
|
|
118
|
+
const containerRef = useRef(null);
|
|
117
119
|
const isMobile = useViewportMatch('medium', '<');
|
|
118
120
|
const homeUrl = useSelect(select => {
|
|
119
121
|
// Site index.
|
|
@@ -125,6 +127,14 @@ function NewTemplateModal({
|
|
|
125
127
|
// translators: %s: The homepage url.
|
|
126
128
|
__('E.g. %s'), homeUrl + '/' + new Date().getFullYear())
|
|
127
129
|
};
|
|
130
|
+
useEffect(() => {
|
|
131
|
+
// Focus the first focusable element when component mounts or UI changes
|
|
132
|
+
// We don't want to focus on the other modals because they have their own focus management.
|
|
133
|
+
if (containerRef.current && modalContent === modalContentMap.templatesList) {
|
|
134
|
+
const [firstFocusable] = focus.focusable.find(containerRef.current);
|
|
135
|
+
firstFocusable?.focus();
|
|
136
|
+
}
|
|
137
|
+
}, [modalContent]);
|
|
128
138
|
async function createTemplate(template, isWPSuggestion = true) {
|
|
129
139
|
if (isSubmitting) {
|
|
130
140
|
return;
|
|
@@ -184,6 +194,7 @@ function NewTemplateModal({
|
|
|
184
194
|
}),
|
|
185
195
|
onRequestClose: onModalClose,
|
|
186
196
|
overlayClassName: modalContent === modalContentMap.customGenericTemplate ? 'edit-site-custom-generic-template__modal' : undefined,
|
|
197
|
+
ref: containerRef,
|
|
187
198
|
children: [modalContent === modalContentMap.templatesList && /*#__PURE__*/_jsxs(Grid, {
|
|
188
199
|
columns: isMobile ? 2 : 3,
|
|
189
200
|
gap: 4,
|
|
@@ -221,10 +232,12 @@ function NewTemplateModal({
|
|
|
221
232
|
})]
|
|
222
233
|
}), modalContent === modalContentMap.customTemplate && /*#__PURE__*/_jsx(AddCustomTemplateModalContent, {
|
|
223
234
|
onSelect: createTemplate,
|
|
224
|
-
entityForSuggestions: entityForSuggestions
|
|
235
|
+
entityForSuggestions: entityForSuggestions,
|
|
236
|
+
onBack: () => setModalContent(modalContentMap.templatesList),
|
|
237
|
+
containerRef: containerRef
|
|
225
238
|
}), modalContent === modalContentMap.customGenericTemplate && /*#__PURE__*/_jsx(AddCustomGenericTemplateModalContent, {
|
|
226
|
-
|
|
227
|
-
|
|
239
|
+
createTemplate: createTemplate,
|
|
240
|
+
onBack: () => setModalContent(modalContentMap.templatesList)
|
|
228
241
|
})]
|
|
229
242
|
});
|
|
230
243
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","Flex","Icon","decodeEntities","useState","memo","useSelect","useDispatch","store","coreStore","useViewportMatch","archive","blockMeta","calendar","category","commentAuthorAvatar","edit","home","layout","list","media","notFound","page","pin","verse","search","tag","__","sprintf","noticesStore","privateApis","routerPrivateApis","TEMPLATE_POST_TYPE","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useHistory","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","single","index","author","taxonomy","date","attachment","TemplateListItem","title","direction","className","description","icon","onClick","children","__next40pxDefaultSize","label","showTooltip","as","spacing","align","justify","style","width","alignment","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplateModal","onClose","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isSubmitting","setIsSubmitting","missingTemplates","useMissingTemplates","history","saveEntityRecord","createErrorNotice","createSuccessNotice","isMobile","homeUrl","select","getEntityRecord","TEMPLATE_SHORT_DESCRIPTIONS","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","navigate","id","rendered","type","error","errorMessage","message","code","onModalClose","modalTitle","labels","singular_name","onRequestClose","overlayClassName","undefined","columns","gap","map","onSelect","NewTemplate","showModal","setShowModal","postType","getPostType","variant","add_new_item","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","push","sort","template1","template2","indexOf"],"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nfunction NewTemplateModal( { onClose } ) {\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\tconst homeUrl = useSelect( ( select ) => {\n\t\t// Site index.\n\t\treturn select( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.home;\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsSubmitting( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.navigate(\n\t\t\t\t`/${ TEMPLATE_POST_TYPE }/${ newTemplate.id }?canvas=edit`\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tonClose();\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tclassName={ clsx( 'edit-site-add-new-template__modal', {\n\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t} ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\toverlayClassName={\n\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns={ isMobile ? 2 : 3 }\n\t\t\t\t\tgap={ 4 }\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t>\n\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={ TEMPLATE_ICONS[ slug ] || layout }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</TemplateListItem>\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customGenericTemplate && (\n\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nfunction NewTemplate() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\tpostType: getPostType( TEMPLATE_POST_TYPE ),\n\t\t};\n\t}, [] );\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new_item }\n\t\t\t</Button>\n\t\t\t{ showModal && (\n\t\t\t\t<NewTemplateModal onClose={ () => setShowModal( false ) } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n\nexport default memo( NewTemplate );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","Flex","Icon","decodeEntities","useState","memo","useRef","useEffect","useSelect","useDispatch","store","coreStore","useViewportMatch","archive","blockMeta","calendar","category","commentAuthorAvatar","edit","home","layout","list","media","notFound","page","pin","verse","search","tag","__","sprintf","noticesStore","privateApis","routerPrivateApis","focus","TEMPLATE_POST_TYPE","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useHistory","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","single","index","author","taxonomy","date","attachment","TemplateListItem","title","direction","className","description","icon","onClick","children","__next40pxDefaultSize","label","showTooltip","as","spacing","align","justify","style","width","alignment","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplateModal","onClose","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isSubmitting","setIsSubmitting","missingTemplates","useMissingTemplates","history","saveEntityRecord","createErrorNotice","createSuccessNotice","containerRef","isMobile","homeUrl","select","getEntityRecord","TEMPLATE_SHORT_DESCRIPTIONS","Date","getFullYear","current","firstFocusable","focusable","find","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","navigate","id","rendered","type","error","errorMessage","message","code","onModalClose","modalTitle","labels","singular_name","onRequestClose","overlayClassName","undefined","ref","columns","gap","map","onSelect","onBack","NewTemplate","showModal","setShowModal","postType","getPostType","variant","add_new_item","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","push","sort","template1","template2","indexOf"],"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, memo, useRef, useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { focus } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nfunction NewTemplateModal( { onClose } ) {\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst containerRef = useRef( null );\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\tconst homeUrl = useSelect( ( select ) => {\n\t\t// Site index.\n\t\treturn select( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.home;\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tuseEffect( () => {\n\t\t// Focus the first focusable element when component mounts or UI changes\n\t\t// We don't want to focus on the other modals because they have their own focus management.\n\t\tif (\n\t\t\tcontainerRef.current &&\n\t\t\tmodalContent === modalContentMap.templatesList\n\t\t) {\n\t\t\tconst [ firstFocusable ] = focus.focusable.find(\n\t\t\t\tcontainerRef.current\n\t\t\t);\n\t\t\tfirstFocusable?.focus();\n\t\t}\n\t}, [ modalContent ] );\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsSubmitting( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.navigate(\n\t\t\t\t`/${ TEMPLATE_POST_TYPE }/${ newTemplate.id }?canvas=edit`\n\t\t\t);\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tonClose();\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tclassName={ clsx( 'edit-site-add-new-template__modal', {\n\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t} ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\toverlayClassName={\n\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tref={ containerRef }\n\t\t>\n\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns={ isMobile ? 2 : 3 }\n\t\t\t\t\tgap={ 4 }\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t>\n\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={ TEMPLATE_ICONS[ slug ] || layout }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</TemplateListItem>\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\tonBack={ () =>\n\t\t\t\t\t\tsetModalContent( modalContentMap.templatesList )\n\t\t\t\t\t}\n\t\t\t\t\tcontainerRef={ containerRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customGenericTemplate && (\n\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t\tonBack={ () =>\n\t\t\t\t\t\tsetModalContent( modalContentMap.templatesList )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nfunction NewTemplate() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\tpostType: getPostType( TEMPLATE_POST_TYPE ),\n\t\t};\n\t}, [] );\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new_item }\n\t\t\t</Button>\n\t\t\t{ showModal && (\n\t\t\t\t<NewTemplateModal onClose={ () => setShowModal( false ) } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n\nexport default memo( NewTemplate );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -43,12 +43,11 @@ function FontSizeGroup({
|
|
|
43
43
|
}), /*#__PURE__*/_jsxs(VStack, {
|
|
44
44
|
spacing: 4,
|
|
45
45
|
children: [/*#__PURE__*/_jsxs(HStack, {
|
|
46
|
-
justify: "space-between",
|
|
47
|
-
align: "center",
|
|
48
46
|
children: [/*#__PURE__*/_jsx(Subtitle, {
|
|
49
47
|
level: 3,
|
|
50
48
|
children: label
|
|
51
49
|
}), /*#__PURE__*/_jsxs(FlexItem, {
|
|
50
|
+
className: "edit-site-global-styles__typography-panel__options-container",
|
|
52
51
|
children: [origin === 'custom' && /*#__PURE__*/_jsx(Button, {
|
|
53
52
|
label: __('Add font size'),
|
|
54
53
|
icon: plus,
|