@wordpress/edit-site 5.12.12 → 5.12.14

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.
Files changed (71) hide show
  1. package/build/components/block-editor/constants.js +1 -1
  2. package/build/components/block-editor/constants.js.map +1 -1
  3. package/build/components/editor/index.js +2 -3
  4. package/build/components/editor/index.js.map +1 -1
  5. package/build/components/header-edit-mode/document-actions/index.js +1 -1
  6. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  7. package/build/components/layout/index.js +3 -2
  8. package/build/components/layout/index.js.map +1 -1
  9. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +1 -1
  10. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  11. package/build/components/page-patterns/grid.js +2 -1
  12. package/build/components/page-patterns/grid.js.map +1 -1
  13. package/build/components/page-patterns/patterns-list.js +17 -3
  14. package/build/components/page-patterns/patterns-list.js.map +1 -1
  15. package/build/components/page-patterns/use-patterns.js +20 -3
  16. package/build/components/page-patterns/use-patterns.js.map +1 -1
  17. package/build/components/sidebar-navigation-screen/index.js +9 -1
  18. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  19. package/build/components/sidebar-navigation-screen-global-styles/index.js +28 -34
  20. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  21. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -1
  22. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  23. package/build/components/sidebar-navigation-screen-patterns/category-item.js +0 -5
  24. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  25. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  26. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  27. package/build-module/components/block-editor/constants.js +1 -1
  28. package/build-module/components/block-editor/constants.js.map +1 -1
  29. package/build-module/components/editor/index.js +2 -3
  30. package/build-module/components/editor/index.js.map +1 -1
  31. package/build-module/components/header-edit-mode/document-actions/index.js +3 -3
  32. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  33. package/build-module/components/layout/index.js +3 -2
  34. package/build-module/components/layout/index.js.map +1 -1
  35. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +1 -1
  36. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  37. package/build-module/components/page-patterns/grid.js +3 -2
  38. package/build-module/components/page-patterns/grid.js.map +1 -1
  39. package/build-module/components/page-patterns/patterns-list.js +17 -3
  40. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  41. package/build-module/components/page-patterns/use-patterns.js +19 -3
  42. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  43. package/build-module/components/sidebar-navigation-screen/index.js +8 -1
  44. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  45. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +28 -34
  46. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  47. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +2 -2
  48. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  49. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +0 -5
  50. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  51. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  52. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  53. package/build-style/style-rtl.css +34 -30
  54. package/build-style/style.css +34 -30
  55. package/package.json +15 -15
  56. package/src/components/block-editor/constants.js +5 -1
  57. package/src/components/editor/index.js +2 -3
  58. package/src/components/header-edit-mode/document-actions/index.js +4 -3
  59. package/src/components/header-edit-mode/document-actions/style.scss +30 -25
  60. package/src/components/layout/index.js +27 -20
  61. package/src/components/layout/style.scss +2 -2
  62. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +1 -1
  63. package/src/components/page-patterns/grid.js +8 -3
  64. package/src/components/page-patterns/patterns-list.js +15 -2
  65. package/src/components/page-patterns/use-patterns.js +19 -3
  66. package/src/components/sidebar-navigation-screen/index.js +11 -1
  67. package/src/components/sidebar-navigation-screen/style.scss +4 -0
  68. package/src/components/sidebar-navigation-screen-global-styles/index.js +42 -38
  69. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -4
  70. package/src/components/sidebar-navigation-screen-patterns/category-item.js +5 -13
  71. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/header-edit-mode/document-actions/index.js"],"names":["classnames","sprintf","__","useSelect","useDispatch","Button","VisuallyHidden","__experimentalText","Text","__experimentalHStack","HStack","BlockIcon","store","commandsStore","chevronLeftSmall","chevronLeftSmallIcon","page","pageIcon","navigation","navigationIcon","symbol","displayShortcut","useState","useEffect","useRef","coreStore","useEditedEntityRecord","editSiteStore","DocumentActions","isPage","select","PageDocumentActions","hasPageContentFocus","hasResolved","isFound","title","_hasPageContentFocus","getEditedPostContext","getEditedEntityRecord","hasFinishedResolution","context","queryArgs","postType","postId","setHasPageContentFocus","hasEditedTemplate","setHasEditedTemplate","prevHasPageContentFocus","current","TemplateDocumentActions","className","onBack","isLoaded","record","getTitle","icon","entityLabel","getEntityLabel","type","typeIcon","BaseDocumentActions","children","open","openCommandCenter","event","stopPropagation","primary","entityType","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { sprintf, __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\tVisuallyHidden,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { store as commandsStore } from '@wordpress/commands';\nimport {\n\tchevronLeftSmall as chevronLeftSmallIcon,\n\tpage as pageIcon,\n\tnavigation as navigationIcon,\n\tsymbol,\n} from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useEditedEntityRecord from '../../use-edited-entity-record';\nimport { store as editSiteStore } from '../../../store';\n\nexport default function DocumentActions() {\n\tconst isPage = useSelect( ( select ) => select( editSiteStore ).isPage() );\n\treturn isPage ? <PageDocumentActions /> : <TemplateDocumentActions />;\n}\n\nfunction PageDocumentActions() {\n\tconst { hasPageContentFocus, hasResolved, isFound, title } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasPageContentFocus: _hasPageContentFocus,\n\t\t\t\tgetEditedPostContext,\n\t\t\t} = select( editSiteStore );\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst context = getEditedPostContext();\n\t\t\tconst queryArgs = [ 'postType', context.postType, context.postId ];\n\t\t\tconst page = getEditedEntityRecord( ...queryArgs );\n\t\t\treturn {\n\t\t\t\thasPageContentFocus: _hasPageContentFocus(),\n\t\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\tqueryArgs\n\t\t\t\t),\n\t\t\t\tisFound: !! page,\n\t\t\t\ttitle: page?.title,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tconst [ hasEditedTemplate, setHasEditedTemplate ] = useState( false );\n\tconst prevHasPageContentFocus = useRef( false );\n\tuseEffect( () => {\n\t\tif ( prevHasPageContentFocus.current && ! hasPageContentFocus ) {\n\t\t\tsetHasEditedTemplate( true );\n\t\t}\n\t\tprevHasPageContentFocus.current = hasPageContentFocus;\n\t}, [ hasPageContentFocus ] );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\tif ( ! isFound ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Document not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn hasPageContentFocus ? (\n\t\t<BaseDocumentActions\n\t\t\tclassName={ classnames( 'is-page', {\n\t\t\t\t'is-animated': hasEditedTemplate,\n\t\t\t} ) }\n\t\t\ticon={ pageIcon }\n\t\t>\n\t\t\t{ title }\n\t\t</BaseDocumentActions>\n\t) : (\n\t\t<TemplateDocumentActions\n\t\t\tclassName=\"is-animated\"\n\t\t\tonBack={ () => setHasPageContentFocus( true ) }\n\t\t/>\n\t);\n}\n\nfunction TemplateDocumentActions( { className, onBack } ) {\n\tconst { isLoaded, record, getTitle, icon } = useEditedEntityRecord();\n\n\tif ( ! isLoaded ) {\n\t\treturn null;\n\t}\n\n\tif ( ! record ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Document not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst entityLabel = getEntityLabel( record.type );\n\n\tlet typeIcon = icon;\n\tif ( record.type === 'wp_navigation' ) {\n\t\ttypeIcon = navigationIcon;\n\t} else if ( record.type === 'wp_block' ) {\n\t\ttypeIcon = symbol;\n\t}\n\n\treturn (\n\t\t<BaseDocumentActions\n\t\t\tclassName={ className }\n\t\t\ticon={ typeIcon }\n\t\t\tonBack={ onBack }\n\t\t>\n\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: %s: the entity being edited, like \"template\"*/\n\t\t\t\t\t__( 'Editing %s: ' ),\n\t\t\t\t\tentityLabel\n\t\t\t\t) }\n\t\t\t</VisuallyHidden>\n\t\t\t{ getTitle() }\n\t\t</BaseDocumentActions>\n\t);\n}\n\nfunction BaseDocumentActions( { className, icon, children, onBack } ) {\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-document-actions', className ) }\n\t\t>\n\t\t\t{ onBack && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"edit-site-document-actions__back\"\n\t\t\t\t\ticon={ chevronLeftSmallIcon }\n\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tonBack();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-document-actions__command\"\n\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"edit-site-document-actions__title\"\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t>\n\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t<Text size=\"body\" as=\"h1\">\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</Text>\n\t\t\t\t</HStack>\n\t\t\t\t<span className=\"edit-site-document-actions__shortcut\">\n\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t</span>\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n\nfunction getEntityLabel( entityType ) {\n\tlet label = '';\n\tswitch ( entityType ) {\n\t\tcase 'wp_navigation':\n\t\t\tlabel = 'navigation menu';\n\t\t\tbreak;\n\t\tcase 'wp_template_part':\n\t\t\tlabel = 'template part';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tlabel = 'template';\n\t\t\tbreak;\n\t}\n\n\treturn label;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/header-edit-mode/document-actions/index.js"],"names":["classnames","sprintf","__","isRTL","useSelect","useDispatch","Button","VisuallyHidden","__experimentalText","Text","__experimentalHStack","HStack","BlockIcon","store","commandsStore","chevronLeftSmall","chevronRightSmall","page","pageIcon","navigation","navigationIcon","symbol","displayShortcut","useState","useEffect","useRef","coreStore","useEditedEntityRecord","editSiteStore","DocumentActions","isPage","select","PageDocumentActions","hasPageContentFocus","hasResolved","isFound","title","_hasPageContentFocus","getEditedPostContext","getEditedEntityRecord","hasFinishedResolution","context","queryArgs","postType","postId","setHasPageContentFocus","hasEditedTemplate","setHasEditedTemplate","prevHasPageContentFocus","current","TemplateDocumentActions","className","onBack","isLoaded","record","getTitle","icon","entityLabel","getEntityLabel","type","typeIcon","BaseDocumentActions","children","open","openCommandCenter","event","stopPropagation","primary","entityType","label"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,OAAT,EAAkBC,EAAlB,EAAsBC,KAAtB,QAAmC,iBAAnC;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SACCC,MADD,EAECC,cAFD,EAGCC,kBAAkB,IAAIC,IAHvB,EAICC,oBAAoB,IAAIC,MAJzB,QAKO,uBALP;AAMA,SAASC,SAAT,QAA0B,yBAA1B;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,qBAAvC;AACA,SACCC,gBADD,EAECC,iBAFD,EAGCC,IAAI,IAAIC,QAHT,EAICC,UAAU,IAAIC,cAJf,EAKCC,MALD,QAMO,kBANP;AAOA,SAASC,eAAT,QAAgC,qBAAhC;AACA,SAASC,QAAT,EAAmBC,SAAnB,EAA8BC,MAA9B,QAA4C,oBAA5C;AACA,SAASZ,KAAK,IAAIa,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,qBAAP,MAAkC,gCAAlC;AACA,SAASd,KAAK,IAAIe,aAAlB,QAAuC,gBAAvC;AAEA,eAAe,SAASC,eAAT,GAA2B;AACzC,QAAMC,MAAM,GAAG1B,SAAS,CAAI2B,MAAF,IAAcA,MAAM,CAAEH,aAAF,CAAN,CAAwBE,MAAxB,EAAhB,CAAxB;AACA,SAAOA,MAAM,GAAG,cAAC,mBAAD,OAAH,GAA6B,cAAC,uBAAD,OAA1C;AACA;;AAED,SAASE,mBAAT,GAA+B;AAC9B,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA,WAAvB;AAAoCC,IAAAA,OAApC;AAA6CC,IAAAA;AAA7C,MAAuDhC,SAAS,CACnE2B,MAAF,IAAc;AACb,UAAM;AACLE,MAAAA,mBAAmB,EAAEI,oBADhB;AAELC,MAAAA;AAFK,QAGFP,MAAM,CAAEH,aAAF,CAHV;AAIA,UAAM;AAAEW,MAAAA,qBAAF;AAAyBC,MAAAA;AAAzB,QACLT,MAAM,CAAEL,SAAF,CADP;AAEA,UAAMe,OAAO,GAAGH,oBAAoB,EAApC;AACA,UAAMI,SAAS,GAAG,CAAE,UAAF,EAAcD,OAAO,CAACE,QAAtB,EAAgCF,OAAO,CAACG,MAAxC,CAAlB;AACA,UAAM3B,IAAI,GAAGsB,qBAAqB,CAAE,GAAGG,SAAL,CAAlC;AACA,WAAO;AACNT,MAAAA,mBAAmB,EAAEI,oBAAoB,EADnC;AAENH,MAAAA,WAAW,EAAEM,qBAAqB,CACjC,uBADiC,EAEjCE,SAFiC,CAF5B;AAMNP,MAAAA,OAAO,EAAE,CAAC,CAAElB,IANN;AAONmB,MAAAA,KAAK,EAAEnB,IAAI,EAAEmB;AAPP,KAAP;AASA,GApBoE,EAqBrE,EArBqE,CAAtE;AAwBA,QAAM;AAAES,IAAAA;AAAF,MAA6BxC,WAAW,CAAEuB,aAAF,CAA9C;AAEA,QAAM,CAAEkB,iBAAF,EAAqBC,oBAArB,IAA8CxB,QAAQ,CAAE,KAAF,CAA5D;AACA,QAAMyB,uBAAuB,GAAGvB,MAAM,CAAE,KAAF,CAAtC;AACAD,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAKwB,uBAAuB,CAACC,OAAxB,IAAmC,CAAEhB,mBAA1C,EAAgE;AAC/Dc,MAAAA,oBAAoB,CAAE,IAAF,CAApB;AACA;;AACDC,IAAAA,uBAAuB,CAACC,OAAxB,GAAkChB,mBAAlC;AACA,GALQ,EAKN,CAAEA,mBAAF,CALM,CAAT;;AAOA,MAAK,CAAEC,WAAP,EAAqB;AACpB,WAAO,IAAP;AACA;;AAED,MAAK,CAAEC,OAAP,EAAiB;AAChB,WACC;AAAK,MAAA,SAAS,EAAC;AAAf,OACGjC,EAAE,CAAE,oBAAF,CADL,CADD;AAKA;;AAED,SAAO+B,mBAAmB,GACzB,cAAC,mBAAD;AACC,IAAA,SAAS,EAAGjC,UAAU,CAAE,SAAF,EAAa;AAClC,qBAAe8C;AADmB,KAAb,CADvB;AAIC,IAAA,IAAI,EAAG5B;AAJR,KAMGkB,KANH,CADyB,GAUzB,cAAC,uBAAD;AACC,IAAA,SAAS,EAAC,aADX;AAEC,IAAA,MAAM,EAAG,MAAMS,sBAAsB,CAAE,IAAF;AAFtC,IAVD;AAeA;;AAED,SAASK,uBAAT,CAAkC;AAAEC,EAAAA,SAAF;AAAaC,EAAAA;AAAb,CAAlC,EAA0D;AACzD,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,MAAZ;AAAoBC,IAAAA,QAApB;AAA8BC,IAAAA;AAA9B,MAAuC7B,qBAAqB,EAAlE;;AAEA,MAAK,CAAE0B,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,MAAK,CAAEC,MAAP,EAAgB;AACf,WACC;AAAK,MAAA,SAAS,EAAC;AAAf,OACGpD,EAAE,CAAE,oBAAF,CADL,CADD;AAKA;;AAED,QAAMuD,WAAW,GAAGC,cAAc,CAAEJ,MAAM,CAACK,IAAT,CAAlC;AAEA,MAAIC,QAAQ,GAAGJ,IAAf;;AACA,MAAKF,MAAM,CAACK,IAAP,KAAgB,eAArB,EAAuC;AACtCC,IAAAA,QAAQ,GAAGxC,cAAX;AACA,GAFD,MAEO,IAAKkC,MAAM,CAACK,IAAP,KAAgB,UAArB,EAAkC;AACxCC,IAAAA,QAAQ,GAAGvC,MAAX;AACA;;AAED,SACC,cAAC,mBAAD;AACC,IAAA,SAAS,EAAG8B,SADb;AAEC,IAAA,IAAI,EAAGS,QAFR;AAGC,IAAA,MAAM,EAAGR;AAHV,KAKC,cAAC,cAAD;AAAgB,IAAA,EAAE,EAAC;AAAnB,KACGnD,OAAO;AACR;AACAC,EAAAA,EAAE,CAAE,cAAF,CAFM,EAGRuD,WAHQ,CADV,CALD,EAYGF,QAAQ,EAZX,CADD;AAgBA;;AAED,SAASM,mBAAT,CAA8B;AAAEV,EAAAA,SAAF;AAAaK,EAAAA,IAAb;AAAmBM,EAAAA,QAAnB;AAA6BV,EAAAA;AAA7B,CAA9B,EAAsE;AACrE,QAAM;AAAEW,IAAAA,IAAI,EAAEC;AAAR,MAA8B3D,WAAW,CAAES,aAAF,CAA/C;AACA,SACC;AACC,IAAA,SAAS,EAAGd,UAAU,CAAE,4BAAF,EAAgCmD,SAAhC;AADvB,KAGGC,MAAM,IACP,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,kCADX;AAEC,IAAA,IAAI,EAAGjD,KAAK,KAAKa,iBAAL,GAAyBD,gBAFtC;AAGC,IAAA,OAAO,EAAKkD,KAAF,IAAa;AACtBA,MAAAA,KAAK,CAACC,eAAN;AACAd,MAAAA,MAAM;AACN;AANF,KAQGlD,EAAE,CAAE,MAAF,CARL,CAJF,EAeC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,qCADX;AAEC,IAAA,OAAO,EAAG,MAAM8D,iBAAiB;AAFlC,KAIC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,mCADX;AAEC,IAAA,OAAO,EAAG,CAFX;AAGC,IAAA,OAAO,EAAC;AAHT,KAKC,cAAC,SAAD;AAAW,IAAA,IAAI,EAAGR;AAAlB,IALD,EAMC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAC,MAAX;AAAkB,IAAA,EAAE,EAAC;AAArB,KACGM,QADH,CAND,CAJD,EAcC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGxC,eAAe,CAAC6C,OAAhB,CAAyB,GAAzB,CADH,CAdD,CAfD,CADD;AAoCA;;AAED,SAAST,cAAT,CAAyBU,UAAzB,EAAsC;AACrC,MAAIC,KAAK,GAAG,EAAZ;;AACA,UAASD,UAAT;AACC,SAAK,eAAL;AACCC,MAAAA,KAAK,GAAG,iBAAR;AACA;;AACD,SAAK,kBAAL;AACCA,MAAAA,KAAK,GAAG,eAAR;AACA;;AACD;AACCA,MAAAA,KAAK,GAAG,UAAR;AACA;AATF;;AAYA,SAAOA,KAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { sprintf, __, isRTL } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\tVisuallyHidden,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { store as commandsStore } from '@wordpress/commands';\nimport {\n\tchevronLeftSmall,\n\tchevronRightSmall,\n\tpage as pageIcon,\n\tnavigation as navigationIcon,\n\tsymbol,\n} from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useEditedEntityRecord from '../../use-edited-entity-record';\nimport { store as editSiteStore } from '../../../store';\n\nexport default function DocumentActions() {\n\tconst isPage = useSelect( ( select ) => select( editSiteStore ).isPage() );\n\treturn isPage ? <PageDocumentActions /> : <TemplateDocumentActions />;\n}\n\nfunction PageDocumentActions() {\n\tconst { hasPageContentFocus, hasResolved, isFound, title } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasPageContentFocus: _hasPageContentFocus,\n\t\t\t\tgetEditedPostContext,\n\t\t\t} = select( editSiteStore );\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst context = getEditedPostContext();\n\t\t\tconst queryArgs = [ 'postType', context.postType, context.postId ];\n\t\t\tconst page = getEditedEntityRecord( ...queryArgs );\n\t\t\treturn {\n\t\t\t\thasPageContentFocus: _hasPageContentFocus(),\n\t\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\tqueryArgs\n\t\t\t\t),\n\t\t\t\tisFound: !! page,\n\t\t\t\ttitle: page?.title,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tconst [ hasEditedTemplate, setHasEditedTemplate ] = useState( false );\n\tconst prevHasPageContentFocus = useRef( false );\n\tuseEffect( () => {\n\t\tif ( prevHasPageContentFocus.current && ! hasPageContentFocus ) {\n\t\t\tsetHasEditedTemplate( true );\n\t\t}\n\t\tprevHasPageContentFocus.current = hasPageContentFocus;\n\t}, [ hasPageContentFocus ] );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\tif ( ! isFound ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Document not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn hasPageContentFocus ? (\n\t\t<BaseDocumentActions\n\t\t\tclassName={ classnames( 'is-page', {\n\t\t\t\t'is-animated': hasEditedTemplate,\n\t\t\t} ) }\n\t\t\ticon={ pageIcon }\n\t\t>\n\t\t\t{ title }\n\t\t</BaseDocumentActions>\n\t) : (\n\t\t<TemplateDocumentActions\n\t\t\tclassName=\"is-animated\"\n\t\t\tonBack={ () => setHasPageContentFocus( true ) }\n\t\t/>\n\t);\n}\n\nfunction TemplateDocumentActions( { className, onBack } ) {\n\tconst { isLoaded, record, getTitle, icon } = useEditedEntityRecord();\n\n\tif ( ! isLoaded ) {\n\t\treturn null;\n\t}\n\n\tif ( ! record ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Document not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst entityLabel = getEntityLabel( record.type );\n\n\tlet typeIcon = icon;\n\tif ( record.type === 'wp_navigation' ) {\n\t\ttypeIcon = navigationIcon;\n\t} else if ( record.type === 'wp_block' ) {\n\t\ttypeIcon = symbol;\n\t}\n\n\treturn (\n\t\t<BaseDocumentActions\n\t\t\tclassName={ className }\n\t\t\ticon={ typeIcon }\n\t\t\tonBack={ onBack }\n\t\t>\n\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: %s: the entity being edited, like \"template\"*/\n\t\t\t\t\t__( 'Editing %s: ' ),\n\t\t\t\t\tentityLabel\n\t\t\t\t) }\n\t\t\t</VisuallyHidden>\n\t\t\t{ getTitle() }\n\t\t</BaseDocumentActions>\n\t);\n}\n\nfunction BaseDocumentActions( { className, icon, children, onBack } ) {\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-document-actions', className ) }\n\t\t>\n\t\t\t{ onBack && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"edit-site-document-actions__back\"\n\t\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tonBack();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-document-actions__command\"\n\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"edit-site-document-actions__title\"\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t>\n\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t<Text size=\"body\" as=\"h1\">\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</Text>\n\t\t\t\t</HStack>\n\t\t\t\t<span className=\"edit-site-document-actions__shortcut\">\n\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t</span>\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n\nfunction getEntityLabel( entityType ) {\n\tlet label = '';\n\tswitch ( entityType ) {\n\t\tcase 'wp_navigation':\n\t\t\tlabel = 'navigation menu';\n\t\t\tbreak;\n\t\tcase 'wp_template_part':\n\t\t\tlabel = 'template part';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tlabel = 'template';\n\t\t\tbreak;\n\t}\n\n\treturn label;\n}\n"]}
@@ -233,6 +233,9 @@ export default function Layout() {
233
233
  }
234
234
  }, createElement(Header, null)))), createElement("div", {
235
235
  className: "edit-site-layout__content"
236
+ }, createElement(NavigableRegion, {
237
+ ariaLabel: __('Navigation'),
238
+ className: "edit-site-layout__sidebar-region"
236
239
  }, createElement(motion.div, {
237
240
  // The sidebar is needed for routing on mobile
238
241
  // (https://github.com/WordPress/gutenberg/pull/51558/files#r1231763003),
@@ -249,8 +252,6 @@ export default function Layout() {
249
252
  ease: 'easeOut'
250
253
  },
251
254
  className: "edit-site-layout__sidebar"
252
- }, createElement(NavigableRegion, {
253
- ariaLabel: __('Navigation')
254
255
  }, createElement(Sidebar, null))), createElement(SavePanel, null), showCanvas && createElement(Fragment, null, isListPage && createElement(PageMain, null), isEditorPage && createElement("div", {
255
256
  className: classnames('edit-site-layout__canvas-container', {
256
257
  'is-resizing': isResizing
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/layout/index.js"],"names":["classnames","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","__","useState","useRef","NavigableRegion","store","keyboardShortcutsStore","CommandMenu","privateApis","commandsPrivateApis","preferencesStore","blockEditorPrivateApis","routerPrivateApis","coreCommandsPrivateApis","Sidebar","Editor","ErrorBoundary","editSiteStore","getIsListPage","Header","useInitEditedEntityFromURL","SiteHub","ResizableFrame","useSyncCanvasModeWithURL","unlock","SavePanel","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useCommonCommands","useEditModeCommands","PageMain","useIsSiteEditorLoading","useCommands","useCommandContext","useLocation","useGlobalStyle","ANIMATION_DURATION","Layout","hubRef","params","isMobileViewport","isListPage","isEditorPage","isDistractionFree","hasFixedToolbar","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","getCanvasMode","get","isEditing","navigateRegionsProps","previous","next","disableMotion","showSidebar","showCanvas","isFullCanvas","canvasResizer","canvasSize","fullResizer","isResizing","isEditorLoading","isResizableFrameOversized","setIsResizableFrameOversized","headerAnimationState","commandContext","backgroundColor","gradientValue","ref","className","opacity","transition","type","delay","delayChildren","isDistractionFreeHovering","view","edit","undefined","div","x","y","duration","ease","width","scale","height","background"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useRef } from '@wordpress/element';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Sidebar from '../sidebar';\nimport Editor from '../editor';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport getIsListPage from '../../utils/get-is-list-page';\nimport Header from '../header-edit-mode';\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport SiteHub from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\nimport { unlock } from '../../lock-unlock';\nimport SavePanel from '../save-panel';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';\nimport PageMain from '../page-main';\nimport { useIsSiteEditorLoading } from './hooks';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst ANIMATION_DURATION = 0.5;\n\nexport default function Layout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tuseEditModeCommands();\n\tuseCommonCommands();\n\n\tconst hubRef = useRef();\n\tconst { params } = useLocation();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isListPage = getIsListPage( params, isMobileViewport );\n\tconst isEditorPage = ! isListPage;\n\n\tconst {\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\tcanvasMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\tkeyboardShortcutsStore\n\t\t);\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/previous-region'\n\t\t\t),\n\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/next-region'\n\t\t\t),\n\t\t\thasFixedToolbar: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isEditing = canvasMode === 'edit';\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst showSidebar =\n\t\t( isMobileViewport && ! isListPage ) ||\n\t\t( ! isMobileViewport && ( canvasMode === 'view' || ! isEditorPage ) );\n\tconst showCanvas =\n\t\t( isMobileViewport && isEditorPage && isEditing ) ||\n\t\t! isMobileViewport ||\n\t\t! isEditorPage;\n\tconst isFullCanvas =\n\t\t( isMobileViewport && isListPage ) || ( isEditorPage && isEditing );\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst [ isResizing ] = useState( false );\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\n\t// This determines which animation variant should apply to the header.\n\t// There is also a `isDistractionFreeHovering` state that gets priority\n\t// when hovering the `edit-site-layout__header-container` in distraction\n\t// free mode. It's set via framer and trickles down to all the children\n\t// so they can use this variant state too.\n\t//\n\t// TODO: The issue with this is we want to have the hover state stick when hovering\n\t// a popover opened via the header. We'll probably need to lift this state to\n\t// handle it ourselves. Also, focusWithin the header needs to be handled.\n\tlet headerAnimationState;\n\n\tif ( canvasMode === 'view' ) {\n\t\t// We need 'view' to always take priority so 'isDistractionFree'\n\t\t// doesn't bleed over into the view (sidebar) state\n\t\theaderAnimationState = 'view';\n\t} else if ( isDistractionFree ) {\n\t\theaderAnimationState = 'isDistractionFree';\n\t} else {\n\t\theaderAnimationState = canvasMode; // edit, view, init\n\t}\n\n\t// Sets the right context for the command palette\n\tconst commandContext =\n\t\tcanvasMode === 'edit' && isEditorPage\n\t\t\t? 'site-editor-edit'\n\t\t\t: 'site-editor';\n\tuseCommandContext( commandContext );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-distraction-free': isDistractionFree && isEditing,\n\t\t\t\t\t\t'is-full-canvas': isFullCanvas,\n\t\t\t\t\t\t'is-edit-mode': isEditing,\n\t\t\t\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-layout__header-container\"\n\t\t\t\t\tvariants={ {\n\t\t\t\t\t\tisDistractionFree: {\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.8,\n\t\t\t\t\t\t\t\tdelayChildren: 0.8,\n\t\t\t\t\t\t\t}, // How long to wait before the header exits\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.2,\n\t\t\t\t\t\t\t\tdelayChildren: 0.2,\n\t\t\t\t\t\t\t}, // How long to wait before the header shows\n\t\t\t\t\t\t},\n\t\t\t\t\t\tview: { opacity: 1 },\n\t\t\t\t\t\tedit: { opacity: 1 },\n\t\t\t\t\t} }\n\t\t\t\t\twhileHover={\n\t\t\t\t\t\tisDistractionFree\n\t\t\t\t\t\t\t? 'isDistractionFreeHovering'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tanimate={ headerAnimationState }\n\t\t\t\t>\n\t\t\t\t\t<SiteHub\n\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\tisDistractionFree: { x: '-100%' },\n\t\t\t\t\t\t\tisDistractionFreeHovering: { x: 0 },\n\t\t\t\t\t\t\tview: { x: 0 },\n\t\t\t\t\t\t\tedit: { x: 0 },\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tref={ hubRef }\n\t\t\t\t\t\tisTransparent={ isResizableFrameOversized }\n\t\t\t\t\t\tclassName=\"edit-site-layout__hub\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{ isEditorPage && isEditing && (\n\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\tkey=\"header\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__header\"\n\t\t\t\t\t\t\t\tariaLabel={ __( 'Editor top bar' ) }\n\t\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\tisDistractionFree: { opacity: 0, y: 0 },\n\t\t\t\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tview: { opacity: 1, y: '-100%' },\n\t\t\t\t\t\t\t\t\tedit: { opacity: 1, y: 0 },\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\t\ty: '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tinitial={ {\n\t\t\t\t\t\t\t\t\topacity: isDistractionFree ? 1 : 0,\n\t\t\t\t\t\t\t\t\ty: isDistractionFree ? 0 : '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</motion.div>\n\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\t// The sidebar is needed for routing on mobile\n\t\t\t\t\t\t// (https://github.com/WordPress/gutenberg/pull/51558/files#r1231763003),\n\t\t\t\t\t\t// so we can't remove the element entirely. Using `inert` will make\n\t\t\t\t\t\t// it inaccessible to screen readers and keyboard navigation.\n\t\t\t\t\t\tinert={ showSidebar ? undefined : 'inert' }\n\t\t\t\t\t\tanimate={ { opacity: showSidebar ? 1 : 0 } }\n\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\tdisableMotion || isMobileViewport\n\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<NavigableRegion ariaLabel={ __( 'Navigation' ) }>\n\t\t\t\t\t\t\t<Sidebar />\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t</motion.div>\n\n\t\t\t\t\t<SavePanel />\n\n\t\t\t\t\t{ showCanvas && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ isListPage && <PageMain /> }\n\t\t\t\t\t\t\t{ isEditorPage && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas-container',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-resizing': isResizing,\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>\n\t\t\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\t\t\t\t\tisEditorPage &&\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 0.5,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\t\t\t\tlayout=\"position\"\n\t\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion || isResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\t\t\tisReady={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! isEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisFullWidth={ isEditing }\n\t\t\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Editor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoading={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/layout/index.js"],"names":["classnames","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","__","useState","useRef","NavigableRegion","store","keyboardShortcutsStore","CommandMenu","privateApis","commandsPrivateApis","preferencesStore","blockEditorPrivateApis","routerPrivateApis","coreCommandsPrivateApis","Sidebar","Editor","ErrorBoundary","editSiteStore","getIsListPage","Header","useInitEditedEntityFromURL","SiteHub","ResizableFrame","useSyncCanvasModeWithURL","unlock","SavePanel","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useCommonCommands","useEditModeCommands","PageMain","useIsSiteEditorLoading","useCommands","useCommandContext","useLocation","useGlobalStyle","ANIMATION_DURATION","Layout","hubRef","params","isMobileViewport","isListPage","isEditorPage","isDistractionFree","hasFixedToolbar","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","getCanvasMode","get","isEditing","navigateRegionsProps","previous","next","disableMotion","showSidebar","showCanvas","isFullCanvas","canvasResizer","canvasSize","fullResizer","isResizing","isEditorLoading","isResizableFrameOversized","setIsResizableFrameOversized","headerAnimationState","commandContext","backgroundColor","gradientValue","ref","className","opacity","transition","type","delay","delayChildren","isDistractionFreeHovering","view","edit","undefined","div","x","y","duration","ease","width","scale","height","background"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useRef } from '@wordpress/element';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport Sidebar from '../sidebar';\nimport Editor from '../editor';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport getIsListPage from '../../utils/get-is-list-page';\nimport Header from '../header-edit-mode';\nimport useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';\nimport SiteHub from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\nimport { unlock } from '../../lock-unlock';\nimport SavePanel from '../save-panel';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport { useEditModeCommands } from '../../hooks/commands/use-edit-mode-commands';\nimport PageMain from '../page-main';\nimport { useIsSiteEditorLoading } from './hooks';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst ANIMATION_DURATION = 0.5;\n\nexport default function Layout() {\n\t// This ensures the edited entity id and type are initialized properly.\n\tuseInitEditedEntityFromURL();\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tuseEditModeCommands();\n\tuseCommonCommands();\n\n\tconst hubRef = useRef();\n\tconst { params } = useLocation();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isListPage = getIsListPage( params, isMobileViewport );\n\tconst isEditorPage = ! isListPage;\n\n\tconst {\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\tcanvasMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t} = useSelect( ( select ) => {\n\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\tkeyboardShortcutsStore\n\t\t);\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/previous-region'\n\t\t\t),\n\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/edit-site/next-region'\n\t\t\t),\n\t\t\thasFixedToolbar: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isEditing = canvasMode === 'edit';\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst showSidebar =\n\t\t( isMobileViewport && ! isListPage ) ||\n\t\t( ! isMobileViewport && ( canvasMode === 'view' || ! isEditorPage ) );\n\tconst showCanvas =\n\t\t( isMobileViewport && isEditorPage && isEditing ) ||\n\t\t! isMobileViewport ||\n\t\t! isEditorPage;\n\tconst isFullCanvas =\n\t\t( isMobileViewport && isListPage ) || ( isEditorPage && isEditing );\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst [ isResizing ] = useState( false );\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\n\t// This determines which animation variant should apply to the header.\n\t// There is also a `isDistractionFreeHovering` state that gets priority\n\t// when hovering the `edit-site-layout__header-container` in distraction\n\t// free mode. It's set via framer and trickles down to all the children\n\t// so they can use this variant state too.\n\t//\n\t// TODO: The issue with this is we want to have the hover state stick when hovering\n\t// a popover opened via the header. We'll probably need to lift this state to\n\t// handle it ourselves. Also, focusWithin the header needs to be handled.\n\tlet headerAnimationState;\n\n\tif ( canvasMode === 'view' ) {\n\t\t// We need 'view' to always take priority so 'isDistractionFree'\n\t\t// doesn't bleed over into the view (sidebar) state\n\t\theaderAnimationState = 'view';\n\t} else if ( isDistractionFree ) {\n\t\theaderAnimationState = 'isDistractionFree';\n\t} else {\n\t\theaderAnimationState = canvasMode; // edit, view, init\n\t}\n\n\t// Sets the right context for the command palette\n\tconst commandContext =\n\t\tcanvasMode === 'edit' && isEditorPage\n\t\t\t? 'site-editor-edit'\n\t\t\t: 'site-editor';\n\tuseCommandContext( commandContext );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-distraction-free': isDistractionFree && isEditing,\n\t\t\t\t\t\t'is-full-canvas': isFullCanvas,\n\t\t\t\t\t\t'is-edit-mode': isEditing,\n\t\t\t\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-layout__header-container\"\n\t\t\t\t\tvariants={ {\n\t\t\t\t\t\tisDistractionFree: {\n\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.8,\n\t\t\t\t\t\t\t\tdelayChildren: 0.8,\n\t\t\t\t\t\t\t}, // How long to wait before the header exits\n\t\t\t\t\t\t},\n\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tdelay: 0.2,\n\t\t\t\t\t\t\t\tdelayChildren: 0.2,\n\t\t\t\t\t\t\t}, // How long to wait before the header shows\n\t\t\t\t\t\t},\n\t\t\t\t\t\tview: { opacity: 1 },\n\t\t\t\t\t\tedit: { opacity: 1 },\n\t\t\t\t\t} }\n\t\t\t\t\twhileHover={\n\t\t\t\t\t\tisDistractionFree\n\t\t\t\t\t\t\t? 'isDistractionFreeHovering'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tanimate={ headerAnimationState }\n\t\t\t\t>\n\t\t\t\t\t<SiteHub\n\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\tisDistractionFree: { x: '-100%' },\n\t\t\t\t\t\t\tisDistractionFreeHovering: { x: 0 },\n\t\t\t\t\t\t\tview: { x: 0 },\n\t\t\t\t\t\t\tedit: { x: 0 },\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tref={ hubRef }\n\t\t\t\t\t\tisTransparent={ isResizableFrameOversized }\n\t\t\t\t\t\tclassName=\"edit-site-layout__hub\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<AnimatePresence initial={ false }>\n\t\t\t\t\t\t{ isEditorPage && isEditing && (\n\t\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\t\tkey=\"header\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__header\"\n\t\t\t\t\t\t\t\tariaLabel={ __( 'Editor top bar' ) }\n\t\t\t\t\t\t\t\tas={ motion.div }\n\t\t\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\t\t\tisDistractionFree: { opacity: 0, y: 0 },\n\t\t\t\t\t\t\t\t\tisDistractionFreeHovering: {\n\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tview: { opacity: 1, y: '-100%' },\n\t\t\t\t\t\t\t\t\tedit: { opacity: 1, y: 0 },\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\texit={ {\n\t\t\t\t\t\t\t\t\ty: '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tinitial={ {\n\t\t\t\t\t\t\t\t\topacity: isDistractionFree ? 1 : 0,\n\t\t\t\t\t\t\t\t\ty: isDistractionFree ? 0 : '-100%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.2,\n\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Header />\n\t\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</AnimatePresence>\n\t\t\t\t</motion.div>\n\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t\tThe NavigableRegion must always be rendered and not use\n\t\t\t\t\t\t`inert` otherwise `useNavigateRegions` will fail.\n\t\t\t\t\t*/ }\n\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar-region\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t// The sidebar is needed for routing on mobile\n\t\t\t\t\t\t\t// (https://github.com/WordPress/gutenberg/pull/51558/files#r1231763003),\n\t\t\t\t\t\t\t// so we can't remove the element entirely. Using `inert` will make\n\t\t\t\t\t\t\t// it inaccessible to screen readers and keyboard navigation.\n\t\t\t\t\t\t\tinert={ showSidebar ? undefined : 'inert' }\n\t\t\t\t\t\t\tanimate={ { opacity: showSidebar ? 1 : 0 } }\n\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\tdisableMotion || isMobileViewport\n\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Sidebar />\n\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t</NavigableRegion>\n\n\t\t\t\t\t<SavePanel />\n\n\t\t\t\t\t{ showCanvas && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ isListPage && <PageMain /> }\n\t\t\t\t\t\t\t{ isEditorPage && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas-container',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-resizing': isResizing,\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>\n\t\t\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\t\twhileHover={\n\t\t\t\t\t\t\t\t\t\t\t\tisEditorPage &&\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 0.5,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinitial={ false }\n\t\t\t\t\t\t\t\t\t\t\tlayout=\"position\"\n\t\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion || isResizing\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\t\t\tisReady={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! isEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tisFullWidth={ isEditing }\n\t\t\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Editor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLoading={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisEditorLoading\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -37,7 +37,7 @@ export function useDisableNonPageContentBlocks() {
37
37
  }, []);
38
38
  }
39
39
  const withDisableNonPageContentBlocks = createHigherOrderComponent(BlockEdit => props => {
40
- const isDescendentOfQueryLoop = !!props.context.queryId;
40
+ const isDescendentOfQueryLoop = props.context.queryId !== undefined;
41
41
  const isPageContent = PAGE_CONTENT_BLOCK_TYPES.includes(props.name) && !isDescendentOfQueryLoop;
42
42
  const mode = isPageContent ? 'contentOnly' : undefined;
43
43
  useBlockEditingMode(mode);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/disable-non-page-content-blocks.js"],"names":["createHigherOrderComponent","addFilter","removeFilter","privateApis","blockEditorPrivateApis","useEffect","unlock","useBlockEditingMode","PAGE_CONTENT_BLOCK_TYPES","DisableNonPageContentBlocks","useDisableNonPageContentBlocks","withDisableNonPageContentBlocks","BlockEdit","props","isDescendentOfQueryLoop","context","queryId","isPageContent","includes","name","mode","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,0BAAT,QAA2C,oBAA3C;AACA,SAASC,SAAT,EAAoBC,YAApB,QAAwC,kBAAxC;AACA,SAASC,WAAW,IAAIC,sBAAxB,QAAsD,yBAAtD;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,mBAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAA0BD,MAAM,CAAEF,sBAAF,CAAtC;AAEA,MAAMI,wBAAwB,GAAG,CAChC,iBADgC,EAEhC,0BAFgC,EAGhC,mBAHgC,CAAjC;AAMA;AACA;AACA;AACA;;AACA,eAAe,SAASC,2BAAT,GAAuC;AACrDC,EAAAA,8BAA8B;AAC9B,SAAO,IAAP;AACA;AAED;AACA;AACA;;AACA,OAAO,SAASA,8BAAT,GAA0C;AAChDH,EAAAA,mBAAmB,CAAE,UAAF,CAAnB;AACAF,EAAAA,SAAS,CAAE,MAAM;AAChBJ,IAAAA,SAAS,CACR,kBADQ,EAER,2CAFQ,EAGRU,+BAHQ,CAAT;AAKA,WAAO,MACNT,YAAY,CACX,kBADW,EAEX,2CAFW,CADb;AAKA,GAXQ,EAWN,EAXM,CAAT;AAYA;AAED,MAAMS,+BAA+B,GAAGX,0BAA0B,CAC/DY,SAAF,IAAmBC,KAAF,IAAa;AAC7B,QAAMC,uBAAuB,GAAG,CAAC,CAAED,KAAK,CAACE,OAAN,CAAcC,OAAjD;AACA,QAAMC,aAAa,GAClBT,wBAAwB,CAACU,QAAzB,CAAmCL,KAAK,CAACM,IAAzC,KACA,CAAEL,uBAFH;AAGA,QAAMM,IAAI,GAAGH,aAAa,GAAG,aAAH,GAAmBI,SAA7C;AACAd,EAAAA,mBAAmB,CAAEa,IAAF,CAAnB;AACA,SAAO,cAAC,SAAD,OAAgBP;AAAhB,IAAP;AACA,CATgE,EAUjE,iCAViE,CAAlE","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter, removeFilter } from '@wordpress/hooks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useBlockEditingMode } = unlock( blockEditorPrivateApis );\n\nconst PAGE_CONTENT_BLOCK_TYPES = [\n\t'core/post-title',\n\t'core/post-featured-image',\n\t'core/post-content',\n];\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tuseDisableNonPageContentBlocks();\n\treturn null;\n}\n\n/**\n * Disables non-content blocks using the `useBlockEditingMode` hook.\n */\nexport function useDisableNonPageContentBlocks() {\n\tuseBlockEditingMode( 'disabled' );\n\tuseEffect( () => {\n\t\taddFilter(\n\t\t\t'editor.BlockEdit',\n\t\t\t'core/edit-site/disable-non-content-blocks',\n\t\t\twithDisableNonPageContentBlocks\n\t\t);\n\t\treturn () =>\n\t\t\tremoveFilter(\n\t\t\t\t'editor.BlockEdit',\n\t\t\t\t'core/edit-site/disable-non-content-blocks'\n\t\t\t);\n\t}, [] );\n}\n\nconst withDisableNonPageContentBlocks = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst isDescendentOfQueryLoop = !! props.context.queryId;\n\t\tconst isPageContent =\n\t\t\tPAGE_CONTENT_BLOCK_TYPES.includes( props.name ) &&\n\t\t\t! isDescendentOfQueryLoop;\n\t\tconst mode = isPageContent ? 'contentOnly' : undefined;\n\t\tuseBlockEditingMode( mode );\n\t\treturn <BlockEdit { ...props } />;\n\t},\n\t'withDisableNonPageContentBlocks'\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/disable-non-page-content-blocks.js"],"names":["createHigherOrderComponent","addFilter","removeFilter","privateApis","blockEditorPrivateApis","useEffect","unlock","useBlockEditingMode","PAGE_CONTENT_BLOCK_TYPES","DisableNonPageContentBlocks","useDisableNonPageContentBlocks","withDisableNonPageContentBlocks","BlockEdit","props","isDescendentOfQueryLoop","context","queryId","undefined","isPageContent","includes","name","mode"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,0BAAT,QAA2C,oBAA3C;AACA,SAASC,SAAT,EAAoBC,YAApB,QAAwC,kBAAxC;AACA,SAASC,WAAW,IAAIC,sBAAxB,QAAsD,yBAAtD;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,mBAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAA0BD,MAAM,CAAEF,sBAAF,CAAtC;AAEA,MAAMI,wBAAwB,GAAG,CAChC,iBADgC,EAEhC,0BAFgC,EAGhC,mBAHgC,CAAjC;AAMA;AACA;AACA;AACA;;AACA,eAAe,SAASC,2BAAT,GAAuC;AACrDC,EAAAA,8BAA8B;AAC9B,SAAO,IAAP;AACA;AAED;AACA;AACA;;AACA,OAAO,SAASA,8BAAT,GAA0C;AAChDH,EAAAA,mBAAmB,CAAE,UAAF,CAAnB;AACAF,EAAAA,SAAS,CAAE,MAAM;AAChBJ,IAAAA,SAAS,CACR,kBADQ,EAER,2CAFQ,EAGRU,+BAHQ,CAAT;AAKA,WAAO,MACNT,YAAY,CACX,kBADW,EAEX,2CAFW,CADb;AAKA,GAXQ,EAWN,EAXM,CAAT;AAYA;AAED,MAAMS,+BAA+B,GAAGX,0BAA0B,CAC/DY,SAAF,IAAmBC,KAAF,IAAa;AAC7B,QAAMC,uBAAuB,GAAGD,KAAK,CAACE,OAAN,CAAcC,OAAd,KAA0BC,SAA1D;AACA,QAAMC,aAAa,GAClBV,wBAAwB,CAACW,QAAzB,CAAmCN,KAAK,CAACO,IAAzC,KACA,CAAEN,uBAFH;AAGA,QAAMO,IAAI,GAAGH,aAAa,GAAG,aAAH,GAAmBD,SAA7C;AACAV,EAAAA,mBAAmB,CAAEc,IAAF,CAAnB;AACA,SAAO,cAAC,SAAD,OAAgBR;AAAhB,IAAP;AACA,CATgE,EAUjE,iCAViE,CAAlE","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter, removeFilter } from '@wordpress/hooks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useBlockEditingMode } = unlock( blockEditorPrivateApis );\n\nconst PAGE_CONTENT_BLOCK_TYPES = [\n\t'core/post-title',\n\t'core/post-featured-image',\n\t'core/post-content',\n];\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tuseDisableNonPageContentBlocks();\n\treturn null;\n}\n\n/**\n * Disables non-content blocks using the `useBlockEditingMode` hook.\n */\nexport function useDisableNonPageContentBlocks() {\n\tuseBlockEditingMode( 'disabled' );\n\tuseEffect( () => {\n\t\taddFilter(\n\t\t\t'editor.BlockEdit',\n\t\t\t'core/edit-site/disable-non-content-blocks',\n\t\t\twithDisableNonPageContentBlocks\n\t\t);\n\t\treturn () =>\n\t\t\tremoveFilter(\n\t\t\t\t'editor.BlockEdit',\n\t\t\t\t'core/edit-site/disable-non-content-blocks'\n\t\t\t);\n\t}, [] );\n}\n\nconst withDisableNonPageContentBlocks = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst isDescendentOfQueryLoop = props.context.queryId !== undefined;\n\t\tconst isPageContent =\n\t\t\tPAGE_CONTENT_BLOCK_TYPES.includes( props.name ) &&\n\t\t\t! isDescendentOfQueryLoop;\n\t\tconst mode = isPageContent ? 'contentOnly' : undefined;\n\t\tuseBlockEditingMode( mode );\n\t\treturn <BlockEdit { ...props } />;\n\t},\n\t'withDisableNonPageContentBlocks'\n);\n"]}
@@ -4,7 +4,7 @@ import { createElement, Fragment } from "@wordpress/element";
4
4
  * WordPress dependencies
5
5
  */
6
6
  import { __experimentalHStack as HStack, __experimentalText as Text, Button } from '@wordpress/components';
7
- import { useRef, useState, useMemo } from '@wordpress/element';
7
+ import { useRef, useMemo } from '@wordpress/element';
8
8
  import { __, _x, _n, sprintf } from '@wordpress/i18n';
9
9
  import { useAsyncList } from '@wordpress/compose';
10
10
  /**
@@ -63,9 +63,10 @@ function Pagination({
63
63
  export default function Grid({
64
64
  categoryId,
65
65
  items,
66
+ currentPage,
67
+ setCurrentPage,
66
68
  ...props
67
69
  }) {
68
- const [currentPage, setCurrentPage] = useState(1);
69
70
  const gridRef = useRef();
70
71
  const totalItems = items.length;
71
72
  const pageIndex = currentPage - 1;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/grid.js"],"names":["__experimentalHStack","HStack","__experimentalText","Text","Button","useRef","useState","useMemo","__","_x","_n","sprintf","useAsyncList","GridItem","PAGE_SIZE","Pagination","currentPage","numPages","changePage","totalItems","Grid","categoryId","items","props","setCurrentPage","gridRef","length","pageIndex","list","slice","asyncList","step","Math","ceil","page","scrollContainer","document","querySelector","scrollTo","map","item","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n\tButton,\n} from '@wordpress/components';\nimport { useRef, useState, useMemo } from '@wordpress/element';\nimport { __, _x, _n, sprintf } from '@wordpress/i18n';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport GridItem from './grid-item';\n\nconst PAGE_SIZE = 20;\n\nfunction Pagination( { currentPage, numPages, changePage, totalItems } ) {\n\treturn (\n\t\t<HStack\n\t\t\texpanded={ false }\n\t\t\tspacing={ 3 }\n\t\t\tclassName=\"edit-site-patterns__grid-pagination\"\n\t\t>\n\t\t\t<Text variant=\"muted\">\n\t\t\t\t{\n\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\t\t_n( '%s item', '%s items', totalItems ),\n\t\t\t\t\t\ttotalItems\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Text>\n\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => changePage( 1 ) }\n\t\t\t\t\tdisabled={ currentPage === 1 }\n\t\t\t\t\taria-label={ __( 'First page' ) }\n\t\t\t\t>\n\t\t\t\t\t«\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => changePage( currentPage - 1 ) }\n\t\t\t\t\tdisabled={ currentPage === 1 }\n\t\t\t\t\taria-label={ __( 'Previous page' ) }\n\t\t\t\t>\n\t\t\t\t\t‹\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t\t<Text variant=\"muted\">\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %1$s: Current page number, %2$s: Total number of pages.\n\t\t\t\t\t_x( '%1$s of %2$s', 'paging' ),\n\t\t\t\t\tcurrentPage,\n\t\t\t\t\tnumPages\n\t\t\t\t) }\n\t\t\t</Text>\n\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => changePage( currentPage + 1 ) }\n\t\t\t\t\tdisabled={ currentPage === numPages }\n\t\t\t\t\taria-label={ __( 'Next page' ) }\n\t\t\t\t>\n\t\t\t\t\t›\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => changePage( numPages ) }\n\t\t\t\t\tdisabled={ currentPage === numPages }\n\t\t\t\t\taria-label={ __( 'Last page' ) }\n\t\t\t\t>\n\t\t\t\t\t»\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t</HStack>\n\t);\n}\n\nexport default function Grid( { categoryId, items, ...props } ) {\n\tconst [ currentPage, setCurrentPage ] = useState( 1 );\n\tconst gridRef = useRef();\n\tconst totalItems = items.length;\n\tconst pageIndex = currentPage - 1;\n\n\tconst list = useMemo(\n\t\t() =>\n\t\t\titems.slice(\n\t\t\t\tpageIndex * PAGE_SIZE,\n\t\t\t\tpageIndex * PAGE_SIZE + PAGE_SIZE\n\t\t\t),\n\t\t[ pageIndex, items ]\n\t);\n\n\tconst asyncList = useAsyncList( list, { step: 10 } );\n\n\tif ( ! list?.length ) {\n\t\treturn null;\n\t}\n\n\tconst numPages = Math.ceil( items.length / PAGE_SIZE );\n\tconst changePage = ( page ) => {\n\t\tconst scrollContainer = document.querySelector( '.edit-site-patterns' );\n\t\tscrollContainer?.scrollTo( 0, 0 );\n\n\t\tsetCurrentPage( page );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ul\n\t\t\t\trole=\"listbox\"\n\t\t\t\tclassName=\"edit-site-patterns__grid\"\n\t\t\t\t{ ...props }\n\t\t\t\tref={ gridRef }\n\t\t\t>\n\t\t\t\t{ asyncList.map( ( item ) => (\n\t\t\t\t\t<GridItem\n\t\t\t\t\t\tkey={ item.name }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<Pagination\n\t\t\t\t\t{ ...{ currentPage, numPages, changePage, totalItems } }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/grid.js"],"names":["__experimentalHStack","HStack","__experimentalText","Text","Button","useRef","useMemo","__","_x","_n","sprintf","useAsyncList","GridItem","PAGE_SIZE","Pagination","currentPage","numPages","changePage","totalItems","Grid","categoryId","items","setCurrentPage","props","gridRef","length","pageIndex","list","slice","asyncList","step","Math","ceil","page","scrollContainer","document","querySelector","scrollTo","map","item","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n\tButton,\n} from '@wordpress/components';\nimport { useRef, useMemo } from '@wordpress/element';\nimport { __, _x, _n, sprintf } from '@wordpress/i18n';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport GridItem from './grid-item';\n\nconst PAGE_SIZE = 20;\n\nfunction Pagination( { currentPage, numPages, changePage, totalItems } ) {\n\treturn (\n\t\t<HStack\n\t\t\texpanded={ false }\n\t\t\tspacing={ 3 }\n\t\t\tclassName=\"edit-site-patterns__grid-pagination\"\n\t\t>\n\t\t\t<Text variant=\"muted\">\n\t\t\t\t{\n\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\t\t_n( '%s item', '%s items', totalItems ),\n\t\t\t\t\t\ttotalItems\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Text>\n\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => changePage( 1 ) }\n\t\t\t\t\tdisabled={ currentPage === 1 }\n\t\t\t\t\taria-label={ __( 'First page' ) }\n\t\t\t\t>\n\t\t\t\t\t«\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => changePage( currentPage - 1 ) }\n\t\t\t\t\tdisabled={ currentPage === 1 }\n\t\t\t\t\taria-label={ __( 'Previous page' ) }\n\t\t\t\t>\n\t\t\t\t\t‹\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t\t<Text variant=\"muted\">\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %1$s: Current page number, %2$s: Total number of pages.\n\t\t\t\t\t_x( '%1$s of %2$s', 'paging' ),\n\t\t\t\t\tcurrentPage,\n\t\t\t\t\tnumPages\n\t\t\t\t) }\n\t\t\t</Text>\n\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => changePage( currentPage + 1 ) }\n\t\t\t\t\tdisabled={ currentPage === numPages }\n\t\t\t\t\taria-label={ __( 'Next page' ) }\n\t\t\t\t>\n\t\t\t\t\t›\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => changePage( numPages ) }\n\t\t\t\t\tdisabled={ currentPage === numPages }\n\t\t\t\t\taria-label={ __( 'Last page' ) }\n\t\t\t\t>\n\t\t\t\t\t»\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t</HStack>\n\t);\n}\n\nexport default function Grid( {\n\tcategoryId,\n\titems,\n\tcurrentPage,\n\tsetCurrentPage,\n\t...props\n} ) {\n\tconst gridRef = useRef();\n\tconst totalItems = items.length;\n\tconst pageIndex = currentPage - 1;\n\n\tconst list = useMemo(\n\t\t() =>\n\t\t\titems.slice(\n\t\t\t\tpageIndex * PAGE_SIZE,\n\t\t\t\tpageIndex * PAGE_SIZE + PAGE_SIZE\n\t\t\t),\n\t\t[ pageIndex, items ]\n\t);\n\n\tconst asyncList = useAsyncList( list, { step: 10 } );\n\n\tif ( ! list?.length ) {\n\t\treturn null;\n\t}\n\n\tconst numPages = Math.ceil( items.length / PAGE_SIZE );\n\tconst changePage = ( page ) => {\n\t\tconst scrollContainer = document.querySelector( '.edit-site-patterns' );\n\t\tscrollContainer?.scrollTo( 0, 0 );\n\n\t\tsetCurrentPage( page );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ul\n\t\t\t\trole=\"listbox\"\n\t\t\t\tclassName=\"edit-site-patterns__grid\"\n\t\t\t\t{ ...props }\n\t\t\t\tref={ gridRef }\n\t\t\t>\n\t\t\t\t{ asyncList.map( ( item ) => (\n\t\t\t\t\t<GridItem\n\t\t\t\t\t\tkey={ item.name }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<Pagination\n\t\t\t\t\t{ ...{ currentPage, numPages, changePage, totalItems } }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -39,6 +39,7 @@ export default function PatternsList({
39
39
  categoryId,
40
40
  type
41
41
  }) {
42
+ const [currentPage, setCurrentPage] = useState(1);
42
43
  const location = useLocation();
43
44
  const history = useHistory();
44
45
  const isMobileViewport = useViewportMatch('medium', '<');
@@ -54,6 +55,17 @@ export default function PatternsList({
54
55
  search: deferredFilterValue,
55
56
  syncStatus: deferredSyncedFilter === 'all' ? undefined : deferredSyncedFilter
56
57
  });
58
+
59
+ const updateSearchFilter = value => {
60
+ setCurrentPage(1);
61
+ setFilterValue(value);
62
+ };
63
+
64
+ const updateSyncFilter = value => {
65
+ setCurrentPage(1);
66
+ setSyncFilter(value);
67
+ };
68
+
57
69
  const id = useId();
58
70
  const titleId = `${id}-title`;
59
71
  const descriptionId = `${id}-description`;
@@ -88,7 +100,7 @@ export default function PatternsList({
88
100
  className: "edit-site-patterns__search-block"
89
101
  }, createElement(SearchControl, {
90
102
  className: "edit-site-patterns__search",
91
- onChange: value => setFilterValue(value),
103
+ onChange: value => updateSearchFilter(value),
92
104
  placeholder: __('Search patterns'),
93
105
  label: __('Search patterns'),
94
106
  value: filterValue,
@@ -99,7 +111,7 @@ export default function PatternsList({
99
111
  label: __('Filter by sync status'),
100
112
  value: syncFilter,
101
113
  isBlock: true,
102
- onChange: value => setSyncFilter(value),
114
+ onChange: value => updateSyncFilter(value),
103
115
  __nextHasNoMarginBottom: true
104
116
  }, Object.entries(SYNC_FILTERS).map(([key, label]) => createElement(ToggleGroupControlOption, {
105
117
  className: "edit-site-patterns__sync-status-filter-option",
@@ -120,7 +132,9 @@ export default function PatternsList({
120
132
  categoryId: categoryId,
121
133
  items: patterns,
122
134
  "aria-labelledby": titleId,
123
- "aria-describedby": descriptionId
135
+ "aria-describedby": descriptionId,
136
+ currentPage: currentPage,
137
+ setCurrentPage: setCurrentPage
124
138
  }), !isResolving && !hasPatterns && createElement(NoPatterns, null));
125
139
  }
126
140
  //# sourceMappingURL=patterns-list.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/patterns-list.js"],"names":["useState","useDeferredValue","useId","SearchControl","__experimentalVStack","VStack","Flex","FlexBlock","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalHeading","Heading","__experimentalText","Text","__","isRTL","chevronLeft","chevronRight","privateApis","routerPrivateApis","useViewportMatch","PatternsHeader","Grid","NoPatterns","usePatterns","SidebarButton","useDebouncedInput","unlock","SYNC_TYPES","USER_PATTERN_CATEGORY","PATTERNS","useLocation","useHistory","SYNC_FILTERS","all","full","unsynced","SYNC_DESCRIPTIONS","PatternsList","categoryId","type","location","history","isMobileViewport","filterValue","setFilterValue","delayedFilterValue","deferredFilterValue","syncFilter","setSyncFilter","deferredSyncedFilter","isUncategorizedThemePatterns","patterns","isResolving","search","syncStatus","undefined","id","titleId","descriptionId","hasPatterns","length","title","description","state","backPath","back","push","path","value","Object","entries","map","key","label"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useDeferredValue, useId } from '@wordpress/element';\nimport {\n\tSearchControl,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tFlexBlock,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternsHeader from './header';\nimport Grid from './grid';\nimport NoPatterns from './no-patterns';\nimport usePatterns from './use-patterns';\nimport SidebarButton from '../sidebar-button';\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { unlock } from '../../lock-unlock';\nimport { SYNC_TYPES, USER_PATTERN_CATEGORY, PATTERNS } from './utils';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SYNC_FILTERS = {\n\tall: __( 'All' ),\n\t[ SYNC_TYPES.full ]: __( 'Synced' ),\n\t[ SYNC_TYPES.unsynced ]: __( 'Standard' ),\n};\n\nconst SYNC_DESCRIPTIONS = {\n\tall: '',\n\t[ SYNC_TYPES.full ]: __(\n\t\t'Patterns that are kept in sync across the site.'\n\t),\n\t[ SYNC_TYPES.unsynced ]: __(\n\t\t'Patterns that can be changed freely without affecting the site.'\n\t),\n};\n\nexport default function PatternsList( { categoryId, type } ) {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( '' );\n\tconst deferredFilterValue = useDeferredValue( delayedFilterValue );\n\n\tconst [ syncFilter, setSyncFilter ] = useState( 'all' );\n\tconst deferredSyncedFilter = useDeferredValue( syncFilter );\n\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERNS && categoryId === 'uncategorized';\n\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: deferredFilterValue,\n\t\t\tsyncStatus:\n\t\t\t\tdeferredSyncedFilter === 'all'\n\t\t\t\t\t? undefined\n\t\t\t\t\t: deferredSyncedFilter,\n\t\t}\n\t);\n\n\tconst id = useId();\n\tconst titleId = `${ id }-title`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst hasPatterns = patterns.length;\n\tconst title = SYNC_FILTERS[ syncFilter ];\n\tconst description = SYNC_DESCRIPTIONS[ syncFilter ];\n\n\treturn (\n\t\t<VStack spacing={ 6 }>\n\t\t\t<PatternsHeader\n\t\t\t\tcategoryId={ categoryId }\n\t\t\t\ttype={ type }\n\t\t\t\ttitleId={ titleId }\n\t\t\t\tdescriptionId={ descriptionId }\n\t\t\t/>\n\n\t\t\t<Flex alignment=\"stretch\" wrap>\n\t\t\t\t{ isMobileViewport && (\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t// Go back in history if we came from the Patterns page.\n\t\t\t\t\t\t\t// Otherwise push a stack onto the history.\n\t\t\t\t\t\t\tif ( location.state?.backPath === '/patterns' ) {\n\t\t\t\t\t\t\t\thistory.back();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thistory.push( { path: '/patterns' } );\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\t<FlexBlock className=\"edit-site-patterns__search-block\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\tclassName=\"edit-site-patterns__search\"\n\t\t\t\t\t\tonChange={ ( value ) => setFilterValue( value ) }\n\t\t\t\t\t\tplaceholder={ __( 'Search patterns' ) }\n\t\t\t\t\t\tlabel={ __( 'Search patterns' ) }\n\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t\t{ categoryId === USER_PATTERN_CATEGORY && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter\"\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tlabel={ __( 'Filter by sync status' ) }\n\t\t\t\t\t\tvalue={ syncFilter }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tonChange={ ( value ) => setSyncFilter( value ) }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t>\n\t\t\t\t\t\t{ Object.entries( SYNC_FILTERS ).map(\n\t\t\t\t\t\t\t( [ key, label ] ) => (\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter-option\"\n\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\tvalue={ key }\n\t\t\t\t\t\t\t\t\tlabel={ label }\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</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t{ syncFilter !== 'all' && (\n\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 } id={ titleId }>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ description ? (\n\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : null }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t\t{ hasPatterns && (\n\t\t\t\t<Grid\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\titems={ patterns }\n\t\t\t\t\taria-labelledby={ titleId }\n\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isResolving && ! hasPatterns && <NoPatterns /> }\n\t\t</VStack>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/patterns-list.js"],"names":["useState","useDeferredValue","useId","SearchControl","__experimentalVStack","VStack","Flex","FlexBlock","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalHeading","Heading","__experimentalText","Text","__","isRTL","chevronLeft","chevronRight","privateApis","routerPrivateApis","useViewportMatch","PatternsHeader","Grid","NoPatterns","usePatterns","SidebarButton","useDebouncedInput","unlock","SYNC_TYPES","USER_PATTERN_CATEGORY","PATTERNS","useLocation","useHistory","SYNC_FILTERS","all","full","unsynced","SYNC_DESCRIPTIONS","PatternsList","categoryId","type","currentPage","setCurrentPage","location","history","isMobileViewport","filterValue","setFilterValue","delayedFilterValue","deferredFilterValue","syncFilter","setSyncFilter","deferredSyncedFilter","isUncategorizedThemePatterns","patterns","isResolving","search","syncStatus","undefined","updateSearchFilter","value","updateSyncFilter","id","titleId","descriptionId","hasPatterns","length","title","description","state","backPath","back","push","path","Object","entries","map","key","label"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useDeferredValue, useId } from '@wordpress/element';\nimport {\n\tSearchControl,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tFlexBlock,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternsHeader from './header';\nimport Grid from './grid';\nimport NoPatterns from './no-patterns';\nimport usePatterns from './use-patterns';\nimport SidebarButton from '../sidebar-button';\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { unlock } from '../../lock-unlock';\nimport { SYNC_TYPES, USER_PATTERN_CATEGORY, PATTERNS } from './utils';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SYNC_FILTERS = {\n\tall: __( 'All' ),\n\t[ SYNC_TYPES.full ]: __( 'Synced' ),\n\t[ SYNC_TYPES.unsynced ]: __( 'Standard' ),\n};\n\nconst SYNC_DESCRIPTIONS = {\n\tall: '',\n\t[ SYNC_TYPES.full ]: __(\n\t\t'Patterns that are kept in sync across the site.'\n\t),\n\t[ SYNC_TYPES.unsynced ]: __(\n\t\t'Patterns that can be changed freely without affecting the site.'\n\t),\n};\n\nexport default function PatternsList( { categoryId, type } ) {\n\tconst [ currentPage, setCurrentPage ] = useState( 1 );\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( '' );\n\tconst deferredFilterValue = useDeferredValue( delayedFilterValue );\n\n\tconst [ syncFilter, setSyncFilter ] = useState( 'all' );\n\tconst deferredSyncedFilter = useDeferredValue( syncFilter );\n\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERNS && categoryId === 'uncategorized';\n\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: deferredFilterValue,\n\t\t\tsyncStatus:\n\t\t\t\tdeferredSyncedFilter === 'all'\n\t\t\t\t\t? undefined\n\t\t\t\t\t: deferredSyncedFilter,\n\t\t}\n\t);\n\n\tconst updateSearchFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetFilterValue( value );\n\t};\n\n\tconst updateSyncFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetSyncFilter( value );\n\t};\n\n\tconst id = useId();\n\tconst titleId = `${ id }-title`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst hasPatterns = patterns.length;\n\tconst title = SYNC_FILTERS[ syncFilter ];\n\tconst description = SYNC_DESCRIPTIONS[ syncFilter ];\n\n\treturn (\n\t\t<VStack spacing={ 6 }>\n\t\t\t<PatternsHeader\n\t\t\t\tcategoryId={ categoryId }\n\t\t\t\ttype={ type }\n\t\t\t\ttitleId={ titleId }\n\t\t\t\tdescriptionId={ descriptionId }\n\t\t\t/>\n\n\t\t\t<Flex alignment=\"stretch\" wrap>\n\t\t\t\t{ isMobileViewport && (\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t// Go back in history if we came from the Patterns page.\n\t\t\t\t\t\t\t// Otherwise push a stack onto the history.\n\t\t\t\t\t\t\tif ( location.state?.backPath === '/patterns' ) {\n\t\t\t\t\t\t\t\thistory.back();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thistory.push( { path: '/patterns' } );\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\t<FlexBlock className=\"edit-site-patterns__search-block\">\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\tclassName=\"edit-site-patterns__search\"\n\t\t\t\t\t\tonChange={ ( value ) => updateSearchFilter( value ) }\n\t\t\t\t\t\tplaceholder={ __( 'Search patterns' ) }\n\t\t\t\t\t\tlabel={ __( 'Search patterns' ) }\n\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t\t{ categoryId === USER_PATTERN_CATEGORY && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter\"\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tlabel={ __( 'Filter by sync status' ) }\n\t\t\t\t\t\tvalue={ syncFilter }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tonChange={ ( value ) => updateSyncFilter( value ) }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t>\n\t\t\t\t\t\t{ Object.entries( SYNC_FILTERS ).map(\n\t\t\t\t\t\t\t( [ key, label ] ) => (\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter-option\"\n\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\tvalue={ key }\n\t\t\t\t\t\t\t\t\tlabel={ label }\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</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t{ syncFilter !== 'all' && (\n\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 } id={ titleId }>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ description ? (\n\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : null }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t\t{ hasPatterns && (\n\t\t\t\t<Grid\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\titems={ patterns }\n\t\t\t\t\taria-labelledby={ titleId }\n\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\tsetCurrentPage={ setCurrentPage }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isResolving && ! hasPatterns && <NoPatterns /> }\n\t\t</VStack>\n\t);\n}\n"]}
@@ -4,6 +4,7 @@
4
4
  import { parse } from '@wordpress/blocks';
5
5
  import { useSelect } from '@wordpress/data';
6
6
  import { store as coreStore } from '@wordpress/core-data';
7
+ import { store as editorStore } from '@wordpress/editor';
7
8
  import { decodeEntities } from '@wordpress/html-entities';
8
9
  /**
9
10
  * Internal dependencies
@@ -30,8 +31,6 @@ const templatePartToPattern = templatePart => ({
30
31
  templatePart
31
32
  });
32
33
 
33
- const templatePartHasCategory = (item, category) => item.templatePart.area === category;
34
-
35
34
  const selectTemplatePartsAsPatterns = (select, {
36
35
  categoryId,
37
36
  search = ''
@@ -42,11 +41,28 @@ const selectTemplatePartsAsPatterns = (select, {
42
41
  getEntityRecords,
43
42
  getIsResolving
44
43
  } = select(coreStore);
44
+ const {
45
+ __experimentalGetDefaultTemplatePartAreas
46
+ } = select(editorStore);
45
47
  const query = {
46
48
  per_page: -1
47
49
  };
48
50
  const rawTemplateParts = (_getEntityRecords = getEntityRecords('postType', TEMPLATE_PARTS, query)) !== null && _getEntityRecords !== void 0 ? _getEntityRecords : EMPTY_PATTERN_LIST;
49
- const templateParts = rawTemplateParts.map(templatePart => templatePartToPattern(templatePart));
51
+ const templateParts = rawTemplateParts.map(templatePart => templatePartToPattern(templatePart)); // In the case where a custom template part area has been removed we need
52
+ // the current list of areas to cross check against so orphaned template
53
+ // parts can be treated as uncategorized.
54
+
55
+ const knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];
56
+ const templatePartAreas = knownAreas.map(area => area.area);
57
+
58
+ const templatePartHasCategory = (item, category) => {
59
+ if (category !== 'uncategorized') {
60
+ return item.templatePart.area === category;
61
+ }
62
+
63
+ return item.templatePart.area === category || !templatePartAreas.includes(item.templatePart.area);
64
+ };
65
+
50
66
  const isResolving = getIsResolving('getEntityRecords', ['postType', 'wp_template_part', query]);
51
67
  const patterns = searchItems(templateParts, search, {
52
68
  categoryId,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"names":["parse","useSelect","store","coreStore","decodeEntities","CORE_PATTERN_SOURCES","PATTERNS","SYNC_TYPES","TEMPLATE_PARTS","USER_PATTERNS","filterOutDuplicatesByName","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","categories","area","description","isCustom","source","keywords","id","name","title","rendered","type","templatePartHasCategory","item","category","selectTemplatePartsAsPatterns","select","categoryId","search","getEntityRecords","getIsResolving","query","per_page","rawTemplateParts","templateParts","map","isResolving","patterns","hasCategory","selectThemePatterns","getSettings","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","includes","inserter","currentCategory","hasOwnProperty","reusableBlockToPattern","reusableBlock","wp_pattern","syncStatus","wp_pattern_sync_status","full","selectUserPatterns","records","record","usePatterns","categoryType"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tCORE_PATTERN_SOURCES,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tTEMPLATE_PARTS,\n\tUSER_PATTERNS,\n\tfilterOutDuplicatesByName,\n} from './utils';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === 'custom',\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst templatePartHasCategory = ( item, category ) =>\n\titem.templatePart.area === category;\n\nconst selectTemplatePartsAsPatterns = (\n\tselect,\n\t{ categoryId, search = '' } = {}\n) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\tconst query = { per_page: -1 };\n\tconst rawTemplateParts =\n\t\tgetEntityRecords( 'postType', TEMPLATE_PARTS, query ) ??\n\t\tEMPTY_PATTERN_LIST;\n\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\ttemplatePartToPattern( templatePart )\n\t);\n\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\t'wp_template_part',\n\t\tquery,\n\t] );\n\n\tconst patterns = searchItems( templateParts, search, {\n\t\tcategoryId,\n\t\thasCategory: templatePartHasCategory,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nconst selectThemePatterns = ( select, { categoryId, search = '' } = {} ) => {\n\tconst { getSettings } = unlock( select( editSiteStore ) );\n\tconst settings = getSettings();\n\tconst blockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\tsettings.__experimentalBlockPatterns;\n\n\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\tlet patterns = [\n\t\t...( blockPatterns || [] ),\n\t\t...( restBlockPatterns || [] ),\n\t]\n\t\t.filter(\n\t\t\t( pattern ) => ! CORE_PATTERN_SOURCES.includes( pattern.source )\n\t\t)\n\t\t.filter( filterOutDuplicatesByName )\n\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t.map( ( pattern ) => ( {\n\t\t\t...pattern,\n\t\t\tkeywords: pattern.keywords || [],\n\t\t\ttype: 'pattern',\n\t\t\tblocks: parse( pattern.content ),\n\t\t} ) );\n\n\tif ( categoryId ) {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t} );\n\t} else {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t} );\n\t}\n\n\treturn { patterns, isResolving: false };\n};\n\nconst reusableBlockToPattern = ( reusableBlock ) => ( {\n\tblocks: parse( reusableBlock.content.raw ),\n\tcategories: reusableBlock.wp_pattern,\n\tid: reusableBlock.id,\n\tname: reusableBlock.slug,\n\tsyncStatus: reusableBlock.wp_pattern_sync_status || SYNC_TYPES.full,\n\ttitle: reusableBlock.title.raw,\n\ttype: reusableBlock.type,\n\treusableBlock,\n} );\n\nconst selectUserPatterns = ( select, { search = '', syncStatus } = {} ) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\n\tconst query = { per_page: -1 };\n\tconst records = getEntityRecords( 'postType', USER_PATTERNS, query );\n\n\tlet patterns = records\n\t\t? records.map( ( record ) => reusableBlockToPattern( record ) )\n\t\t: EMPTY_PATTERN_LIST;\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\tUSER_PATTERNS,\n\t\tquery,\n\t] );\n\n\tif ( syncStatus ) {\n\t\tpatterns = patterns.filter(\n\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t);\n\t}\n\n\tpatterns = searchItems( patterns, search, {\n\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t// catch-all category for user created patterns, so it has\n\t\t// to be in the category.\n\t\thasCategory: () => true,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus }\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PARTS ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns( select, {\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch,\n\t\t\t\t} );\n\t\t\t} else if ( categoryType === PATTERNS ) {\n\t\t\t\treturn selectThemePatterns( select, { categoryId, search } );\n\t\t\t} else if ( categoryType === USER_PATTERNS ) {\n\t\t\t\treturn selectUserPatterns( select, { search, syncStatus } );\n\t\t\t}\n\t\t\treturn { patterns: EMPTY_PATTERN_LIST, isResolving: false };\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"names":["parse","useSelect","store","coreStore","editorStore","decodeEntities","CORE_PATTERN_SOURCES","PATTERNS","SYNC_TYPES","TEMPLATE_PARTS","USER_PATTERNS","filterOutDuplicatesByName","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","categories","area","description","isCustom","source","keywords","id","name","title","rendered","type","selectTemplatePartsAsPatterns","select","categoryId","search","getEntityRecords","getIsResolving","__experimentalGetDefaultTemplatePartAreas","query","per_page","rawTemplateParts","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","includes","isResolving","patterns","hasCategory","selectThemePatterns","getSettings","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","inserter","currentCategory","hasOwnProperty","reusableBlockToPattern","reusableBlock","wp_pattern","syncStatus","wp_pattern_sync_status","full","selectUserPatterns","records","record","usePatterns","categoryType"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tCORE_PATTERN_SOURCES,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tTEMPLATE_PARTS,\n\tUSER_PATTERNS,\n\tfilterOutDuplicatesByName,\n} from './utils';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === 'custom',\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = (\n\tselect,\n\t{ categoryId, search = '' } = {}\n) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\tconst { __experimentalGetDefaultTemplatePartAreas } = select( editorStore );\n\tconst query = { per_page: -1 };\n\tconst rawTemplateParts =\n\t\tgetEntityRecords( 'postType', TEMPLATE_PARTS, query ) ??\n\t\tEMPTY_PATTERN_LIST;\n\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\ttemplatePartToPattern( templatePart )\n\t);\n\n\t// In the case where a custom template part area has been removed we need\n\t// the current list of areas to cross check against so orphaned template\n\t// parts can be treated as uncategorized.\n\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\tconst templatePartHasCategory = ( item, category ) => {\n\t\tif ( category !== 'uncategorized' ) {\n\t\t\treturn item.templatePart.area === category;\n\t\t}\n\n\t\treturn (\n\t\t\titem.templatePart.area === category ||\n\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t);\n\t};\n\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\t'wp_template_part',\n\t\tquery,\n\t] );\n\n\tconst patterns = searchItems( templateParts, search, {\n\t\tcategoryId,\n\t\thasCategory: templatePartHasCategory,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nconst selectThemePatterns = ( select, { categoryId, search = '' } = {} ) => {\n\tconst { getSettings } = unlock( select( editSiteStore ) );\n\tconst settings = getSettings();\n\tconst blockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\tsettings.__experimentalBlockPatterns;\n\n\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\tlet patterns = [\n\t\t...( blockPatterns || [] ),\n\t\t...( restBlockPatterns || [] ),\n\t]\n\t\t.filter(\n\t\t\t( pattern ) => ! CORE_PATTERN_SOURCES.includes( pattern.source )\n\t\t)\n\t\t.filter( filterOutDuplicatesByName )\n\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t.map( ( pattern ) => ( {\n\t\t\t...pattern,\n\t\t\tkeywords: pattern.keywords || [],\n\t\t\ttype: 'pattern',\n\t\t\tblocks: parse( pattern.content ),\n\t\t} ) );\n\n\tif ( categoryId ) {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t} );\n\t} else {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t} );\n\t}\n\n\treturn { patterns, isResolving: false };\n};\n\nconst reusableBlockToPattern = ( reusableBlock ) => ( {\n\tblocks: parse( reusableBlock.content.raw ),\n\tcategories: reusableBlock.wp_pattern,\n\tid: reusableBlock.id,\n\tname: reusableBlock.slug,\n\tsyncStatus: reusableBlock.wp_pattern_sync_status || SYNC_TYPES.full,\n\ttitle: reusableBlock.title.raw,\n\ttype: reusableBlock.type,\n\treusableBlock,\n} );\n\nconst selectUserPatterns = ( select, { search = '', syncStatus } = {} ) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\n\tconst query = { per_page: -1 };\n\tconst records = getEntityRecords( 'postType', USER_PATTERNS, query );\n\n\tlet patterns = records\n\t\t? records.map( ( record ) => reusableBlockToPattern( record ) )\n\t\t: EMPTY_PATTERN_LIST;\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\tUSER_PATTERNS,\n\t\tquery,\n\t] );\n\n\tif ( syncStatus ) {\n\t\tpatterns = patterns.filter(\n\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t);\n\t}\n\n\tpatterns = searchItems( patterns, search, {\n\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t// catch-all category for user created patterns, so it has\n\t\t// to be in the category.\n\t\thasCategory: () => true,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus }\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PARTS ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns( select, {\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch,\n\t\t\t\t} );\n\t\t\t} else if ( categoryType === PATTERNS ) {\n\t\t\t\treturn selectThemePatterns( select, { categoryId, search } );\n\t\t\t} else if ( categoryType === USER_PATTERNS ) {\n\t\t\t\treturn selectUserPatterns( select, { search, syncStatus } );\n\t\t\t}\n\t\t\treturn { patterns: EMPTY_PATTERN_LIST, isResolving: false };\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"]}
@@ -1,8 +1,13 @@
1
1
  import { createElement, Fragment } from "@wordpress/element";
2
2
 
3
+ /**
4
+ * External dependencies
5
+ */
6
+ import classnames from 'classnames';
3
7
  /**
4
8
  * WordPress dependencies
5
9
  */
10
+
6
11
  import { __experimentalHStack as HStack, __experimentalHeading as Heading, __experimentalUseNavigator as useNavigator, __experimentalVStack as VStack } from '@wordpress/components';
7
12
  import { isRTL, __, sprintf } from '@wordpress/i18n';
8
13
  import { chevronRight, chevronLeft } from '@wordpress/icons';
@@ -48,7 +53,9 @@ export default function SidebarNavigationScreen({
48
53
  const theme = getTheme(currentlyPreviewingTheme());
49
54
  const icon = isRTL() ? chevronRight : chevronLeft;
50
55
  return createElement(Fragment, null, createElement(VStack, {
51
- className: "edit-site-sidebar-navigation-screen__main",
56
+ className: classnames('edit-site-sidebar-navigation-screen__main', {
57
+ 'has-footer': !!footer
58
+ }),
52
59
  spacing: 0,
53
60
  justify: "flex-start"
54
61
  }, createElement(HStack, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen/index.js"],"names":["__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalUseNavigator","useNavigator","__experimentalVStack","VStack","isRTL","__","sprintf","chevronRight","chevronLeft","store","coreStore","useSelect","privateApis","routerPrivateApis","editSiteStore","unlock","SidebarButton","isPreviewingTheme","currentlyPreviewingTheme","useLocation","SidebarNavigationScreen","isRoot","title","actions","meta","content","footer","description","backPath","backPathProp","dashboardLink","select","getSettings","__experimentalDashboardLink","getTheme","location","navigator","theme","icon","state","goTo","isBack","goToParent","name","rendered"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { isRTL, __, sprintf } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport SidebarButton from '../sidebar-button';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SidebarNavigationScreen( {\n\tisRoot,\n\ttitle,\n\tactions,\n\tmeta,\n\tcontent,\n\tfooter,\n\tdescription,\n\tbackPath: backPathProp,\n} ) {\n\tconst { dashboardLink } = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tdashboardLink: getSettings().__experimentalDashboardLink,\n\t\t};\n\t}, [] );\n\tconst { getTheme } = useSelect( coreStore );\n\tconst location = useLocation();\n\tconst navigator = useNavigator();\n\tconst theme = getTheme( currentlyPreviewingTheme() );\n\tconst icon = isRTL() ? chevronRight : chevronLeft;\n\n\treturn (\n\t\t<>\n\t\t\t<VStack\n\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__main\"\n\t\t\t\tspacing={ 0 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__title-icon\"\n\t\t\t\t>\n\t\t\t\t\t{ ! isRoot && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst backPath =\n\t\t\t\t\t\t\t\t\tbackPathProp ?? location.state?.backPath;\n\t\t\t\t\t\t\t\tif ( backPath ) {\n\t\t\t\t\t\t\t\t\tnavigator.goTo( backPath, {\n\t\t\t\t\t\t\t\t\t\tisBack: true,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnavigator.goToParent();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isRoot && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t! isPreviewingTheme()\n\t\t\t\t\t\t\t\t\t? __( 'Go to the Dashboard' )\n\t\t\t\t\t\t\t\t\t: __( 'Go back to the theme showcase' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t! isPreviewingTheme()\n\t\t\t\t\t\t\t\t\t? dashboardLink || 'index.php'\n\t\t\t\t\t\t\t\t\t: 'themes.php'\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<Heading\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__title\"\n\t\t\t\t\t\tcolor={ '#e0e0e0' /* $gray-200 */ }\n\t\t\t\t\t\tlevel={ 1 }\n\t\t\t\t\t\tsize={ 20 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isPreviewingTheme()\n\t\t\t\t\t\t\t? title\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t'Previewing %1$s: %2$s',\n\t\t\t\t\t\t\t\t\ttheme?.name?.rendered,\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t ) }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ actions && (\n\t\t\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__actions\">\n\t\t\t\t\t\t\t{ actions }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t\t{ meta && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__meta\">\n\t\t\t\t\t\t\t{ meta }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__content\">\n\t\t\t\t\t{ description && (\n\t\t\t\t\t\t<p className=\"edit-site-sidebar-navigation-screen__description\">\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t\t{ content }\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t\t{ footer && (\n\t\t\t\t<footer className=\"edit-site-sidebar-navigation-screen__footer\">\n\t\t\t\t\t{ footer }\n\t\t\t\t</footer>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen/index.js"],"names":["classnames","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalUseNavigator","useNavigator","__experimentalVStack","VStack","isRTL","__","sprintf","chevronRight","chevronLeft","store","coreStore","useSelect","privateApis","routerPrivateApis","editSiteStore","unlock","SidebarButton","isPreviewingTheme","currentlyPreviewingTheme","useLocation","SidebarNavigationScreen","isRoot","title","actions","meta","content","footer","description","backPath","backPathProp","dashboardLink","select","getSettings","__experimentalDashboardLink","getTheme","location","navigator","theme","icon","state","goTo","isBack","goToParent","name","rendered"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { isRTL, __, sprintf } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport SidebarButton from '../sidebar-button';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SidebarNavigationScreen( {\n\tisRoot,\n\ttitle,\n\tactions,\n\tmeta,\n\tcontent,\n\tfooter,\n\tdescription,\n\tbackPath: backPathProp,\n} ) {\n\tconst { dashboardLink } = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tdashboardLink: getSettings().__experimentalDashboardLink,\n\t\t};\n\t}, [] );\n\tconst { getTheme } = useSelect( coreStore );\n\tconst location = useLocation();\n\tconst navigator = useNavigator();\n\tconst theme = getTheme( currentlyPreviewingTheme() );\n\tconst icon = isRTL() ? chevronRight : chevronLeft;\n\n\treturn (\n\t\t<>\n\t\t\t<VStack\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-sidebar-navigation-screen__main',\n\t\t\t\t\t{\n\t\t\t\t\t\t'has-footer': !! footer,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\tspacing={ 0 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__title-icon\"\n\t\t\t\t>\n\t\t\t\t\t{ ! isRoot && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst backPath =\n\t\t\t\t\t\t\t\t\tbackPathProp ?? location.state?.backPath;\n\t\t\t\t\t\t\t\tif ( backPath ) {\n\t\t\t\t\t\t\t\t\tnavigator.goTo( backPath, {\n\t\t\t\t\t\t\t\t\t\tisBack: true,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnavigator.goToParent();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isRoot && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t! isPreviewingTheme()\n\t\t\t\t\t\t\t\t\t? __( 'Go to the Dashboard' )\n\t\t\t\t\t\t\t\t\t: __( 'Go back to the theme showcase' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t! isPreviewingTheme()\n\t\t\t\t\t\t\t\t\t? dashboardLink || 'index.php'\n\t\t\t\t\t\t\t\t\t: 'themes.php'\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<Heading\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__title\"\n\t\t\t\t\t\tcolor={ '#e0e0e0' /* $gray-200 */ }\n\t\t\t\t\t\tlevel={ 1 }\n\t\t\t\t\t\tsize={ 20 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isPreviewingTheme()\n\t\t\t\t\t\t\t? title\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t'Previewing %1$s: %2$s',\n\t\t\t\t\t\t\t\t\ttheme?.name?.rendered,\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t ) }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ actions && (\n\t\t\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__actions\">\n\t\t\t\t\t\t\t{ actions }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t\t{ meta && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__meta\">\n\t\t\t\t\t\t\t{ meta }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__content\">\n\t\t\t\t\t{ description && (\n\t\t\t\t\t\t<p className=\"edit-site-sidebar-navigation-screen__description\">\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t\t{ content }\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t\t{ footer && (\n\t\t\t\t<footer className=\"edit-site-sidebar-navigation-screen__footer\">\n\t\t\t\t\t{ footer }\n\t\t\t\t</footer>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}