@wordpress/edit-site 6.0.1 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-page/index.js +2 -1
  3. package/build/components/add-new-page/index.js.map +1 -1
  4. package/build/components/app/index.js +17 -1
  5. package/build/components/app/index.js.map +1 -1
  6. package/build/components/editor/index.js +3 -10
  7. package/build/components/editor/index.js.map +1 -1
  8. package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -0
  9. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  10. package/build/components/global-styles/screen-revisions/index.js +4 -23
  11. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  12. package/build/components/global-styles/shadows-edit-panel.js +1 -0
  13. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  14. package/build/components/global-styles/variations/variation.js +11 -16
  15. package/build/components/global-styles/variations/variation.js.map +1 -1
  16. package/build/components/global-styles/variations/variations-color.js +1 -0
  17. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  18. package/build/components/global-styles/variations/variations-typography.js +1 -0
  19. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  20. package/build/components/layout/index.js +8 -37
  21. package/build/components/layout/index.js.map +1 -1
  22. package/build/components/page/header.js +1 -0
  23. package/build/components/page/header.js.map +1 -1
  24. package/build/components/page-patterns/header.js +2 -1
  25. package/build/components/page-patterns/header.js.map +1 -1
  26. package/build/components/posts-app/index.js +50 -0
  27. package/build/components/posts-app/index.js.map +1 -0
  28. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +1 -0
  29. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -1
  30. package/build/hooks/commands/use-set-command-context.js +53 -0
  31. package/build/hooks/commands/use-set-command-context.js.map +1 -0
  32. package/build/hooks/push-changes-to-global-styles/index.js +2 -2
  33. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  34. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +20 -88
  35. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  36. package/build/index.js +15 -2
  37. package/build/index.js.map +1 -1
  38. package/build/posts.js +34 -0
  39. package/build/posts.js.map +1 -0
  40. package/build-module/components/add-new-page/index.js +2 -1
  41. package/build-module/components/add-new-page/index.js.map +1 -1
  42. package/build-module/components/app/index.js +17 -1
  43. package/build-module/components/app/index.js.map +1 -1
  44. package/build-module/components/editor/index.js +3 -10
  45. package/build-module/components/editor/index.js.map +1 -1
  46. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +1 -0
  47. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  48. package/build-module/components/global-styles/screen-revisions/index.js +4 -23
  49. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  50. package/build-module/components/global-styles/shadows-edit-panel.js +1 -0
  51. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  52. package/build-module/components/global-styles/variations/variation.js +11 -16
  53. package/build-module/components/global-styles/variations/variation.js.map +1 -1
  54. package/build-module/components/global-styles/variations/variations-color.js +1 -0
  55. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  56. package/build-module/components/global-styles/variations/variations-typography.js +1 -0
  57. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  58. package/build-module/components/layout/index.js +10 -39
  59. package/build-module/components/layout/index.js.map +1 -1
  60. package/build-module/components/page/header.js +1 -0
  61. package/build-module/components/page/header.js.map +1 -1
  62. package/build-module/components/page-patterns/header.js +2 -1
  63. package/build-module/components/page-patterns/header.js.map +1 -1
  64. package/build-module/components/posts-app/index.js +43 -0
  65. package/build-module/components/posts-app/index.js.map +1 -0
  66. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +1 -0
  67. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -1
  68. package/build-module/hooks/commands/use-set-command-context.js +46 -0
  69. package/build-module/hooks/commands/use-set-command-context.js.map +1 -0
  70. package/build-module/hooks/push-changes-to-global-styles/index.js +2 -2
  71. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  72. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +19 -86
  73. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  74. package/build-module/index.js +8 -2
  75. package/build-module/index.js.map +1 -1
  76. package/build-module/posts.js +27 -0
  77. package/build-module/posts.js.map +1 -0
  78. package/build-style/posts-rtl.css +1707 -0
  79. package/build-style/posts.css +1707 -0
  80. package/build-style/style-rtl.css +16 -19
  81. package/build-style/style.css +16 -19
  82. package/package.json +41 -41
  83. package/src/components/add-new-page/index.js +2 -1
  84. package/src/components/app/index.js +17 -1
  85. package/src/components/editor/index.js +2 -8
  86. package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -0
  87. package/src/components/global-styles/screen-revisions/index.js +4 -24
  88. package/src/components/global-styles/shadows-edit-panel.js +1 -0
  89. package/src/components/global-styles/style.scss +1 -7
  90. package/src/components/global-styles/variations/variation.js +14 -19
  91. package/src/components/global-styles/variations/variations-color.js +6 -1
  92. package/src/components/global-styles/variations/variations-typography.js +5 -1
  93. package/src/components/global-styles-sidebar/style.scss +0 -1
  94. package/src/components/layout/index.js +24 -70
  95. package/src/components/page/header.js +1 -0
  96. package/src/components/page/style.scss +6 -0
  97. package/src/components/page-patterns/header.js +8 -2
  98. package/src/components/page-patterns/style.scss +6 -0
  99. package/src/components/posts-app/index.js +39 -0
  100. package/src/components/sidebar/style.scss +4 -4
  101. package/src/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +1 -0
  102. package/src/hooks/commands/use-set-command-context.js +37 -0
  103. package/src/hooks/push-changes-to-global-styles/index.js +2 -2
  104. package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +1 -875
  105. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +29 -117
  106. package/src/index.js +10 -2
  107. package/src/posts.js +29 -0
  108. package/src/posts.scss +46 -0
  109. package/build/components/block-editor/block-inspector-button.js +0 -57
  110. package/build/components/block-editor/block-inspector-button.js.map +0 -1
  111. package/build/components/block-editor/inserter-media-categories.js +0 -183
  112. package/build/components/block-editor/inserter-media-categories.js.map +0 -1
  113. package/build/components/template-part-converter/convert-to-regular.js +0 -38
  114. package/build/components/template-part-converter/convert-to-regular.js.map +0 -1
  115. package/build/components/template-part-converter/convert-to-template-part.js +0 -84
  116. package/build/components/template-part-converter/convert-to-template-part.js.map +0 -1
  117. package/build/components/template-part-converter/index.js +0 -67
  118. package/build/components/template-part-converter/index.js.map +0 -1
  119. package/build-module/components/block-editor/block-inspector-button.js +0 -50
  120. package/build-module/components/block-editor/block-inspector-button.js.map +0 -1
  121. package/build-module/components/block-editor/inserter-media-categories.js +0 -177
  122. package/build-module/components/block-editor/inserter-media-categories.js.map +0 -1
  123. package/build-module/components/template-part-converter/convert-to-regular.js +0 -31
  124. package/build-module/components/template-part-converter/convert-to-regular.js.map +0 -1
  125. package/build-module/components/template-part-converter/convert-to-template-part.js +0 -79
  126. package/build-module/components/template-part-converter/convert-to-template-part.js.map +0 -1
  127. package/build-module/components/template-part-converter/index.js +0 -59
  128. package/build-module/components/template-part-converter/index.js.map +0 -1
  129. package/src/components/block-editor/block-inspector-button.js +0 -60
  130. package/src/components/block-editor/inserter-media-categories.js +0 -225
  131. package/src/components/template-part-converter/convert-to-regular.js +0 -32
  132. package/src/components/template-part-converter/convert-to-template-part.js +0 -78
  133. package/src/components/template-part-converter/index.js +0 -59
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","usePrevious","__","useState","useRef","useEffect","store","keyboardShortcutsStore","CommandMenu","privateApis","commandsPrivateApis","preferencesStore","blockEditorPrivateApis","blockEditorStore","coreCommandsPrivateApis","EditorSnackbars","editorPrivateApis","ErrorBoundary","editSiteStore","useInitEditedEntityFromURL","SiteHub","ResizableFrame","useSyncCanvasModeWithURL","unlock","SavePanel","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useCommonCommands","useEditModeCommands","useIsSiteEditorLoading","useLayoutAreas","useMovingAnimation","SidebarContent","SaveHub","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useCommands","useCommandContext","useGlobalStyle","NavigableRegion","ANIMATION_DURATION","Layout","isMobileViewport","toggleRef","isDistractionFree","hasFixedToolbar","hasBlockSelected","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","getCanvasMode","get","getBlockSelectionStart","navigateRegionsProps","previous","next","disableMotion","canvasResizer","canvasSize","fullResizer","isEditorLoading","isResizableFrameOversized","setIsResizableFrameOversized","key","routeKey","areas","widths","animationRef","triggerAnimationOnChange","commandContext","backgroundColor","gradientValue","previousCanvaMode","current","focus","children","ref","className","mobile","ariaLabel","div","initial","opacity","animate","exit","transition","type","duration","ease","isTransparent","sidebar","content","style","maxWidth","preview","width","isReady","isFullWidth","defaultSize","height","isOversized","setIsOversized","innerContentStyle","background"],"sources":["@wordpress/edit-site/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport {\n\tCommandMenu,\n\tprivateApis as commandsPrivateApis,\n} from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\nimport {\n\tEditorSnackbars,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\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 { useIsSiteEditorLoading } from './hooks';\nimport useLayoutAreas from './router';\nimport useMovingAnimation from './animation';\nimport SidebarContent from '../sidebar';\nimport SaveHub from '../save-hub';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useCommandContext } = unlock( commandsPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\nconst { NavigableRegion } = unlock( editorPrivateApis );\n\nconst ANIMATION_DURATION = 0.3;\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 isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst toggleRef = useRef();\n\tconst {\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\thasBlockSelected,\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/editor/previous-region'\n\t\t\t),\n\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t'core/editor/next-region'\n\t\t\t),\n\t\t\thasFixedToolbar: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tisDistractionFree: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\thasBlockSelected:\n\t\t\t\tselect( blockEditorStore ).getBlockSelectionStart(),\n\t\t};\n\t}, [] );\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\tconst { key: routeKey, areas, widths } = useLayoutAreas();\n\tconst animationRef = useMovingAnimation( {\n\t\ttriggerAnimationOnChange: canvasMode + '__' + routeKey,\n\t} );\n\n\t// Sets the right context for the command palette\n\tlet commandContext = 'site-editor';\n\n\tif ( canvasMode === 'edit' ) {\n\t\tcommandContext = 'entity-edit';\n\t}\n\tif ( hasBlockSelected ) {\n\t\tcommandContext = 'block-selection-edit';\n\t}\n\tuseCommandContext( commandContext );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\tconst previousCanvaMode = usePrevious( canvasMode );\n\tuseEffect( () => {\n\t\tif ( previousCanvaMode === 'edit' ) {\n\t\t\ttoggleRef.current?.focus();\n\t\t}\n\t\t// Should not depend on the previous canvas mode value but the next.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ canvasMode ] );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-distraction-free':\n\t\t\t\t\t\t\tisDistractionFree && canvasMode === 'edit',\n\t\t\t\t\t\t'is-full-canvas': canvasMode === 'edit',\n\t\t\t\t\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t\t\t\t\t'is-block-toolbar-visible': hasBlockSelected,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t\tThe NavigableRegion must always be rendered and not use\n\t\t\t\t\t\t`inert` otherwise `useNavigateRegions` will fail.\n\t\t\t\t\t*/ }\n\t\t\t\t\t{ ( ! isMobileViewport || ! areas.mobile ) && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar-region\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\tinitial={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\tanimate={ { opacity: 1 } }\n\t\t\t\t\t\t\t\t\t\texit={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\tisMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SiteHub\n\t\t\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\t\t\tisTransparent={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<SidebarContent routeKey={ routeKey }>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.sidebar }\n\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorSnackbars />\n\n\t\t\t\t\t{ isMobileViewport && areas.mobile && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__mobile\">\n\t\t\t\t\t\t\t{ areas.mobile }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport &&\n\t\t\t\t\t\tareas.content &&\n\t\t\t\t\t\tcanvasMode !== 'edit' && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tmaxWidth: widths?.content,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ areas.content }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport && areas.preview && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__canvas-container\">\n\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tref={ animationRef }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\tisReady={ ! isEditorLoading }\n\t\t\t\t\t\t\t\t\t\t\tisFullWidth={\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'edit'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\n\t\t\t\t<SavePanel />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useSelect","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","__unstableUseNavigateRegions","useNavigateRegions","useReducedMotion","useViewportMatch","useResizeObserver","usePrevious","__","useState","useRef","useEffect","store","keyboardShortcutsStore","CommandMenu","privateApis","blockEditorPrivateApis","EditorSnackbars","editorPrivateApis","coreCommandsPrivateApis","ErrorBoundary","editSiteStore","SiteHub","ResizableFrame","unlock","SavePanel","KeyboardShortcutsRegister","KeyboardShortcutsGlobal","useIsSiteEditorLoading","useMovingAnimation","SidebarContent","SaveHub","useSyncCanvasModeWithURL","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useCommands","useGlobalStyle","NavigableRegion","ANIMATION_DURATION","Layout","route","isMobileViewport","toggleRef","canvasMode","previousShortcut","nextShortcut","select","getAllShortcutKeyCombinations","getCanvasMode","navigateRegionsProps","previous","next","disableMotion","canvasResizer","canvasSize","fullResizer","isEditorLoading","isResizableFrameOversized","setIsResizableFrameOversized","key","routeKey","areas","widths","animationRef","triggerAnimationOnChange","backgroundColor","gradientValue","previousCanvaMode","current","focus","children","ref","className","mobile","ariaLabel","div","initial","opacity","animate","exit","transition","type","duration","ease","isTransparent","sidebar","content","style","maxWidth","preview","width","isReady","isFullWidth","defaultSize","height","isOversized","setIsOversized","innerContentStyle","background"],"sources":["@wordpress/edit-site/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { CommandMenu } from '@wordpress/commands';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport {\n\tEditorSnackbars,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as coreCommandsPrivateApis } from '@wordpress/core-commands';\n\n/**\n * Internal dependencies\n */\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\nimport SiteHub from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport { unlock } from '../../lock-unlock';\nimport SavePanel from '../save-panel';\nimport KeyboardShortcutsRegister from '../keyboard-shortcuts/register';\nimport KeyboardShortcutsGlobal from '../keyboard-shortcuts/global';\nimport { useIsSiteEditorLoading } from './hooks';\nimport useMovingAnimation from './animation';\nimport SidebarContent from '../sidebar';\nimport SaveHub from '../save-hub';\nimport useSyncCanvasModeWithURL from '../sync-state-with-url/use-sync-canvas-mode-with-url';\n\nconst { useCommands } = unlock( coreCommandsPrivateApis );\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\nconst { NavigableRegion } = unlock( editorPrivateApis );\n\nconst ANIMATION_DURATION = 0.3;\n\nexport default function Layout( { route } ) {\n\tuseSyncCanvasModeWithURL();\n\tuseCommands();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst toggleRef = useRef();\n\tconst { canvasMode, previousShortcut, nextShortcut } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getAllShortcutKeyCombinations } = select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t);\n\t\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\t\treturn {\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tpreviousShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t\t'core/editor/previous-region'\n\t\t\t\t),\n\t\t\t\tnextShortcut: getAllShortcutKeyCombinations(\n\t\t\t\t\t'core/editor/next-region'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst navigateRegionsProps = useNavigateRegions( {\n\t\tprevious: previousShortcut,\n\t\tnext: nextShortcut,\n\t} );\n\tconst disableMotion = useReducedMotion();\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst [ fullResizer ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\tconst { key: routeKey, areas, widths } = route;\n\tconst animationRef = useMovingAnimation( {\n\t\ttriggerAnimationOnChange: canvasMode + '__' + routeKey,\n\t} );\n\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\tconst previousCanvaMode = usePrevious( canvasMode );\n\tuseEffect( () => {\n\t\tif ( previousCanvaMode === 'edit' ) {\n\t\t\ttoggleRef.current?.focus();\n\t\t}\n\t\t// Should not depend on the previous canvas mode value but the next.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ canvasMode ] );\n\n\t// Synchronizing the URL with the store value of canvasMode happens in an effect\n\t// This condition ensures the component is only rendered after the synchronization happens\n\t// which prevents any animations due to potential canvasMode value change.\n\tif ( canvasMode === 'init' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<CommandMenu />\n\t\t\t<KeyboardShortcutsRegister />\n\t\t\t<KeyboardShortcutsGlobal />\n\t\t\t{ fullResizer }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-full-canvas': canvasMode === 'edit',\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t\tThe NavigableRegion must always be rendered and not use\n\t\t\t\t\t\t`inert` otherwise `useNavigateRegions` will fail.\n\t\t\t\t\t*/ }\n\t\t\t\t\t{ ( ! isMobileViewport || ! areas.mobile ) && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar-region\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t\t\t{ canvasMode === 'view' && (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\tinitial={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\tanimate={ { opacity: 1 } }\n\t\t\t\t\t\t\t\t\t\texit={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\tisMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SiteHub\n\t\t\t\t\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t\t\t\t\t\tisTransparent={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<SidebarContent routeKey={ routeKey }>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.sidebar }\n\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorSnackbars />\n\n\t\t\t\t\t{ isMobileViewport && areas.mobile && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__mobile\">\n\t\t\t\t\t\t\t{ areas.mobile }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport &&\n\t\t\t\t\t\tareas.content &&\n\t\t\t\t\t\tcanvasMode !== 'edit' && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tmaxWidth: widths?.content,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ areas.content }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport && areas.preview && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__canvas-container\">\n\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tref={ animationRef }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\tisReady={ ! isEditorLoading }\n\t\t\t\t\t\t\t\t\t\t\tisFullWidth={\n\t\t\t\t\t\t\t\t\t\t\t\tcanvasMode === 'edit'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\n\t\t\t\t<SavePanel />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -24,6 +24,7 @@ export default function Header({
24
24
  level: 3,
25
25
  weight: 500,
26
26
  className: "edit-site-page-header__title",
27
+ truncate: true,
27
28
  children: title
28
29
  }), /*#__PURE__*/_jsx(FlexItem, {
29
30
  className: "edit-site-page-header__actions",
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalHeading","Heading","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","FlexItem","jsx","_jsx","jsxs","_jsxs","Header","title","subTitle","actions","className","as","spacing","children","level","weight","variant"],"sources":["@wordpress/edit-site/src/components/page/header.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tFlexItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\n\nexport default function Header( { title, subTitle, actions } ) {\n\treturn (\n\t\t<VStack className=\"edit-site-page-header\" as=\"header\" spacing={ 0 }>\n\t\t\t<HStack className=\"edit-site-page-header__page-title\">\n\t\t\t\t<Heading\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t\tlevel={ 3 }\n\t\t\t\t\tweight={ 500 }\n\t\t\t\t\tclassName=\"edit-site-page-header__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<FlexItem className=\"edit-site-page-header__actions\">\n\t\t\t\t\t{ actions }\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t\t{ subTitle && (\n\t\t\t\t<Text\n\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tclassName=\"edit-site-page-header__sub-title\"\n\t\t\t\t>\n\t\t\t\t\t{ subTitle }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,qBAAqB,IAAIC,OAAO,EAChCC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,QAAQ,QACF,uBAAuB;;AAE9B;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAIA,eAAe,SAASC,MAAMA,CAAE;EAAEC,KAAK;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,EAAG;EAC9D,oBACCJ,KAAA,CAACL,MAAM;IAACU,SAAS,EAAC,uBAAuB;IAACC,EAAE,EAAC,QAAQ;IAACC,OAAO,EAAG,CAAG;IAAAC,QAAA,gBAClER,KAAA,CAACP,MAAM;MAACY,SAAS,EAAC,mCAAmC;MAAAG,QAAA,gBACpDV,IAAA,CAACT,OAAO;QACPiB,EAAE,EAAC,IAAI;QACPG,KAAK,EAAG,CAAG;QACXC,MAAM,EAAG,GAAK;QACdL,SAAS,EAAC,8BAA8B;QAAAG,QAAA,EAEtCN;MAAK,CACC,CAAC,eACVJ,IAAA,CAACF,QAAQ;QAACS,SAAS,EAAC,gCAAgC;QAAAG,QAAA,EACjDJ;MAAO,CACA,CAAC;IAAA,CACJ,CAAC,EACPD,QAAQ,iBACTL,IAAA,CAACP,IAAI;MACJoB,OAAO,EAAC,OAAO;MACfL,EAAE,EAAC,GAAG;MACND,SAAS,EAAC,kCAAkC;MAAAG,QAAA,EAE1CL;IAAQ,CACL,CACN;EAAA,CACM,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["__experimentalHeading","Heading","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","FlexItem","jsx","_jsx","jsxs","_jsxs","Header","title","subTitle","actions","className","as","spacing","children","level","weight","truncate","variant"],"sources":["@wordpress/edit-site/src/components/page/header.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tFlexItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\n\nexport default function Header( { title, subTitle, actions } ) {\n\treturn (\n\t\t<VStack className=\"edit-site-page-header\" as=\"header\" spacing={ 0 }>\n\t\t\t<HStack className=\"edit-site-page-header__page-title\">\n\t\t\t\t<Heading\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t\tlevel={ 3 }\n\t\t\t\t\tweight={ 500 }\n\t\t\t\t\tclassName=\"edit-site-page-header__title\"\n\t\t\t\t\ttruncate\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<FlexItem className=\"edit-site-page-header__actions\">\n\t\t\t\t\t{ actions }\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t\t{ subTitle && (\n\t\t\t\t<Text\n\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tclassName=\"edit-site-page-header__sub-title\"\n\t\t\t\t>\n\t\t\t\t\t{ subTitle }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,qBAAqB,IAAIC,OAAO,EAChCC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,QAAQ,QACF,uBAAuB;;AAE9B;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAIA,eAAe,SAASC,MAAMA,CAAE;EAAEC,KAAK;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,EAAG;EAC9D,oBACCJ,KAAA,CAACL,MAAM;IAACU,SAAS,EAAC,uBAAuB;IAACC,EAAE,EAAC,QAAQ;IAACC,OAAO,EAAG,CAAG;IAAAC,QAAA,gBAClER,KAAA,CAACP,MAAM;MAACY,SAAS,EAAC,mCAAmC;MAAAG,QAAA,gBACpDV,IAAA,CAACT,OAAO;QACPiB,EAAE,EAAC,IAAI;QACPG,KAAK,EAAG,CAAG;QACXC,MAAM,EAAG,GAAK;QACdL,SAAS,EAAC,8BAA8B;QACxCM,QAAQ;QAAAH,QAAA,EAENN;MAAK,CACC,CAAC,eACVJ,IAAA,CAACF,QAAQ;QAACS,SAAS,EAAC,gCAAgC;QAAAG,QAAA,EACjDJ;MAAO,CACA,CAAC;IAAA,CACJ,CAAC,EACPD,QAAQ,iBACTL,IAAA,CAACP,IAAI;MACJqB,OAAO,EAAC,OAAO;MACfN,EAAE,EAAC,GAAG;MACND,SAAS,EAAC,kCAAkC;MAAAG,QAAA,EAE1CL;IAAQ,CACL,CACN;EAAA,CACM,CAAC;AAEX","ignoreList":[]}
@@ -42,7 +42,7 @@ export default function PatternsHeader({
42
42
  }
43
43
  return /*#__PURE__*/_jsxs(VStack, {
44
44
  className: "edit-site-patterns__section-header",
45
- spacing: 0,
45
+ spacing: 1,
46
46
  children: [/*#__PURE__*/_jsxs(HStack, {
47
47
  justify: "space-between",
48
48
  className: "edit-site-patterns__title",
@@ -51,6 +51,7 @@ export default function PatternsHeader({
51
51
  level: 3,
52
52
  id: titleId,
53
53
  weight: 500,
54
+ truncate: true,
54
55
  children: title
55
56
  }), /*#__PURE__*/_jsxs(HStack, {
56
57
  expanded: false,
@@ -1 +1 @@
1
- {"version":3,"names":["DropdownMenu","MenuGroup","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","__experimentalVStack","VStack","store","editorStore","useSelect","__","sprintf","moreVertical","AddNewPattern","RenameCategoryMenuItem","DeleteCategoryMenuItem","usePatternCategories","TEMPLATE_PART_POST_TYPE","PATTERN_TYPES","jsx","_jsx","jsxs","_jsxs","PatternsHeader","categoryId","type","titleId","descriptionId","patternCategories","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","title","description","patternCategory","templatePartArea","find","area","label","user","category","name","className","spacing","children","justify","as","level","id","weight","expanded","icon","toggleProps","describedBy","size","onClose","variant"],"sources":["@wordpress/edit-site/src/components/page-patterns/header.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport RenameCategoryMenuItem from './rename-category-menu-item';\nimport DeleteCategoryMenuItem from './delete-category-menu-item';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\nimport { TEMPLATE_PART_POST_TYPE, PATTERN_TYPES } from '../../utils/constants';\n\nexport default function PatternsHeader( {\n\tcategoryId,\n\ttype,\n\ttitleId,\n\tdescriptionId,\n} ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\tif ( ! title ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack className=\"edit-site-patterns__section-header\" spacing={ 0 }>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"edit-site-patterns__title\"\n\t\t\t>\n\t\t\t\t<Heading as=\"h2\" level={ 3 } id={ titleId } weight={ 500 }>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<HStack expanded={ false }>\n\t\t\t\t\t<AddNewPattern />\n\t\t\t\t\t{ !! patternCategory?.id && (\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: pattern category name */\n\t\t\t\t\t\t\t\t\t__( 'Action menu for %s pattern category' ),\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<RenameCategoryMenuItem\n\t\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<DeleteCategoryMenuItem\n\t\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t\t{ description ? (\n\t\t\t\t<Text\n\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\tclassName=\"edit-site-patterns__sub-title\"\n\t\t\t\t>\n\t\t\t\t\t{ description }\n\t\t\t\t</Text>\n\t\t\t) : null }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DropdownMenu","MenuGroup","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","__experimentalVStack","VStack","store","editorStore","useSelect","__","sprintf","moreVertical","AddNewPattern","RenameCategoryMenuItem","DeleteCategoryMenuItem","usePatternCategories","TEMPLATE_PART_POST_TYPE","PATTERN_TYPES","jsx","_jsx","jsxs","_jsxs","PatternsHeader","categoryId","type","titleId","descriptionId","patternCategories","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","title","description","patternCategory","templatePartArea","find","area","label","user","category","name","className","spacing","children","justify","as","level","id","weight","truncate","expanded","icon","toggleProps","describedBy","size","onClose","variant"],"sources":["@wordpress/edit-site/src/components/page-patterns/header.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport RenameCategoryMenuItem from './rename-category-menu-item';\nimport DeleteCategoryMenuItem from './delete-category-menu-item';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\nimport { TEMPLATE_PART_POST_TYPE, PATTERN_TYPES } from '../../utils/constants';\n\nexport default function PatternsHeader( {\n\tcategoryId,\n\ttype,\n\ttitleId,\n\tdescriptionId,\n} ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\tif ( ! title ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack className=\"edit-site-patterns__section-header\" spacing={ 1 }>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"edit-site-patterns__title\"\n\t\t\t>\n\t\t\t\t<Heading\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t\tlevel={ 3 }\n\t\t\t\t\tid={ titleId }\n\t\t\t\t\tweight={ 500 }\n\t\t\t\t\ttruncate\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t<HStack expanded={ false }>\n\t\t\t\t\t<AddNewPattern />\n\t\t\t\t\t{ !! patternCategory?.id && (\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: pattern category name */\n\t\t\t\t\t\t\t\t\t__( 'Action menu for %s pattern category' ),\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<RenameCategoryMenuItem\n\t\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<DeleteCategoryMenuItem\n\t\t\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t\t{ description ? (\n\t\t\t\t<Text\n\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\tclassName=\"edit-site-patterns__sub-title\"\n\t\t\t\t>\n\t\t\t\t\t{ description }\n\t\t\t\t</Text>\n\t\t\t) : null }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { UnsavedChangesWarning, privateApis as editorPrivateApis } from '@wordpress/editor';
5
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import Layout from '../layout';
11
+ import Page from '../page';
12
+ import { unlock } from '../../lock-unlock';
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ const {
16
+ RouterProvider
17
+ } = unlock(routerPrivateApis);
18
+ const {
19
+ GlobalStylesProvider
20
+ } = unlock(editorPrivateApis);
21
+ const defaultRoute = {
22
+ key: 'index',
23
+ areas: {
24
+ sidebar: 'Empty Sidebar',
25
+ content: /*#__PURE__*/_jsx(Page, {
26
+ children: "Welcome to Posts"
27
+ }),
28
+ preview: undefined,
29
+ mobile: /*#__PURE__*/_jsx(Page, {
30
+ children: "Welcome to Posts"
31
+ })
32
+ }
33
+ };
34
+ export default function PostsApp() {
35
+ return /*#__PURE__*/_jsxs(GlobalStylesProvider, {
36
+ children: [/*#__PURE__*/_jsx(UnsavedChangesWarning, {}), /*#__PURE__*/_jsx(RouterProvider, {
37
+ children: /*#__PURE__*/_jsx(Layout, {
38
+ route: defaultRoute
39
+ })
40
+ })]
41
+ });
42
+ }
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UnsavedChangesWarning","privateApis","editorPrivateApis","routerPrivateApis","Layout","Page","unlock","jsx","_jsx","jsxs","_jsxs","RouterProvider","GlobalStylesProvider","defaultRoute","key","areas","sidebar","content","children","preview","undefined","mobile","PostsApp","route"],"sources":["@wordpress/edit-site/src/components/posts-app/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tUnsavedChangesWarning,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Layout from '../layout';\nimport Page from '../page';\nimport { unlock } from '../../lock-unlock';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\nconst { GlobalStylesProvider } = unlock( editorPrivateApis );\n\nconst defaultRoute = {\n\tkey: 'index',\n\tareas: {\n\t\tsidebar: 'Empty Sidebar',\n\t\tcontent: <Page>Welcome to Posts</Page>,\n\t\tpreview: undefined,\n\t\tmobile: <Page>Welcome to Posts</Page>,\n\t},\n};\n\nexport default function PostsApp() {\n\treturn (\n\t\t<GlobalStylesProvider>\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<RouterProvider>\n\t\t\t\t<Layout route={ defaultRoute } />\n\t\t\t</RouterProvider>\n\t\t</GlobalStylesProvider>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,qBAAqB,EACrBC,WAAW,IAAIC,iBAAiB,QAC1B,mBAAmB;AAC1B,SAASD,WAAW,IAAIE,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE3C,MAAM;EAAEC;AAAe,CAAC,GAAGL,MAAM,CAAEH,iBAAkB,CAAC;AACtD,MAAM;EAAES;AAAqB,CAAC,GAAGN,MAAM,CAAEJ,iBAAkB,CAAC;AAE5D,MAAMW,YAAY,GAAG;EACpBC,GAAG,EAAE,OAAO;EACZC,KAAK,EAAE;IACNC,OAAO,EAAE,eAAe;IACxBC,OAAO,eAAET,IAAA,CAACH,IAAI;MAAAa,QAAA,EAAC;IAAgB,CAAM,CAAC;IACtCC,OAAO,EAAEC,SAAS;IAClBC,MAAM,eAAEb,IAAA,CAACH,IAAI;MAAAa,QAAA,EAAC;IAAgB,CAAM;EACrC;AACD,CAAC;AAED,eAAe,SAASI,QAAQA,CAAA,EAAG;EAClC,oBACCZ,KAAA,CAACE,oBAAoB;IAAAM,QAAA,gBACpBV,IAAA,CAACR,qBAAqB,IAAE,CAAC,eACzBQ,IAAA,CAACG,cAAc;MAAAO,QAAA,eACdV,IAAA,CAACJ,MAAM;QAACmB,KAAK,EAAGV;MAAc,CAAE;IAAC,CAClB,CAAC;EAAA,CACI,CAAC;AAEzB","ignoreList":[]}
@@ -18,6 +18,7 @@ export default function DeleteConfirmDialog({
18
18
  },
19
19
  onCancel: onClose,
20
20
  confirmButtonText: __('Delete'),
21
+ size: "medium",
21
22
  children: __('Are you sure you want to delete this Navigation Menu?')
22
23
  });
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalConfirmDialog","ConfirmDialog","__","jsx","_jsx","DeleteConfirmDialog","onClose","onConfirm","isOpen","onCancel","confirmButtonText","children"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nexport default function DeleteConfirmDialog( { onClose, onConfirm } ) {\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen\n\t\t\tonConfirm={ () => {\n\t\t\t\tonConfirm();\n\n\t\t\t\t// Immediate close avoids ability to hit delete multiple times.\n\t\t\t\tonClose();\n\t\t\t} }\n\t\t\tonCancel={ onClose }\n\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t>\n\t\t\t{ __( 'Are you sure you want to delete this Navigation Menu?' ) }\n\t\t</ConfirmDialog>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,2BAA2B,IAAIC,aAAa,QAAQ,uBAAuB;AACpF,SAASC,EAAE,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErC,eAAe,SAASC,mBAAmBA,CAAE;EAAEC,OAAO;EAAEC;AAAU,CAAC,EAAG;EACrE,oBACCH,IAAA,CAACH,aAAa;IACbO,MAAM;IACND,SAAS,EAAGA,CAAA,KAAM;MACjBA,SAAS,CAAC,CAAC;;MAEX;MACAD,OAAO,CAAC,CAAC;IACV,CAAG;IACHG,QAAQ,EAAGH,OAAS;IACpBI,iBAAiB,EAAGR,EAAE,CAAE,QAAS,CAAG;IAAAS,QAAA,EAElCT,EAAE,CAAE,uDAAwD;EAAC,CACjD,CAAC;AAElB","ignoreList":[]}
1
+ {"version":3,"names":["__experimentalConfirmDialog","ConfirmDialog","__","jsx","_jsx","DeleteConfirmDialog","onClose","onConfirm","isOpen","onCancel","confirmButtonText","size","children"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nexport default function DeleteConfirmDialog( { onClose, onConfirm } ) {\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen\n\t\t\tonConfirm={ () => {\n\t\t\t\tonConfirm();\n\n\t\t\t\t// Immediate close avoids ability to hit delete multiple times.\n\t\t\t\tonClose();\n\t\t\t} }\n\t\t\tonCancel={ onClose }\n\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ __( 'Are you sure you want to delete this Navigation Menu?' ) }\n\t\t</ConfirmDialog>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,2BAA2B,IAAIC,aAAa,QAAQ,uBAAuB;AACpF,SAASC,EAAE,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErC,eAAe,SAASC,mBAAmBA,CAAE;EAAEC,OAAO;EAAEC;AAAU,CAAC,EAAG;EACrE,oBACCH,IAAA,CAACH,aAAa;IACbO,MAAM;IACND,SAAS,EAAGA,CAAA,KAAM;MACjBA,SAAS,CAAC,CAAC;;MAEX;MACAD,OAAO,CAAC,CAAC;IACV,CAAG;IACHG,QAAQ,EAAGH,OAAS;IACpBI,iBAAiB,EAAGR,EAAE,CAAE,QAAS,CAAG;IACpCS,IAAI,EAAC,QAAQ;IAAAC,QAAA,EAEXV,EAAE,CAAE,uDAAwD;EAAC,CACjD,CAAC;AAElB","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useSelect } from '@wordpress/data';
5
+ import { privateApis as commandsPrivateApis } from '@wordpress/commands';
6
+ import { store as blockEditorStore } from '@wordpress/block-editor';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import { store as editSiteStore } from '../../store';
12
+ import { unlock } from '../../lock-unlock';
13
+ const {
14
+ useCommandContext
15
+ } = unlock(commandsPrivateApis);
16
+
17
+ /**
18
+ * React hook used to set the correct command context based on the current state.
19
+ */
20
+ export default function useSetCommandContext() {
21
+ const {
22
+ hasBlockSelected,
23
+ canvasMode
24
+ } = useSelect(select => {
25
+ const {
26
+ getCanvasMode
27
+ } = unlock(select(editSiteStore));
28
+ const {
29
+ getBlockSelectionStart
30
+ } = select(blockEditorStore);
31
+ return {
32
+ canvasMode: getCanvasMode(),
33
+ hasBlockSelected: getBlockSelectionStart()
34
+ };
35
+ }, []);
36
+ // Sets the right context for the command palette
37
+ let commandContext = 'site-editor';
38
+ if (canvasMode === 'edit') {
39
+ commandContext = 'entity-edit';
40
+ }
41
+ if (hasBlockSelected) {
42
+ commandContext = 'block-selection-edit';
43
+ }
44
+ useCommandContext(commandContext);
45
+ }
46
+ //# sourceMappingURL=use-set-command-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSelect","privateApis","commandsPrivateApis","store","blockEditorStore","editSiteStore","unlock","useCommandContext","useSetCommandContext","hasBlockSelected","canvasMode","select","getCanvasMode","getBlockSelectionStart","commandContext"],"sources":["@wordpress/edit-site/src/hooks/commands/use-set-command-context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as commandsPrivateApis } from '@wordpress/commands';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { useCommandContext } = unlock( commandsPrivateApis );\n\n/**\n * React hook used to set the correct command context based on the current state.\n */\nexport default function useSetCommandContext() {\n\tconst { hasBlockSelected, canvasMode } = useSelect( ( select ) => {\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\t\tconst { getBlockSelectionStart } = select( blockEditorStore );\n\t\treturn {\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\thasBlockSelected: getBlockSelectionStart(),\n\t\t};\n\t}, [] );\n\t// Sets the right context for the command palette\n\tlet commandContext = 'site-editor';\n\tif ( canvasMode === 'edit' ) {\n\t\tcommandContext = 'entity-edit';\n\t}\n\tif ( hasBlockSelected ) {\n\t\tcommandContext = 'block-selection-edit';\n\t}\n\tuseCommandContext( commandContext );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,WAAW,IAAIC,mBAAmB,QAAQ,qBAAqB;AACxE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;;AAEnE;AACA;AACA;AACA,SAASD,KAAK,IAAIE,aAAa,QAAQ,aAAa;AACpD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAkB,CAAC,GAAGD,MAAM,CAAEJ,mBAAoB,CAAC;;AAE3D;AACA;AACA;AACA,eAAe,SAASM,oBAAoBA,CAAA,EAAG;EAC9C,MAAM;IAAEC,gBAAgB;IAAEC;EAAW,CAAC,GAAGV,SAAS,CAAIW,MAAM,IAAM;IACjE,MAAM;MAAEC;IAAc,CAAC,GAAGN,MAAM,CAAEK,MAAM,CAAEN,aAAc,CAAE,CAAC;IAC3D,MAAM;MAAEQ;IAAuB,CAAC,GAAGF,MAAM,CAAEP,gBAAiB,CAAC;IAC7D,OAAO;MACNM,UAAU,EAAEE,aAAa,CAAC,CAAC;MAC3BH,gBAAgB,EAAEI,sBAAsB,CAAC;IAC1C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP;EACA,IAAIC,cAAc,GAAG,aAAa;EAClC,IAAKJ,UAAU,KAAK,MAAM,EAAG;IAC5BI,cAAc,GAAG,aAAa;EAC/B;EACA,IAAKL,gBAAgB,EAAG;IACvBK,cAAc,GAAG,sBAAsB;EACxC;EACAP,iBAAiB,CAAEO,cAAe,CAAC;AACpC","ignoreList":[]}
@@ -269,7 +269,7 @@ function PushChangesToGlobalStylesControl({
269
269
  // notification.
270
270
  __unstableMarkNextChangeAsNotPersistent();
271
271
  setAttributes(newBlockAttributes);
272
- setUserConfig(() => newUserConfig, {
272
+ setUserConfig(newUserConfig, {
273
273
  undoIgnore: true
274
274
  });
275
275
  createSuccessNotice(sprintf(
@@ -281,7 +281,7 @@ function PushChangesToGlobalStylesControl({
281
281
  onClick() {
282
282
  __unstableMarkNextChangeAsNotPersistent();
283
283
  setAttributes(attributes);
284
- setUserConfig(() => userConfig, {
284
+ setUserConfig(userConfig, {
285
285
  undoIgnore: true
286
286
  });
287
287
  }
@@ -1 +1 @@
1
- {"version":3,"names":["addFilter","createHigherOrderComponent","InspectorAdvancedControls","store","blockEditorStore","privateApis","blockEditorPrivateApis","useBlockEditingMode","BaseControl","Button","__","sprintf","__EXPERIMENTAL_STYLE_PROPERTY","getBlockType","hasBlockSupport","useContext","useMemo","useCallback","useDispatch","useSelect","noticesStore","coreStore","useSupportedStyles","unlock","cloneDeep","setNestedValue","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","cleanEmptyObject","GlobalStylesContext","STYLE_PROPERTY","blockGap","value","STYLE_PATH_TO_CSS_VAR_INFIX","STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE","SUPPORTED_STYLES","getValueFromObjectPath","object","path","forEach","fieldName","flatBorderProperties","sides","getBorderStyleChanges","border","presetColor","userStyle","changes","getFallbackBorderStyleChange","color","customColor","style","width","hasColorOrWidth","side","push","globalBorderStyle","useChangesToPush","name","attributes","userConfig","supports","blockUserConfig","styles","blocks","flatMap","key","presetAttributeKey","join","presetAttributeValue","linkChanges","hoverPath","hoverValue","includes","borderChanges","currentPath","splice","borderColor","change","PushChangesToGlobalStylesControl","setAttributes","user","setUserConfig","__unstableMarkNextChangeAsNotPersistent","createSuccessNotice","pushChanges","length","blockStyles","newBlockStyles","newUserConfig","undefined","newBlockAttributes","backgroundColor","textColor","gradient","fontSize","fontFamily","undoIgnore","title","type","actions","label","onClick","className","help","children","VisualLabel","__next40pxDefaultSize","variant","__experimentalIsFocusable","disabled","PushChangesToGlobalStyles","props","blockEditingMode","isBlockBasedTheme","select","getCurrentTheme","is_block_theme","supportsStyles","some","feature","isDisplayed","withPushChangesToGlobalStyles","BlockEdit","isSelected"],"sources":["@wordpress/edit-site/src/hooks/push-changes-to-global-styles/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport {\n\tInspectorAdvancedControls,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { useContext, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useSupportedStyles } from '../../components/global-styles/hooks';\nimport { unlock } from '../../lock-unlock';\nimport cloneDeep from '../../utils/clone-deep';\nimport setNestedValue from '../../utils/set-nested-value';\n\nconst { cleanEmptyObject, GlobalStylesContext } = unlock(\n\tblockEditorPrivateApis\n);\n\n// Block Gap is a special case and isn't defined within the blocks\n// style properties config. We'll add it here to allow it to be pushed\n// to global styles as well.\nconst STYLE_PROPERTY = {\n\t...__EXPERIMENTAL_STYLE_PROPERTY,\n\tblockGap: { value: [ 'spacing', 'blockGap' ] },\n};\n\n// TODO: Temporary duplication of constant in @wordpress/block-editor. Can be\n// removed by moving PushChangesToGlobalStylesControl to\n// @wordpress/block-editor.\nconst STYLE_PATH_TO_CSS_VAR_INFIX = {\n\t'border.color': 'color',\n\t'color.background': 'color',\n\t'color.text': 'color',\n\t'elements.link.color.text': 'color',\n\t'elements.link.:hover.color.text': 'color',\n\t'elements.link.typography.fontFamily': 'font-family',\n\t'elements.link.typography.fontSize': 'font-size',\n\t'elements.button.color.text': 'color',\n\t'elements.button.color.background': 'color',\n\t'elements.button.typography.fontFamily': 'font-family',\n\t'elements.button.typography.fontSize': 'font-size',\n\t'elements.caption.color.text': 'color',\n\t'elements.heading.color': 'color',\n\t'elements.heading.color.background': 'color',\n\t'elements.heading.typography.fontFamily': 'font-family',\n\t'elements.heading.gradient': 'gradient',\n\t'elements.heading.color.gradient': 'gradient',\n\t'elements.h1.color': 'color',\n\t'elements.h1.color.background': 'color',\n\t'elements.h1.typography.fontFamily': 'font-family',\n\t'elements.h1.color.gradient': 'gradient',\n\t'elements.h2.color': 'color',\n\t'elements.h2.color.background': 'color',\n\t'elements.h2.typography.fontFamily': 'font-family',\n\t'elements.h2.color.gradient': 'gradient',\n\t'elements.h3.color': 'color',\n\t'elements.h3.color.background': 'color',\n\t'elements.h3.typography.fontFamily': 'font-family',\n\t'elements.h3.color.gradient': 'gradient',\n\t'elements.h4.color': 'color',\n\t'elements.h4.color.background': 'color',\n\t'elements.h4.typography.fontFamily': 'font-family',\n\t'elements.h4.color.gradient': 'gradient',\n\t'elements.h5.color': 'color',\n\t'elements.h5.color.background': 'color',\n\t'elements.h5.typography.fontFamily': 'font-family',\n\t'elements.h5.color.gradient': 'gradient',\n\t'elements.h6.color': 'color',\n\t'elements.h6.color.background': 'color',\n\t'elements.h6.typography.fontFamily': 'font-family',\n\t'elements.h6.color.gradient': 'gradient',\n\t'color.gradient': 'gradient',\n\tblockGap: 'spacing',\n\t'typography.fontSize': 'font-size',\n\t'typography.fontFamily': 'font-family',\n};\n\n// TODO: Temporary duplication of constant in @wordpress/block-editor. Can be\n// removed by moving PushChangesToGlobalStylesControl to\n// @wordpress/block-editor.\nconst STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE = {\n\t'border.color': 'borderColor',\n\t'color.background': 'backgroundColor',\n\t'color.text': 'textColor',\n\t'color.gradient': 'gradient',\n\t'typography.fontSize': 'fontSize',\n\t'typography.fontFamily': 'fontFamily',\n};\n\nconst SUPPORTED_STYLES = [ 'border', 'color', 'spacing', 'typography' ];\n\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nconst flatBorderProperties = [ 'borderColor', 'borderWidth', 'borderStyle' ];\nconst sides = [ 'top', 'right', 'bottom', 'left' ];\n\nfunction getBorderStyleChanges( border, presetColor, userStyle ) {\n\tif ( ! border && ! presetColor ) {\n\t\treturn [];\n\t}\n\n\tconst changes = [\n\t\t...getFallbackBorderStyleChange( 'top', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'right', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'bottom', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'left', border, userStyle ),\n\t];\n\n\t// Handle a flat border i.e. all sides the same, CSS shorthand.\n\tconst { color: customColor, style, width } = border || {};\n\tconst hasColorOrWidth = presetColor || customColor || width;\n\n\tif ( hasColorOrWidth && ! style ) {\n\t\t// Global Styles need individual side configurations to overcome\n\t\t// theme.json configurations which are per side as well.\n\t\tsides.forEach( ( side ) => {\n\t\t\t// Only add fallback border-style if global styles don't already\n\t\t\t// have something set.\n\t\t\tif ( ! userStyle?.[ side ]?.style ) {\n\t\t\t\tchanges.push( {\n\t\t\t\t\tpath: [ 'border', side, 'style' ],\n\t\t\t\t\tvalue: 'solid',\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn changes;\n}\n\nfunction getFallbackBorderStyleChange( side, border, globalBorderStyle ) {\n\tif ( ! border?.[ side ] || globalBorderStyle?.[ side ]?.style ) {\n\t\treturn [];\n\t}\n\n\tconst { color, style, width } = border[ side ];\n\tconst hasColorOrWidth = color || width;\n\n\tif ( ! hasColorOrWidth || style ) {\n\t\treturn [];\n\t}\n\n\treturn [ { path: [ 'border', side, 'style' ], value: 'solid' } ];\n}\n\nfunction useChangesToPush( name, attributes, userConfig ) {\n\tconst supports = useSupportedStyles( name );\n\tconst blockUserConfig = userConfig?.styles?.blocks?.[ name ];\n\n\treturn useMemo( () => {\n\t\tconst changes = supports.flatMap( ( key ) => {\n\t\t\tif ( ! STYLE_PROPERTY[ key ] ) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tconst { value: path } = STYLE_PROPERTY[ key ];\n\t\t\tconst presetAttributeKey = path.join( '.' );\n\t\t\tconst presetAttributeValue =\n\t\t\t\tattributes[\n\t\t\t\t\tSTYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE[ presetAttributeKey ]\n\t\t\t\t];\n\t\t\tconst value = presetAttributeValue\n\t\t\t\t? `var:preset|${ STYLE_PATH_TO_CSS_VAR_INFIX[ presetAttributeKey ] }|${ presetAttributeValue }`\n\t\t\t\t: getValueFromObjectPath( attributes.style, path );\n\n\t\t\t// Links only have a single support entry but have two element\n\t\t\t// style properties, color and hover color. The following check\n\t\t\t// will add the hover color to the changes if required.\n\t\t\tif ( key === 'linkColor' ) {\n\t\t\t\tconst linkChanges = value ? [ { path, value } ] : [];\n\t\t\t\tconst hoverPath = [\n\t\t\t\t\t'elements',\n\t\t\t\t\t'link',\n\t\t\t\t\t':hover',\n\t\t\t\t\t'color',\n\t\t\t\t\t'text',\n\t\t\t\t];\n\t\t\t\tconst hoverValue = getValueFromObjectPath(\n\t\t\t\t\tattributes.style,\n\t\t\t\t\thoverPath\n\t\t\t\t);\n\n\t\t\t\tif ( hoverValue ) {\n\t\t\t\t\tlinkChanges.push( { path: hoverPath, value: hoverValue } );\n\t\t\t\t}\n\n\t\t\t\treturn linkChanges;\n\t\t\t}\n\n\t\t\t// The shorthand border styles can't be mapped directly as global\n\t\t\t// styles requires longhand config.\n\t\t\tif ( flatBorderProperties.includes( key ) && value ) {\n\t\t\t\t// The shorthand config path is included to clear the block attribute.\n\t\t\t\tconst borderChanges = [ { path, value } ];\n\t\t\t\tsides.forEach( ( side ) => {\n\t\t\t\t\tconst currentPath = [ ...path ];\n\t\t\t\t\tcurrentPath.splice( -1, 0, side );\n\t\t\t\t\tborderChanges.push( { path: currentPath, value } );\n\t\t\t\t} );\n\t\t\t\treturn borderChanges;\n\t\t\t}\n\n\t\t\treturn value ? [ { path, value } ] : [];\n\t\t} );\n\n\t\t// To ensure display of a visible border, global styles require a\n\t\t// default border style if a border color or width is present.\n\t\tgetBorderStyleChanges(\n\t\t\tattributes.style?.border,\n\t\t\tattributes.borderColor,\n\t\t\tblockUserConfig?.border\n\t\t).forEach( ( change ) => changes.push( change ) );\n\n\t\treturn changes;\n\t}, [ supports, attributes, blockUserConfig ] );\n}\n\nfunction PushChangesToGlobalStylesControl( {\n\tname,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { user: userConfig, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\n\tconst changes = useChangesToPush( name, attributes, userConfig );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst pushChanges = useCallback( () => {\n\t\tif ( changes.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( changes.length > 0 ) {\n\t\t\tconst { style: blockStyles } = attributes;\n\n\t\t\tconst newBlockStyles = cloneDeep( blockStyles );\n\t\t\tconst newUserConfig = cloneDeep( userConfig );\n\n\t\t\tfor ( const { path, value } of changes ) {\n\t\t\t\tsetNestedValue( newBlockStyles, path, undefined );\n\t\t\t\tsetNestedValue(\n\t\t\t\t\tnewUserConfig,\n\t\t\t\t\t[ 'styles', 'blocks', name, ...path ],\n\t\t\t\t\tvalue\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst newBlockAttributes = {\n\t\t\t\tborderColor: undefined,\n\t\t\t\tbackgroundColor: undefined,\n\t\t\t\ttextColor: undefined,\n\t\t\t\tgradient: undefined,\n\t\t\t\tfontSize: undefined,\n\t\t\t\tfontFamily: undefined,\n\t\t\t\tstyle: cleanEmptyObject( newBlockStyles ),\n\t\t\t};\n\n\t\t\t// @wordpress/core-data doesn't support editing multiple entity types in\n\t\t\t// a single undo level. So for now, we disable @wordpress/core-data undo\n\t\t\t// tracking and implement our own Undo button in the snackbar\n\t\t\t// notification.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( newBlockAttributes );\n\t\t\tsetUserConfig( () => newUserConfig, { undoIgnore: true } );\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the block e.g. 'Heading'.\n\t\t\t\t\t__( '%s styles applied.' ),\n\t\t\t\t\tgetBlockType( name ).title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tsetAttributes( attributes );\n\t\t\t\t\t\t\t\tsetUserConfig( () => userConfig, {\n\t\t\t\t\t\t\t\t\tundoIgnore: true,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tattributes,\n\t\tchanges,\n\t\tcreateSuccessNotice,\n\t\tname,\n\t\tsetAttributes,\n\t\tsetUserConfig,\n\t\tuserConfig,\n\t] );\n\n\treturn (\n\t\t<BaseControl\n\t\t\tclassName=\"edit-site-push-changes-to-global-styles-control\"\n\t\t\thelp={ sprintf(\n\t\t\t\t// translators: %s: Title of the block e.g. 'Heading'.\n\t\t\t\t__(\n\t\t\t\t\t'Apply this block’s typography, spacing, dimensions, and color styles to all %s blocks.'\n\t\t\t\t),\n\t\t\t\tgetBlockType( name ).title\n\t\t\t) }\n\t\t>\n\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t{ __( 'Styles' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\t__experimentalIsFocusable\n\t\t\t\tdisabled={ changes.length === 0 }\n\t\t\t\tonClick={ pushChanges }\n\t\t\t>\n\t\t\t\t{ __( 'Apply globally' ) }\n\t\t\t</Button>\n\t\t</BaseControl>\n\t);\n}\n\nfunction PushChangesToGlobalStyles( props ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isBlockBasedTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n\tconst supportsStyles = SUPPORTED_STYLES.some( ( feature ) =>\n\t\thasBlockSupport( props.name, feature )\n\t);\n\tconst isDisplayed =\n\t\tblockEditingMode === 'default' && supportsStyles && isBlockBasedTheme;\n\n\tif ( ! isDisplayed ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorAdvancedControls>\n\t\t\t<PushChangesToGlobalStylesControl { ...props } />\n\t\t</InspectorAdvancedControls>\n\t);\n}\n\nconst withPushChangesToGlobalStyles = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => (\n\t\t<>\n\t\t\t<BlockEdit { ...props } />\n\t\t\t{ props.isSelected && <PushChangesToGlobalStyles { ...props } /> }\n\t\t</>\n\t)\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/edit-site/push-changes-to-global-styles',\n\twithPushChangesToGlobalStyles\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["addFilter","createHigherOrderComponent","InspectorAdvancedControls","store","blockEditorStore","privateApis","blockEditorPrivateApis","useBlockEditingMode","BaseControl","Button","__","sprintf","__EXPERIMENTAL_STYLE_PROPERTY","getBlockType","hasBlockSupport","useContext","useMemo","useCallback","useDispatch","useSelect","noticesStore","coreStore","useSupportedStyles","unlock","cloneDeep","setNestedValue","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","cleanEmptyObject","GlobalStylesContext","STYLE_PROPERTY","blockGap","value","STYLE_PATH_TO_CSS_VAR_INFIX","STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE","SUPPORTED_STYLES","getValueFromObjectPath","object","path","forEach","fieldName","flatBorderProperties","sides","getBorderStyleChanges","border","presetColor","userStyle","changes","getFallbackBorderStyleChange","color","customColor","style","width","hasColorOrWidth","side","push","globalBorderStyle","useChangesToPush","name","attributes","userConfig","supports","blockUserConfig","styles","blocks","flatMap","key","presetAttributeKey","join","presetAttributeValue","linkChanges","hoverPath","hoverValue","includes","borderChanges","currentPath","splice","borderColor","change","PushChangesToGlobalStylesControl","setAttributes","user","setUserConfig","__unstableMarkNextChangeAsNotPersistent","createSuccessNotice","pushChanges","length","blockStyles","newBlockStyles","newUserConfig","undefined","newBlockAttributes","backgroundColor","textColor","gradient","fontSize","fontFamily","undoIgnore","title","type","actions","label","onClick","className","help","children","VisualLabel","__next40pxDefaultSize","variant","__experimentalIsFocusable","disabled","PushChangesToGlobalStyles","props","blockEditingMode","isBlockBasedTheme","select","getCurrentTheme","is_block_theme","supportsStyles","some","feature","isDisplayed","withPushChangesToGlobalStyles","BlockEdit","isSelected"],"sources":["@wordpress/edit-site/src/hooks/push-changes-to-global-styles/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport {\n\tInspectorAdvancedControls,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { useContext, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useSupportedStyles } from '../../components/global-styles/hooks';\nimport { unlock } from '../../lock-unlock';\nimport cloneDeep from '../../utils/clone-deep';\nimport setNestedValue from '../../utils/set-nested-value';\n\nconst { cleanEmptyObject, GlobalStylesContext } = unlock(\n\tblockEditorPrivateApis\n);\n\n// Block Gap is a special case and isn't defined within the blocks\n// style properties config. We'll add it here to allow it to be pushed\n// to global styles as well.\nconst STYLE_PROPERTY = {\n\t...__EXPERIMENTAL_STYLE_PROPERTY,\n\tblockGap: { value: [ 'spacing', 'blockGap' ] },\n};\n\n// TODO: Temporary duplication of constant in @wordpress/block-editor. Can be\n// removed by moving PushChangesToGlobalStylesControl to\n// @wordpress/block-editor.\nconst STYLE_PATH_TO_CSS_VAR_INFIX = {\n\t'border.color': 'color',\n\t'color.background': 'color',\n\t'color.text': 'color',\n\t'elements.link.color.text': 'color',\n\t'elements.link.:hover.color.text': 'color',\n\t'elements.link.typography.fontFamily': 'font-family',\n\t'elements.link.typography.fontSize': 'font-size',\n\t'elements.button.color.text': 'color',\n\t'elements.button.color.background': 'color',\n\t'elements.button.typography.fontFamily': 'font-family',\n\t'elements.button.typography.fontSize': 'font-size',\n\t'elements.caption.color.text': 'color',\n\t'elements.heading.color': 'color',\n\t'elements.heading.color.background': 'color',\n\t'elements.heading.typography.fontFamily': 'font-family',\n\t'elements.heading.gradient': 'gradient',\n\t'elements.heading.color.gradient': 'gradient',\n\t'elements.h1.color': 'color',\n\t'elements.h1.color.background': 'color',\n\t'elements.h1.typography.fontFamily': 'font-family',\n\t'elements.h1.color.gradient': 'gradient',\n\t'elements.h2.color': 'color',\n\t'elements.h2.color.background': 'color',\n\t'elements.h2.typography.fontFamily': 'font-family',\n\t'elements.h2.color.gradient': 'gradient',\n\t'elements.h3.color': 'color',\n\t'elements.h3.color.background': 'color',\n\t'elements.h3.typography.fontFamily': 'font-family',\n\t'elements.h3.color.gradient': 'gradient',\n\t'elements.h4.color': 'color',\n\t'elements.h4.color.background': 'color',\n\t'elements.h4.typography.fontFamily': 'font-family',\n\t'elements.h4.color.gradient': 'gradient',\n\t'elements.h5.color': 'color',\n\t'elements.h5.color.background': 'color',\n\t'elements.h5.typography.fontFamily': 'font-family',\n\t'elements.h5.color.gradient': 'gradient',\n\t'elements.h6.color': 'color',\n\t'elements.h6.color.background': 'color',\n\t'elements.h6.typography.fontFamily': 'font-family',\n\t'elements.h6.color.gradient': 'gradient',\n\t'color.gradient': 'gradient',\n\tblockGap: 'spacing',\n\t'typography.fontSize': 'font-size',\n\t'typography.fontFamily': 'font-family',\n};\n\n// TODO: Temporary duplication of constant in @wordpress/block-editor. Can be\n// removed by moving PushChangesToGlobalStylesControl to\n// @wordpress/block-editor.\nconst STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE = {\n\t'border.color': 'borderColor',\n\t'color.background': 'backgroundColor',\n\t'color.text': 'textColor',\n\t'color.gradient': 'gradient',\n\t'typography.fontSize': 'fontSize',\n\t'typography.fontFamily': 'fontFamily',\n};\n\nconst SUPPORTED_STYLES = [ 'border', 'color', 'spacing', 'typography' ];\n\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nconst flatBorderProperties = [ 'borderColor', 'borderWidth', 'borderStyle' ];\nconst sides = [ 'top', 'right', 'bottom', 'left' ];\n\nfunction getBorderStyleChanges( border, presetColor, userStyle ) {\n\tif ( ! border && ! presetColor ) {\n\t\treturn [];\n\t}\n\n\tconst changes = [\n\t\t...getFallbackBorderStyleChange( 'top', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'right', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'bottom', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'left', border, userStyle ),\n\t];\n\n\t// Handle a flat border i.e. all sides the same, CSS shorthand.\n\tconst { color: customColor, style, width } = border || {};\n\tconst hasColorOrWidth = presetColor || customColor || width;\n\n\tif ( hasColorOrWidth && ! style ) {\n\t\t// Global Styles need individual side configurations to overcome\n\t\t// theme.json configurations which are per side as well.\n\t\tsides.forEach( ( side ) => {\n\t\t\t// Only add fallback border-style if global styles don't already\n\t\t\t// have something set.\n\t\t\tif ( ! userStyle?.[ side ]?.style ) {\n\t\t\t\tchanges.push( {\n\t\t\t\t\tpath: [ 'border', side, 'style' ],\n\t\t\t\t\tvalue: 'solid',\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn changes;\n}\n\nfunction getFallbackBorderStyleChange( side, border, globalBorderStyle ) {\n\tif ( ! border?.[ side ] || globalBorderStyle?.[ side ]?.style ) {\n\t\treturn [];\n\t}\n\n\tconst { color, style, width } = border[ side ];\n\tconst hasColorOrWidth = color || width;\n\n\tif ( ! hasColorOrWidth || style ) {\n\t\treturn [];\n\t}\n\n\treturn [ { path: [ 'border', side, 'style' ], value: 'solid' } ];\n}\n\nfunction useChangesToPush( name, attributes, userConfig ) {\n\tconst supports = useSupportedStyles( name );\n\tconst blockUserConfig = userConfig?.styles?.blocks?.[ name ];\n\n\treturn useMemo( () => {\n\t\tconst changes = supports.flatMap( ( key ) => {\n\t\t\tif ( ! STYLE_PROPERTY[ key ] ) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tconst { value: path } = STYLE_PROPERTY[ key ];\n\t\t\tconst presetAttributeKey = path.join( '.' );\n\t\t\tconst presetAttributeValue =\n\t\t\t\tattributes[\n\t\t\t\t\tSTYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE[ presetAttributeKey ]\n\t\t\t\t];\n\t\t\tconst value = presetAttributeValue\n\t\t\t\t? `var:preset|${ STYLE_PATH_TO_CSS_VAR_INFIX[ presetAttributeKey ] }|${ presetAttributeValue }`\n\t\t\t\t: getValueFromObjectPath( attributes.style, path );\n\n\t\t\t// Links only have a single support entry but have two element\n\t\t\t// style properties, color and hover color. The following check\n\t\t\t// will add the hover color to the changes if required.\n\t\t\tif ( key === 'linkColor' ) {\n\t\t\t\tconst linkChanges = value ? [ { path, value } ] : [];\n\t\t\t\tconst hoverPath = [\n\t\t\t\t\t'elements',\n\t\t\t\t\t'link',\n\t\t\t\t\t':hover',\n\t\t\t\t\t'color',\n\t\t\t\t\t'text',\n\t\t\t\t];\n\t\t\t\tconst hoverValue = getValueFromObjectPath(\n\t\t\t\t\tattributes.style,\n\t\t\t\t\thoverPath\n\t\t\t\t);\n\n\t\t\t\tif ( hoverValue ) {\n\t\t\t\t\tlinkChanges.push( { path: hoverPath, value: hoverValue } );\n\t\t\t\t}\n\n\t\t\t\treturn linkChanges;\n\t\t\t}\n\n\t\t\t// The shorthand border styles can't be mapped directly as global\n\t\t\t// styles requires longhand config.\n\t\t\tif ( flatBorderProperties.includes( key ) && value ) {\n\t\t\t\t// The shorthand config path is included to clear the block attribute.\n\t\t\t\tconst borderChanges = [ { path, value } ];\n\t\t\t\tsides.forEach( ( side ) => {\n\t\t\t\t\tconst currentPath = [ ...path ];\n\t\t\t\t\tcurrentPath.splice( -1, 0, side );\n\t\t\t\t\tborderChanges.push( { path: currentPath, value } );\n\t\t\t\t} );\n\t\t\t\treturn borderChanges;\n\t\t\t}\n\n\t\t\treturn value ? [ { path, value } ] : [];\n\t\t} );\n\n\t\t// To ensure display of a visible border, global styles require a\n\t\t// default border style if a border color or width is present.\n\t\tgetBorderStyleChanges(\n\t\t\tattributes.style?.border,\n\t\t\tattributes.borderColor,\n\t\t\tblockUserConfig?.border\n\t\t).forEach( ( change ) => changes.push( change ) );\n\n\t\treturn changes;\n\t}, [ supports, attributes, blockUserConfig ] );\n}\n\nfunction PushChangesToGlobalStylesControl( {\n\tname,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { user: userConfig, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\n\tconst changes = useChangesToPush( name, attributes, userConfig );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst pushChanges = useCallback( () => {\n\t\tif ( changes.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( changes.length > 0 ) {\n\t\t\tconst { style: blockStyles } = attributes;\n\n\t\t\tconst newBlockStyles = cloneDeep( blockStyles );\n\t\t\tconst newUserConfig = cloneDeep( userConfig );\n\n\t\t\tfor ( const { path, value } of changes ) {\n\t\t\t\tsetNestedValue( newBlockStyles, path, undefined );\n\t\t\t\tsetNestedValue(\n\t\t\t\t\tnewUserConfig,\n\t\t\t\t\t[ 'styles', 'blocks', name, ...path ],\n\t\t\t\t\tvalue\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst newBlockAttributes = {\n\t\t\t\tborderColor: undefined,\n\t\t\t\tbackgroundColor: undefined,\n\t\t\t\ttextColor: undefined,\n\t\t\t\tgradient: undefined,\n\t\t\t\tfontSize: undefined,\n\t\t\t\tfontFamily: undefined,\n\t\t\t\tstyle: cleanEmptyObject( newBlockStyles ),\n\t\t\t};\n\n\t\t\t// @wordpress/core-data doesn't support editing multiple entity types in\n\t\t\t// a single undo level. So for now, we disable @wordpress/core-data undo\n\t\t\t// tracking and implement our own Undo button in the snackbar\n\t\t\t// notification.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( newBlockAttributes );\n\t\t\tsetUserConfig( newUserConfig, { undoIgnore: true } );\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the block e.g. 'Heading'.\n\t\t\t\t\t__( '%s styles applied.' ),\n\t\t\t\t\tgetBlockType( name ).title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tsetAttributes( attributes );\n\t\t\t\t\t\t\t\tsetUserConfig( userConfig, {\n\t\t\t\t\t\t\t\t\tundoIgnore: true,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tattributes,\n\t\tchanges,\n\t\tcreateSuccessNotice,\n\t\tname,\n\t\tsetAttributes,\n\t\tsetUserConfig,\n\t\tuserConfig,\n\t] );\n\n\treturn (\n\t\t<BaseControl\n\t\t\tclassName=\"edit-site-push-changes-to-global-styles-control\"\n\t\t\thelp={ sprintf(\n\t\t\t\t// translators: %s: Title of the block e.g. 'Heading'.\n\t\t\t\t__(\n\t\t\t\t\t'Apply this block’s typography, spacing, dimensions, and color styles to all %s blocks.'\n\t\t\t\t),\n\t\t\t\tgetBlockType( name ).title\n\t\t\t) }\n\t\t>\n\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t{ __( 'Styles' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\t__experimentalIsFocusable\n\t\t\t\tdisabled={ changes.length === 0 }\n\t\t\t\tonClick={ pushChanges }\n\t\t\t>\n\t\t\t\t{ __( 'Apply globally' ) }\n\t\t\t</Button>\n\t\t</BaseControl>\n\t);\n}\n\nfunction PushChangesToGlobalStyles( props ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isBlockBasedTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n\tconst supportsStyles = SUPPORTED_STYLES.some( ( feature ) =>\n\t\thasBlockSupport( props.name, feature )\n\t);\n\tconst isDisplayed =\n\t\tblockEditingMode === 'default' && supportsStyles && isBlockBasedTheme;\n\n\tif ( ! isDisplayed ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorAdvancedControls>\n\t\t\t<PushChangesToGlobalStylesControl { ...props } />\n\t\t</InspectorAdvancedControls>\n\t);\n}\n\nconst withPushChangesToGlobalStyles = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => (\n\t\t<>\n\t\t\t<BlockEdit { ...props } />\n\t\t\t{ props.isSelected && <PushChangesToGlobalStyles { ...props } /> }\n\t\t</>\n\t)\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/edit-site/push-changes-to-global-styles',\n\twithPushChangesToGlobalStyles\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,0BAA0B,QAAQ,oBAAoB;AAC/D,SACCC,yBAAyB,EACzBC,KAAK,IAAIC,gBAAgB,EACzBC,WAAW,IAAIC,sBAAsB,EACrCC,mBAAmB,QACb,yBAAyB;AAChC,SAASC,WAAW,EAAEC,MAAM,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SACCC,6BAA6B,EAC7BC,YAAY,EACZC,eAAe,QACT,mBAAmB;AAC1B,SAASC,UAAU,EAAEC,OAAO,EAAEC,WAAW,QAAQ,oBAAoB;AACrE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAAShB,KAAK,IAAIiB,YAAY,QAAQ,oBAAoB;AAC1D,SAASjB,KAAK,IAAIkB,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASC,kBAAkB,QAAQ,sCAAsC;AACzE,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,SAAS,MAAM,wBAAwB;AAC9C,OAAOC,cAAc,MAAM,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAE1D,MAAM;EAAEC,gBAAgB;EAAEC;AAAoB,CAAC,GAAGV,MAAM,CACvDjB,sBACD,CAAC;;AAED;AACA;AACA;AACA,MAAM4B,cAAc,GAAG;EACtB,GAAGtB,6BAA6B;EAChCuB,QAAQ,EAAE;IAAEC,KAAK,EAAE,CAAE,SAAS,EAAE,UAAU;EAAG;AAC9C,CAAC;;AAED;AACA;AACA;AACA,MAAMC,2BAA2B,GAAG;EACnC,cAAc,EAAE,OAAO;EACvB,kBAAkB,EAAE,OAAO;EAC3B,YAAY,EAAE,OAAO;EACrB,0BAA0B,EAAE,OAAO;EACnC,iCAAiC,EAAE,OAAO;EAC1C,qCAAqC,EAAE,aAAa;EACpD,mCAAmC,EAAE,WAAW;EAChD,4BAA4B,EAAE,OAAO;EACrC,kCAAkC,EAAE,OAAO;EAC3C,uCAAuC,EAAE,aAAa;EACtD,qCAAqC,EAAE,WAAW;EAClD,6BAA6B,EAAE,OAAO;EACtC,wBAAwB,EAAE,OAAO;EACjC,mCAAmC,EAAE,OAAO;EAC5C,wCAAwC,EAAE,aAAa;EACvD,2BAA2B,EAAE,UAAU;EACvC,iCAAiC,EAAE,UAAU;EAC7C,mBAAmB,EAAE,OAAO;EAC5B,8BAA8B,EAAE,OAAO;EACvC,mCAAmC,EAAE,aAAa;EAClD,4BAA4B,EAAE,UAAU;EACxC,mBAAmB,EAAE,OAAO;EAC5B,8BAA8B,EAAE,OAAO;EACvC,mCAAmC,EAAE,aAAa;EAClD,4BAA4B,EAAE,UAAU;EACxC,mBAAmB,EAAE,OAAO;EAC5B,8BAA8B,EAAE,OAAO;EACvC,mCAAmC,EAAE,aAAa;EAClD,4BAA4B,EAAE,UAAU;EACxC,mBAAmB,EAAE,OAAO;EAC5B,8BAA8B,EAAE,OAAO;EACvC,mCAAmC,EAAE,aAAa;EAClD,4BAA4B,EAAE,UAAU;EACxC,mBAAmB,EAAE,OAAO;EAC5B,8BAA8B,EAAE,OAAO;EACvC,mCAAmC,EAAE,aAAa;EAClD,4BAA4B,EAAE,UAAU;EACxC,mBAAmB,EAAE,OAAO;EAC5B,8BAA8B,EAAE,OAAO;EACvC,mCAAmC,EAAE,aAAa;EAClD,4BAA4B,EAAE,UAAU;EACxC,gBAAgB,EAAE,UAAU;EAC5BF,QAAQ,EAAE,SAAS;EACnB,qBAAqB,EAAE,WAAW;EAClC,uBAAuB,EAAE;AAC1B,CAAC;;AAED;AACA;AACA;AACA,MAAMG,oCAAoC,GAAG;EAC5C,cAAc,EAAE,aAAa;EAC7B,kBAAkB,EAAE,iBAAiB;EACrC,YAAY,EAAE,WAAW;EACzB,gBAAgB,EAAE,UAAU;EAC5B,qBAAqB,EAAE,UAAU;EACjC,uBAAuB,EAAE;AAC1B,CAAC;AAED,MAAMC,gBAAgB,GAAG,CAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAE;AAEvE,MAAMC,sBAAsB,GAAGA,CAAEC,MAAM,EAAEC,IAAI,KAAM;EAClD,IAAIN,KAAK,GAAGK,MAAM;EAClBC,IAAI,CAACC,OAAO,CAAIC,SAAS,IAAM;IAC9BR,KAAK,GAAGA,KAAK,GAAIQ,SAAS,CAAE;EAC7B,CAAE,CAAC;EACH,OAAOR,KAAK;AACb,CAAC;AAED,MAAMS,oBAAoB,GAAG,CAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAE;AAC5E,MAAMC,KAAK,GAAG,CAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAE;AAElD,SAASC,qBAAqBA,CAAEC,MAAM,EAAEC,WAAW,EAAEC,SAAS,EAAG;EAChE,IAAK,CAAEF,MAAM,IAAI,CAAEC,WAAW,EAAG;IAChC,OAAO,EAAE;EACV;EAEA,MAAME,OAAO,GAAG,CACf,GAAGC,4BAA4B,CAAE,KAAK,EAAEJ,MAAM,EAAEE,SAAU,CAAC,EAC3D,GAAGE,4BAA4B,CAAE,OAAO,EAAEJ,MAAM,EAAEE,SAAU,CAAC,EAC7D,GAAGE,4BAA4B,CAAE,QAAQ,EAAEJ,MAAM,EAAEE,SAAU,CAAC,EAC9D,GAAGE,4BAA4B,CAAE,MAAM,EAAEJ,MAAM,EAAEE,SAAU,CAAC,CAC5D;;EAED;EACA,MAAM;IAAEG,KAAK,EAAEC,WAAW;IAAEC,KAAK;IAAEC;EAAM,CAAC,GAAGR,MAAM,IAAI,CAAC,CAAC;EACzD,MAAMS,eAAe,GAAGR,WAAW,IAAIK,WAAW,IAAIE,KAAK;EAE3D,IAAKC,eAAe,IAAI,CAAEF,KAAK,EAAG;IACjC;IACA;IACAT,KAAK,CAACH,OAAO,CAAIe,IAAI,IAAM;MAC1B;MACA;MACA,IAAK,CAAER,SAAS,GAAIQ,IAAI,CAAE,EAAEH,KAAK,EAAG;QACnCJ,OAAO,CAACQ,IAAI,CAAE;UACbjB,IAAI,EAAE,CAAE,QAAQ,EAAEgB,IAAI,EAAE,OAAO,CAAE;UACjCtB,KAAK,EAAE;QACR,CAAE,CAAC;MACJ;IACD,CAAE,CAAC;EACJ;EAEA,OAAOe,OAAO;AACf;AAEA,SAASC,4BAA4BA,CAAEM,IAAI,EAAEV,MAAM,EAAEY,iBAAiB,EAAG;EACxE,IAAK,CAAEZ,MAAM,GAAIU,IAAI,CAAE,IAAIE,iBAAiB,GAAIF,IAAI,CAAE,EAAEH,KAAK,EAAG;IAC/D,OAAO,EAAE;EACV;EAEA,MAAM;IAAEF,KAAK;IAAEE,KAAK;IAAEC;EAAM,CAAC,GAAGR,MAAM,CAAEU,IAAI,CAAE;EAC9C,MAAMD,eAAe,GAAGJ,KAAK,IAAIG,KAAK;EAEtC,IAAK,CAAEC,eAAe,IAAIF,KAAK,EAAG;IACjC,OAAO,EAAE;EACV;EAEA,OAAO,CAAE;IAAEb,IAAI,EAAE,CAAE,QAAQ,EAAEgB,IAAI,EAAE,OAAO,CAAE;IAAEtB,KAAK,EAAE;EAAQ,CAAC,CAAE;AACjE;AAEA,SAASyB,gBAAgBA,CAAEC,IAAI,EAAEC,UAAU,EAAEC,UAAU,EAAG;EACzD,MAAMC,QAAQ,GAAG3C,kBAAkB,CAAEwC,IAAK,CAAC;EAC3C,MAAMI,eAAe,GAAGF,UAAU,EAAEG,MAAM,EAAEC,MAAM,GAAIN,IAAI,CAAE;EAE5D,OAAO9C,OAAO,CAAE,MAAM;IACrB,MAAMmC,OAAO,GAAGc,QAAQ,CAACI,OAAO,CAAIC,GAAG,IAAM;MAC5C,IAAK,CAAEpC,cAAc,CAAEoC,GAAG,CAAE,EAAG;QAC9B,OAAO,EAAE;MACV;MACA,MAAM;QAAElC,KAAK,EAAEM;MAAK,CAAC,GAAGR,cAAc,CAAEoC,GAAG,CAAE;MAC7C,MAAMC,kBAAkB,GAAG7B,IAAI,CAAC8B,IAAI,CAAE,GAAI,CAAC;MAC3C,MAAMC,oBAAoB,GACzBV,UAAU,CACTzB,oCAAoC,CAAEiC,kBAAkB,CAAE,CAC1D;MACF,MAAMnC,KAAK,GAAGqC,oBAAoB,GAC9B,cAAcpC,2BAA2B,CAAEkC,kBAAkB,CAAI,IAAIE,oBAAsB,EAAC,GAC7FjC,sBAAsB,CAAEuB,UAAU,CAACR,KAAK,EAAEb,IAAK,CAAC;;MAEnD;MACA;MACA;MACA,IAAK4B,GAAG,KAAK,WAAW,EAAG;QAC1B,MAAMI,WAAW,GAAGtC,KAAK,GAAG,CAAE;UAAEM,IAAI;UAAEN;QAAM,CAAC,CAAE,GAAG,EAAE;QACpD,MAAMuC,SAAS,GAAG,CACjB,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,CACN;QACD,MAAMC,UAAU,GAAGpC,sBAAsB,CACxCuB,UAAU,CAACR,KAAK,EAChBoB,SACD,CAAC;QAED,IAAKC,UAAU,EAAG;UACjBF,WAAW,CAACf,IAAI,CAAE;YAAEjB,IAAI,EAAEiC,SAAS;YAAEvC,KAAK,EAAEwC;UAAW,CAAE,CAAC;QAC3D;QAEA,OAAOF,WAAW;MACnB;;MAEA;MACA;MACA,IAAK7B,oBAAoB,CAACgC,QAAQ,CAAEP,GAAI,CAAC,IAAIlC,KAAK,EAAG;QACpD;QACA,MAAM0C,aAAa,GAAG,CAAE;UAAEpC,IAAI;UAAEN;QAAM,CAAC,CAAE;QACzCU,KAAK,CAACH,OAAO,CAAIe,IAAI,IAAM;UAC1B,MAAMqB,WAAW,GAAG,CAAE,GAAGrC,IAAI,CAAE;UAC/BqC,WAAW,CAACC,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC,EAAEtB,IAAK,CAAC;UACjCoB,aAAa,CAACnB,IAAI,CAAE;YAAEjB,IAAI,EAAEqC,WAAW;YAAE3C;UAAM,CAAE,CAAC;QACnD,CAAE,CAAC;QACH,OAAO0C,aAAa;MACrB;MAEA,OAAO1C,KAAK,GAAG,CAAE;QAAEM,IAAI;QAAEN;MAAM,CAAC,CAAE,GAAG,EAAE;IACxC,CAAE,CAAC;;IAEH;IACA;IACAW,qBAAqB,CACpBgB,UAAU,CAACR,KAAK,EAAEP,MAAM,EACxBe,UAAU,CAACkB,WAAW,EACtBf,eAAe,EAAElB,MAClB,CAAC,CAACL,OAAO,CAAIuC,MAAM,IAAM/B,OAAO,CAACQ,IAAI,CAAEuB,MAAO,CAAE,CAAC;IAEjD,OAAO/B,OAAO;EACf,CAAC,EAAE,CAAEc,QAAQ,EAAEF,UAAU,EAAEG,eAAe,CAAG,CAAC;AAC/C;AAEA,SAASiB,gCAAgCA,CAAE;EAC1CrB,IAAI;EACJC,UAAU;EACVqB;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,IAAI,EAAErB,UAAU;IAAEsB;EAAc,CAAC,GACxCvE,UAAU,CAAEkB,mBAAoB,CAAC;EAElC,MAAMkB,OAAO,GAAGU,gBAAgB,CAAEC,IAAI,EAAEC,UAAU,EAAEC,UAAW,CAAC;EAEhE,MAAM;IAAEuB;EAAwC,CAAC,GAChDrE,WAAW,CAAEd,gBAAiB,CAAC;EAChC,MAAM;IAAEoF;EAAoB,CAAC,GAAGtE,WAAW,CAAEE,YAAa,CAAC;EAE3D,MAAMqE,WAAW,GAAGxE,WAAW,CAAE,MAAM;IACtC,IAAKkC,OAAO,CAACuC,MAAM,KAAK,CAAC,EAAG;MAC3B;IACD;IAEA,IAAKvC,OAAO,CAACuC,MAAM,GAAG,CAAC,EAAG;MACzB,MAAM;QAAEnC,KAAK,EAAEoC;MAAY,CAAC,GAAG5B,UAAU;MAEzC,MAAM6B,cAAc,GAAGpE,SAAS,CAAEmE,WAAY,CAAC;MAC/C,MAAME,aAAa,GAAGrE,SAAS,CAAEwC,UAAW,CAAC;MAE7C,KAAM,MAAM;QAAEtB,IAAI;QAAEN;MAAM,CAAC,IAAIe,OAAO,EAAG;QACxC1B,cAAc,CAAEmE,cAAc,EAAElD,IAAI,EAAEoD,SAAU,CAAC;QACjDrE,cAAc,CACboE,aAAa,EACb,CAAE,QAAQ,EAAE,QAAQ,EAAE/B,IAAI,EAAE,GAAGpB,IAAI,CAAE,EACrCN,KACD,CAAC;MACF;MAEA,MAAM2D,kBAAkB,GAAG;QAC1Bd,WAAW,EAAEa,SAAS;QACtBE,eAAe,EAAEF,SAAS;QAC1BG,SAAS,EAAEH,SAAS;QACpBI,QAAQ,EAAEJ,SAAS;QACnBK,QAAQ,EAAEL,SAAS;QACnBM,UAAU,EAAEN,SAAS;QACrBvC,KAAK,EAAEvB,gBAAgB,CAAE4D,cAAe;MACzC,CAAC;;MAED;MACA;MACA;MACA;MACAL,uCAAuC,CAAC,CAAC;MACzCH,aAAa,CAAEW,kBAAmB,CAAC;MACnCT,aAAa,CAAEO,aAAa,EAAE;QAAEQ,UAAU,EAAE;MAAK,CAAE,CAAC;MACpDb,mBAAmB,CAClB7E,OAAO;MACN;MACAD,EAAE,CAAE,oBAAqB,CAAC,EAC1BG,YAAY,CAAEiD,IAAK,CAAC,CAACwC,KACtB,CAAC,EACD;QACCC,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE/F,EAAE,CAAE,MAAO,CAAC;UACnBgG,OAAOA,CAAA,EAAG;YACTnB,uCAAuC,CAAC,CAAC;YACzCH,aAAa,CAAErB,UAAW,CAAC;YAC3BuB,aAAa,CAAEtB,UAAU,EAAE;cAC1BqC,UAAU,EAAE;YACb,CAAE,CAAC;UACJ;QACD,CAAC;MAEH,CACD,CAAC;IACF;EACD,CAAC,EAAE,CACFd,uCAAuC,EACvCxB,UAAU,EACVZ,OAAO,EACPqC,mBAAmB,EACnB1B,IAAI,EACJsB,aAAa,EACbE,aAAa,EACbtB,UAAU,CACT,CAAC;EAEH,oBACCnC,KAAA,CAACrB,WAAW;IACXmG,SAAS,EAAC,iDAAiD;IAC3DC,IAAI,EAAGjG,OAAO;IACb;IACAD,EAAE,CACD,wFACD,CAAC,EACDG,YAAY,CAAEiD,IAAK,CAAC,CAACwC,KACtB,CAAG;IAAAO,QAAA,gBAEHlF,IAAA,CAACnB,WAAW,CAACsG,WAAW;MAAAD,QAAA,EACrBnG,EAAE,CAAE,QAAS;IAAC,CACQ,CAAC,eAC1BiB,IAAA,CAAClB,MAAM;MACNsG,qBAAqB;MACrBC,OAAO,EAAC,WAAW;MACnBC,yBAAyB;MACzBC,QAAQ,EAAG/D,OAAO,CAACuC,MAAM,KAAK,CAAG;MACjCgB,OAAO,EAAGjB,WAAa;MAAAoB,QAAA,EAErBnG,EAAE,CAAE,gBAAiB;IAAC,CACjB,CAAC;EAAA,CACG,CAAC;AAEhB;AAEA,SAASyG,yBAAyBA,CAAEC,KAAK,EAAG;EAC3C,MAAMC,gBAAgB,GAAG9G,mBAAmB,CAAC,CAAC;EAC9C,MAAM+G,iBAAiB,GAAGnG,SAAS,CAChCoG,MAAM,IAAMA,MAAM,CAAElG,SAAU,CAAC,CAACmG,eAAe,CAAC,CAAC,EAAEC,cAAc,EACnE,EACD,CAAC;EACD,MAAMC,cAAc,GAAGnF,gBAAgB,CAACoF,IAAI,CAAIC,OAAO,IACtD9G,eAAe,CAAEsG,KAAK,CAACtD,IAAI,EAAE8D,OAAQ,CACtC,CAAC;EACD,MAAMC,WAAW,GAChBR,gBAAgB,KAAK,SAAS,IAAIK,cAAc,IAAIJ,iBAAiB;EAEtE,IAAK,CAAEO,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,oBACClG,IAAA,CAACzB,yBAAyB;IAAA2G,QAAA,eACzBlF,IAAA,CAACwD,gCAAgC;MAAA,GAAMiC;IAAK,CAAI;EAAC,CACvB,CAAC;AAE9B;AAEA,MAAMU,6BAA6B,GAAG7H,0BAA0B,CAC7D8H,SAAS,IAAQX,KAAK,iBACvBvF,KAAA,CAAAE,SAAA;EAAA8E,QAAA,gBACClF,IAAA,CAACoG,SAAS;IAAA,GAAMX;EAAK,CAAI,CAAC,EACxBA,KAAK,CAACY,UAAU,iBAAIrG,IAAA,CAACwF,yBAAyB;IAAA,GAAMC;EAAK,CAAI,CAAC;AAAA,CAC/D,CAEJ,CAAC;AAEDpH,SAAS,CACR,kBAAkB,EAClB,8CAA8C,EAC9C8H,6BACD,CAAC","ignoreList":[]}
@@ -45,17 +45,15 @@ export function removePropertyFromObject(object, property) {
45
45
  }
46
46
 
47
47
  /**
48
- * A convenience wrapper for `useThemeStyleVariationsByProperty()` that fetches the current theme style variations,
49
- * and user-defined global style/settings object.
48
+ * Fetches the current theme style variations that contain only the specified property
49
+ * and merges them with the user config.
50
50
  *
51
- * @param {Object} props Object of hook args.
52
- * @param {string} props.property The property to filter by.
53
- * @param {Function} props.filter Optional. The filter function to apply to the variations.
51
+ * @param {Object} props Object of hook args.
52
+ * @param {string} props.property The property to filter by.
54
53
  * @return {Object[]|*} The merged object.
55
54
  */
56
55
  export function useCurrentMergeThemeStyleVariationsWithUserConfig({
57
- property,
58
- filter
56
+ property
59
57
  }) {
60
58
  const {
61
59
  variationsFromTheme
@@ -66,21 +64,21 @@ export function useCurrentMergeThemeStyleVariationsWithUserConfig({
66
64
  };
67
65
  }, []);
68
66
  const {
69
- user: baseVariation
67
+ user: userVariation
70
68
  } = useContext(GlobalStylesContext);
71
- const variations = useMemo(() => {
72
- return [{
73
- title: __('Default'),
74
- settings: {},
75
- styles: {}
76
- }, ...variationsFromTheme];
77
- }, [variationsFromTheme]);
78
- return useThemeStyleVariationsByProperty({
79
- variations,
80
- property,
81
- filter,
82
- baseVariation: removePropertyFromObject(cloneDeep(baseVariation), property)
83
- });
69
+ return useMemo(() => {
70
+ const clonedUserVariation = cloneDeep(userVariation);
71
+
72
+ // Get user variation and remove the settings for the given property.
73
+ const userVariationWithoutProperty = removePropertyFromObject(clonedUserVariation, property);
74
+ userVariationWithoutProperty.title = __('Default');
75
+ const variationsWithSinglePropertyAndBase = variationsFromTheme.filter(variation => {
76
+ return isVariationWithSingleProperty(variation, property);
77
+ }).map(variation => {
78
+ return mergeBaseAndUserConfigs(userVariationWithoutProperty, variation);
79
+ });
80
+ return [userVariationWithoutProperty, ...variationsWithSinglePropertyAndBase];
81
+ }, [property, userVariation, variationsFromTheme]);
84
82
  }
85
83
 
86
84
  /**
@@ -111,71 +109,6 @@ export const filterObjectByProperty = (object, property) => {
111
109
  return newObject;
112
110
  };
113
111
 
114
- /**
115
- * Returns a new object with only the properties specified in `property`.
116
- * Optional merges the baseVariation object with the variation object.
117
- * Note: this function will only overwrite the specified property in baseVariation if it exists.
118
- * The baseVariation will not be otherwise modified. To strip a property from the baseVariation object, use `removePropertyFromObject`.
119
- * See useCurrentMergeThemeStyleVariationsWithUserConfig for an example of how to use this function.
120
- *
121
- * @param {Object} props Object of hook args.
122
- * @param {Object[]} props.variations The theme style variations to filter.
123
- * @param {string} props.property The property to filter by.
124
- * @param {Function} props.filter Optional. The filter function to apply to the variations.
125
- * @param {Object} props.baseVariation Optional. Base or user settings to be updated with variation properties.
126
- * @return {Object[]|*} The merged object.
127
- */
128
- export default function useThemeStyleVariationsByProperty({
129
- variations,
130
- property,
131
- filter,
132
- baseVariation
133
- }) {
134
- return useMemo(() => {
135
- if (!property || !variations || variations?.length === 0) {
136
- return variations;
137
- }
138
- const clonedBaseVariation = typeof baseVariation === 'object' && Object.keys(baseVariation).length > 0 ? cloneDeep(baseVariation) : null;
139
- let processedStyleVariations = variations.reduce((accumulator, variation) => {
140
- const variationFilteredByProperty = filterObjectByProperty(cloneDeep(variation), property);
141
-
142
- // Remove variations that are empty once the property is filtered out.
143
- if (variation.title !== __('Default') && Object.keys(variationFilteredByProperty).length === 0) {
144
- return accumulator;
145
- }
146
- let result = {
147
- ...variationFilteredByProperty,
148
- title: variation?.title,
149
- description: variation?.description
150
- };
151
- if (clonedBaseVariation) {
152
- /*
153
- * Overwrites all baseVariation object `styleProperty` properties
154
- * with the theme variation `styleProperty` properties.
155
- */
156
- result = mergeBaseAndUserConfigs(clonedBaseVariation, result);
157
- }
158
-
159
- // Detect if this is a duplicate variation.
160
- const isDuplicate = accumulator.some(item => {
161
- return JSON.stringify(item.styles) === JSON.stringify(result?.styles) && JSON.stringify(item.settings) === JSON.stringify(result?.settings);
162
- });
163
- if (isDuplicate) {
164
- return accumulator;
165
- }
166
-
167
- // If the variation is not a duplicate, add it to the accumulator.
168
- accumulator.push(result);
169
- return accumulator;
170
- }, [] // Initial accumulator value.
171
- );
172
- if ('function' === typeof filter) {
173
- processedStyleVariations = processedStyleVariations.filter(filter);
174
- }
175
- return processedStyleVariations;
176
- }, [variations, property, baseVariation, filter]);
177
- }
178
-
179
112
  /**
180
113
  * Compares a style variation to the same variation filtered by a single property.
181
114
  * Returns true if the variation contains only the property specified.