@wordpress/edit-site 5.1.0 → 5.2.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 (180) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/build/components/add-new-template/new-template-part.js +21 -1
  4. package/build/components/add-new-template/new-template-part.js.map +1 -1
  5. package/build/components/add-new-template/utils.js +9 -1
  6. package/build/components/add-new-template/utils.js.map +1 -1
  7. package/build/components/block-editor/editor-canvas.js +0 -1
  8. package/build/components/block-editor/editor-canvas.js.map +1 -1
  9. package/build/components/block-editor/index.js +15 -51
  10. package/build/components/block-editor/index.js.map +1 -1
  11. package/build/components/block-editor/resize-handle.js +2 -1
  12. package/build/components/block-editor/resize-handle.js.map +1 -1
  13. package/build/components/editor/index.js +1 -1
  14. package/build/components/editor/index.js.map +1 -1
  15. package/build/components/global-styles/block-preview-panel.js +8 -2
  16. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  17. package/build/components/global-styles/border-panel.js +5 -4
  18. package/build/components/global-styles/border-panel.js.map +1 -1
  19. package/build/components/global-styles/context-menu.js +9 -1
  20. package/build/components/global-styles/context-menu.js.map +1 -1
  21. package/build/components/global-styles/dimensions-panel.js +16 -11
  22. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  23. package/build/components/global-styles/screen-background-color.js +6 -5
  24. package/build/components/global-styles/screen-background-color.js.map +1 -1
  25. package/build/components/global-styles/screen-block-list.js +4 -1
  26. package/build/components/global-styles/screen-block-list.js.map +1 -1
  27. package/build/components/global-styles/screen-border.js +9 -3
  28. package/build/components/global-styles/screen-border.js.map +1 -1
  29. package/build/components/global-styles/screen-button-color.js +3 -2
  30. package/build/components/global-styles/screen-button-color.js.map +1 -1
  31. package/build/components/global-styles/screen-colors.js +50 -26
  32. package/build/components/global-styles/screen-colors.js.map +1 -1
  33. package/build/components/global-styles/screen-heading-color.js +8 -7
  34. package/build/components/global-styles/screen-heading-color.js.map +1 -1
  35. package/build/components/global-styles/screen-layout.js +9 -3
  36. package/build/components/global-styles/screen-layout.js.map +1 -1
  37. package/build/components/global-styles/screen-link-color.js +8 -7
  38. package/build/components/global-styles/screen-link-color.js.map +1 -1
  39. package/build/components/global-styles/screen-text-color.js +4 -3
  40. package/build/components/global-styles/screen-text-color.js.map +1 -1
  41. package/build/components/global-styles/screen-typography.js +8 -2
  42. package/build/components/global-styles/screen-typography.js.map +1 -1
  43. package/build/components/global-styles/screen-variations.js +71 -0
  44. package/build/components/global-styles/screen-variations.js.map +1 -0
  45. package/build/components/global-styles/typography-panel.js +9 -8
  46. package/build/components/global-styles/typography-panel.js.map +1 -1
  47. package/build/components/global-styles/ui.js +85 -18
  48. package/build/components/global-styles/ui.js.map +1 -1
  49. package/build/components/global-styles/use-global-styles-output.js +119 -33
  50. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  51. package/build/components/global-styles/utils.js +49 -2
  52. package/build/components/global-styles/utils.js.map +1 -1
  53. package/build/components/global-styles/variations-panel.js +85 -0
  54. package/build/components/global-styles/variations-panel.js.map +1 -0
  55. package/build/components/layout/index.js +81 -8
  56. package/build/components/layout/index.js.map +1 -1
  57. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js +2 -0
  58. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js.map +1 -1
  59. package/build/components/site-hub/index.js +9 -9
  60. package/build/components/site-hub/index.js.map +1 -1
  61. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +54 -0
  62. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -0
  63. package/build/components/template-details/edit-template-title.js +1 -0
  64. package/build/components/template-details/edit-template-title.js.map +1 -1
  65. package/build/components/template-details/template-part-area-selector.js +1 -0
  66. package/build/components/template-details/template-part-area-selector.js.map +1 -1
  67. package/build/hooks/push-changes-to-global-styles/index.js +3 -3
  68. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  69. package/build/store/reducer.js +1 -1
  70. package/build/store/reducer.js.map +1 -1
  71. package/build-module/components/add-new-template/new-template-part.js +20 -1
  72. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  73. package/build-module/components/add-new-template/utils.js +5 -0
  74. package/build-module/components/add-new-template/utils.js.map +1 -1
  75. package/build-module/components/block-editor/editor-canvas.js +0 -1
  76. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  77. package/build-module/components/block-editor/index.js +17 -49
  78. package/build-module/components/block-editor/index.js.map +1 -1
  79. package/build-module/components/block-editor/resize-handle.js +2 -1
  80. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  81. package/build-module/components/editor/index.js +1 -1
  82. package/build-module/components/editor/index.js.map +1 -1
  83. package/build-module/components/global-styles/block-preview-panel.js +8 -2
  84. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  85. package/build-module/components/global-styles/border-panel.js +5 -4
  86. package/build-module/components/global-styles/border-panel.js.map +1 -1
  87. package/build-module/components/global-styles/context-menu.js +7 -1
  88. package/build-module/components/global-styles/context-menu.js.map +1 -1
  89. package/build-module/components/global-styles/dimensions-panel.js +16 -11
  90. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  91. package/build-module/components/global-styles/screen-background-color.js +6 -5
  92. package/build-module/components/global-styles/screen-background-color.js.map +1 -1
  93. package/build-module/components/global-styles/screen-block-list.js +3 -1
  94. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  95. package/build-module/components/global-styles/screen-border.js +8 -3
  96. package/build-module/components/global-styles/screen-border.js.map +1 -1
  97. package/build-module/components/global-styles/screen-button-color.js +3 -2
  98. package/build-module/components/global-styles/screen-button-color.js.map +1 -1
  99. package/build-module/components/global-styles/screen-colors.js +49 -26
  100. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  101. package/build-module/components/global-styles/screen-heading-color.js +8 -7
  102. package/build-module/components/global-styles/screen-heading-color.js.map +1 -1
  103. package/build-module/components/global-styles/screen-layout.js +8 -3
  104. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  105. package/build-module/components/global-styles/screen-link-color.js +8 -7
  106. package/build-module/components/global-styles/screen-link-color.js.map +1 -1
  107. package/build-module/components/global-styles/screen-text-color.js +4 -3
  108. package/build-module/components/global-styles/screen-text-color.js.map +1 -1
  109. package/build-module/components/global-styles/screen-typography.js +7 -2
  110. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  111. package/build-module/components/global-styles/screen-variations.js +54 -0
  112. package/build-module/components/global-styles/screen-variations.js.map +1 -0
  113. package/build-module/components/global-styles/typography-panel.js +9 -8
  114. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  115. package/build-module/components/global-styles/ui.js +84 -19
  116. package/build-module/components/global-styles/ui.js.map +1 -1
  117. package/build-module/components/global-styles/use-global-styles-output.js +121 -35
  118. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  119. package/build-module/components/global-styles/utils.js +47 -2
  120. package/build-module/components/global-styles/utils.js.map +1 -1
  121. package/build-module/components/global-styles/variations-panel.js +68 -0
  122. package/build-module/components/global-styles/variations-panel.js.map +1 -0
  123. package/build-module/components/layout/index.js +81 -10
  124. package/build-module/components/layout/index.js.map +1 -1
  125. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js +2 -0
  126. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js.map +1 -1
  127. package/build-module/components/site-hub/index.js +10 -9
  128. package/build-module/components/site-hub/index.js.map +1 -1
  129. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +43 -0
  130. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -0
  131. package/build-module/components/template-details/edit-template-title.js +1 -0
  132. package/build-module/components/template-details/edit-template-title.js.map +1 -1
  133. package/build-module/components/template-details/template-part-area-selector.js +1 -0
  134. package/build-module/components/template-details/template-part-area-selector.js.map +1 -1
  135. package/build-module/hooks/push-changes-to-global-styles/index.js +3 -3
  136. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  137. package/build-module/store/reducer.js +1 -1
  138. package/build-module/store/reducer.js.map +1 -1
  139. package/build-style/style-rtl.css +93 -21
  140. package/build-style/style.css +93 -21
  141. package/package.json +30 -30
  142. package/src/components/add-new-template/new-template-part.js +23 -1
  143. package/src/components/add-new-template/utils.js +14 -0
  144. package/src/components/block-editor/editor-canvas.js +0 -1
  145. package/src/components/block-editor/index.js +11 -54
  146. package/src/components/block-editor/resize-handle.js +6 -2
  147. package/src/components/block-editor/style.scss +43 -7
  148. package/src/components/editor/index.js +1 -1
  149. package/src/components/global-styles/block-preview-panel.js +14 -2
  150. package/src/components/global-styles/border-panel.js +8 -4
  151. package/src/components/global-styles/context-menu.js +6 -0
  152. package/src/components/global-styles/dimensions-panel.js +32 -15
  153. package/src/components/global-styles/screen-background-color.js +12 -5
  154. package/src/components/global-styles/screen-block-list.js +6 -1
  155. package/src/components/global-styles/screen-border.js +7 -4
  156. package/src/components/global-styles/screen-button-color.js +2 -2
  157. package/src/components/global-styles/screen-colors.js +82 -21
  158. package/src/components/global-styles/screen-heading-color.js +7 -7
  159. package/src/components/global-styles/screen-layout.js +10 -4
  160. package/src/components/global-styles/screen-link-color.js +19 -7
  161. package/src/components/global-styles/screen-text-color.js +7 -3
  162. package/src/components/global-styles/screen-typography.js +11 -4
  163. package/src/components/global-styles/screen-variations.js +47 -0
  164. package/src/components/global-styles/style.scss +9 -0
  165. package/src/components/global-styles/test/use-global-styles-output.js +1 -1
  166. package/src/components/global-styles/typography-panel.js +31 -8
  167. package/src/components/global-styles/ui.js +101 -13
  168. package/src/components/global-styles/use-global-styles-output.js +137 -14
  169. package/src/components/global-styles/utils.js +46 -2
  170. package/src/components/global-styles/variations-panel.js +78 -0
  171. package/src/components/layout/index.js +107 -19
  172. package/src/components/layout/style.scss +30 -5
  173. package/src/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js +2 -0
  174. package/src/components/sidebar-edit-mode/navigation-menu-sidebar/style.scss +4 -0
  175. package/src/components/site-hub/index.js +120 -109
  176. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +40 -0
  177. package/src/components/template-details/edit-template-title.js +1 -0
  178. package/src/components/template-details/template-part-area-selector.js +1 -0
  179. package/src/hooks/push-changes-to-global-styles/index.js +3 -3
  180. package/src/store/reducer.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/hooks/push-changes-to-global-styles/index.js"],"names":["get","set","addFilter","createHigherOrderComponent","InspectorAdvancedControls","store","blockEditorStore","BaseControl","Button","__","sprintf","__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","getBlockType","useContext","useMemo","useCallback","useDispatch","noticesStore","getSupportedGlobalStylesPanels","GlobalStylesContext","STYLE_PATH_TO_CSS_VAR_INFIX","STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE","getChangesToPush","name","attributes","flatMap","key","value","path","presetAttributeKey","join","presetAttributeValue","style","cloneDeep","object","JSON","parse","stringify","PushChangesToGlobalStylesControl","setAttributes","changes","user","userConfig","setUserConfig","__unstableMarkNextChangeAsNotPersistent","createSuccessNotice","pushChanges","length","blockStyles","newBlockStyles","newUserConfig","undefined","undoIgnore","title","type","actions","label","onClick","withPushChangesToGlobalStyles","BlockEdit","props"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, set } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport {\n\tInspectorAdvancedControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useContext, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { getSupportedGlobalStylesPanels } from '../../components/global-styles/hooks';\nimport { GlobalStylesContext } from '../../components/global-styles/context';\nimport {\n\tSTYLE_PATH_TO_CSS_VAR_INFIX,\n\tSTYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE,\n} from '../../components/global-styles/utils';\n\nfunction getChangesToPush( name, attributes ) {\n\treturn getSupportedGlobalStylesPanels( name ).flatMap( ( key ) => {\n\t\tif ( ! STYLE_PROPERTY[ key ] ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst { value: path } = STYLE_PROPERTY[ key ];\n\t\tconst presetAttributeKey = path.join( '.' );\n\t\tconst presetAttributeValue =\n\t\t\tattributes[\n\t\t\t\tSTYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE[ presetAttributeKey ]\n\t\t\t];\n\t\tconst value = presetAttributeValue\n\t\t\t? `var:preset|${ STYLE_PATH_TO_CSS_VAR_INFIX[ presetAttributeKey ] }|${ presetAttributeValue }`\n\t\t\t: get( attributes.style, path );\n\t\treturn value ? [ { path, value } ] : [];\n\t} );\n}\n\nfunction cloneDeep( object ) {\n\treturn ! object ? {} : JSON.parse( JSON.stringify( object ) );\n}\n\nfunction PushChangesToGlobalStylesControl( {\n\tname,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst changes = useMemo(\n\t\t() => getChangesToPush( name, attributes ),\n\t\t[ name, attributes ]\n\t);\n\n\tconst { user: userConfig, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\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\tconst { style: blockStyles } = attributes;\n\n\t\tconst newBlockStyles = cloneDeep( blockStyles );\n\t\tconst newUserConfig = cloneDeep( userConfig );\n\n\t\tfor ( const { path, value } of changes ) {\n\t\t\tset( newBlockStyles, path, undefined );\n\t\t\tset( newUserConfig, [ 'styles', 'blocks', name, ...path ], value );\n\t\t}\n\n\t\t// @wordpress/core-data doesn't support editing multiple entity types in\n\t\t// a single undo level. So for now, we disable @wordpress/core-data undo\n\t\t// tracking and implement our own Undo button in the snackbar\n\t\t// notification.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { style: newBlockStyles } );\n\t\tsetUserConfig( () => newUserConfig, { undoIgnore: true } );\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t// translators: %s: Title of the block e.g. 'Heading'.\n\t\t\t\t__( 'Pushed styles to all %s blocks.' ),\n\t\t\t\tgetBlockType( name ).title\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\tsetAttributes( { style: blockStyles } );\n\t\t\t\t\t\t\tsetUserConfig( () => userConfig, {\n\t\t\t\t\t\t\t\tundoIgnore: true,\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}, [ changes, attributes, userConfig, name ] );\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'Move 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\tvariant=\"primary\"\n\t\t\t\tdisabled={ changes.length === 0 }\n\t\t\t\tonClick={ pushChanges }\n\t\t\t>\n\t\t\t\t{ __( 'Push changes to Global Styles' ) }\n\t\t\t</Button>\n\t\t</BaseControl>\n\t);\n}\n\nconst withPushChangesToGlobalStyles = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) =>\n\t\t(\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t<InspectorAdvancedControls>\n\t\t\t\t\t<PushChangesToGlobalStylesControl { ...props } />\n\t\t\t\t</InspectorAdvancedControls>\n\t\t\t</>\n\t\t)\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/edit-site/push-changes-to-global-styles',\n\twithPushChangesToGlobalStyles\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/hooks/push-changes-to-global-styles/index.js"],"names":["get","set","addFilter","createHigherOrderComponent","InspectorAdvancedControls","store","blockEditorStore","BaseControl","Button","__","sprintf","__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","getBlockType","useContext","useMemo","useCallback","useDispatch","noticesStore","getSupportedGlobalStylesPanels","GlobalStylesContext","STYLE_PATH_TO_CSS_VAR_INFIX","STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE","getChangesToPush","name","attributes","flatMap","key","value","path","presetAttributeKey","join","presetAttributeValue","style","cloneDeep","object","JSON","parse","stringify","PushChangesToGlobalStylesControl","setAttributes","changes","user","userConfig","setUserConfig","__unstableMarkNextChangeAsNotPersistent","createSuccessNotice","pushChanges","length","blockStyles","newBlockStyles","newUserConfig","undefined","undoIgnore","title","type","actions","label","onClick","withPushChangesToGlobalStyles","BlockEdit","props"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, set } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport {\n\tInspectorAdvancedControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useContext, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { getSupportedGlobalStylesPanels } from '../../components/global-styles/hooks';\nimport { GlobalStylesContext } from '../../components/global-styles/context';\nimport {\n\tSTYLE_PATH_TO_CSS_VAR_INFIX,\n\tSTYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE,\n} from '../../components/global-styles/utils';\n\nfunction getChangesToPush( name, attributes ) {\n\treturn getSupportedGlobalStylesPanels( name ).flatMap( ( key ) => {\n\t\tif ( ! STYLE_PROPERTY[ key ] ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst { value: path } = STYLE_PROPERTY[ key ];\n\t\tconst presetAttributeKey = path.join( '.' );\n\t\tconst presetAttributeValue =\n\t\t\tattributes[\n\t\t\t\tSTYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE[ presetAttributeKey ]\n\t\t\t];\n\t\tconst value = presetAttributeValue\n\t\t\t? `var:preset|${ STYLE_PATH_TO_CSS_VAR_INFIX[ presetAttributeKey ] }|${ presetAttributeValue }`\n\t\t\t: get( attributes.style, path );\n\t\treturn value ? [ { path, value } ] : [];\n\t} );\n}\n\nfunction cloneDeep( object ) {\n\treturn ! object ? {} : JSON.parse( JSON.stringify( object ) );\n}\n\nfunction PushChangesToGlobalStylesControl( {\n\tname,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst changes = useMemo(\n\t\t() => getChangesToPush( name, attributes ),\n\t\t[ name, attributes ]\n\t);\n\n\tconst { user: userConfig, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\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\tconst { style: blockStyles } = attributes;\n\n\t\tconst newBlockStyles = cloneDeep( blockStyles );\n\t\tconst newUserConfig = cloneDeep( userConfig );\n\n\t\tfor ( const { path, value } of changes ) {\n\t\t\tset( newBlockStyles, path, undefined );\n\t\t\tset( newUserConfig, [ 'styles', 'blocks', name, ...path ], value );\n\t\t}\n\n\t\t// @wordpress/core-data doesn't support editing multiple entity types in\n\t\t// a single undo level. So for now, we disable @wordpress/core-data undo\n\t\t// tracking and implement our own Undo button in the snackbar\n\t\t// notification.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { style: newBlockStyles } );\n\t\tsetUserConfig( () => newUserConfig, { undoIgnore: true } );\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t// translators: %s: Title of the block e.g. 'Heading'.\n\t\t\t\t__( '%s styles applied.' ),\n\t\t\t\tgetBlockType( name ).title\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\tsetAttributes( { style: blockStyles } );\n\t\t\t\t\t\t\tsetUserConfig( () => userConfig, {\n\t\t\t\t\t\t\t\tundoIgnore: true,\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}, [ changes, attributes, userConfig, name ] );\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\tvariant=\"primary\"\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\nconst withPushChangesToGlobalStyles = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) =>\n\t\t(\n\t\t\t<>\n\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t<InspectorAdvancedControls>\n\t\t\t\t\t<PushChangesToGlobalStylesControl { ...props } />\n\t\t\t\t</InspectorAdvancedControls>\n\t\t\t</>\n\t\t)\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/edit-site/push-changes-to-global-styles',\n\twithPushChangesToGlobalStyles\n);\n"]}
@@ -157,7 +157,7 @@ export function saveViewPanel() {
157
157
  */
158
158
 
159
159
  function canvasMode() {
160
- let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'view';
160
+ let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'init';
161
161
  let action = arguments.length > 1 ? arguments[1] : undefined;
162
162
 
163
163
  switch (action.type) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/store/reducer.js"],"names":["combineReducers","deviceType","state","action","type","settings","editedPost","postType","id","context","blockInserterPanel","isOpen","value","listViewPanel","saveViewPanel","canvasMode","mode"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Reducer returning the editing canvas device type.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deviceType( state = 'Desktop', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_PREVIEW_DEVICE_TYPE':\n\t\t\treturn action.deviceType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the settings.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function settings( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the currently edited Post Type,\n * Post Id and the context provided to fill the content of the block editor.\n *\n * @param {Object} state Current edited post.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function editedPost( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_EDITED_POST':\n\t\t\treturn {\n\t\t\t\tpostType: action.postType,\n\t\t\t\tid: action.id,\n\t\t\t\tcontext: action.context,\n\t\t\t};\n\t\tcase 'SET_EDITED_POST_CONTEXT':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcontext: action.context,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the navigation and list view panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {boolean|Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn false;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the navigation and inserter panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn false;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the save view panel open or closed.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function saveViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_SAVE_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn false;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer used to track the site editor canvas mode (edit or view).\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nfunction canvasMode( state = 'view', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn action.mode;\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tdeviceType,\n\tsettings,\n\teditedPost,\n\tblockInserterPanel,\n\tlistViewPanel,\n\tsaveViewPanel,\n\tcanvasMode,\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/store/reducer.js"],"names":["combineReducers","deviceType","state","action","type","settings","editedPost","postType","id","context","blockInserterPanel","isOpen","value","listViewPanel","saveViewPanel","canvasMode","mode"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Reducer returning the editing canvas device type.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function deviceType( state = 'Desktop', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_PREVIEW_DEVICE_TYPE':\n\t\t\treturn action.deviceType;\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer returning the settings.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function settings( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'UPDATE_SETTINGS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.settings,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer keeping track of the currently edited Post Type,\n * Post Id and the context provided to fill the content of the block editor.\n *\n * @param {Object} state Current edited post.\n * @param {Object} action Dispatched action.\n *\n * @return {Object} Updated state.\n */\nexport function editedPost( state = {}, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_EDITED_POST':\n\t\t\treturn {\n\t\t\t\tpostType: action.postType,\n\t\t\t\tid: action.id,\n\t\t\t\tcontext: action.context,\n\t\t\t};\n\t\tcase 'SET_EDITED_POST_CONTEXT':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcontext: action.context,\n\t\t\t};\n\t}\n\n\treturn state;\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the navigation and list view panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {boolean|Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn false;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the navigation and inserter panels reducers\n * to make sure that only one of the three panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn false;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the save view panel open or closed.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function saveViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_SAVE_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn false;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer used to track the site editor canvas mode (edit or view).\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nfunction canvasMode( state = 'init', action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_CANVAS_MODE':\n\t\t\treturn action.mode;\n\t}\n\n\treturn state;\n}\n\nexport default combineReducers( {\n\tdeviceType,\n\tsettings,\n\teditedPost,\n\tblockInserterPanel,\n\tlistViewPanel,\n\tsaveViewPanel,\n\tcanvasMode,\n} );\n"]}
@@ -501,6 +501,9 @@ body.is-fullscreen-mode .interface-interface-skeleton {
501
501
  box-shadow: none;
502
502
  font-weight: 500;
503
503
  }
504
+ .interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active::after {
505
+ content: none;
506
+ }
504
507
  .interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled) {
505
508
  box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
506
509
  }
@@ -609,16 +612,49 @@ body.is-fullscreen-mode .interface-interface-skeleton {
609
612
  bottom: 0;
610
613
  padding: 0;
611
614
  margin: auto 0;
612
- width: 4px;
613
- height: 100px;
615
+ width: 12px;
614
616
  -webkit-appearance: none;
615
617
  appearance: none;
616
618
  cursor: ew-resize;
617
619
  outline: none;
618
- background: #949494;
620
+ background: none;
619
621
  border-radius: 2px;
620
622
  border: 0;
621
623
  }
624
+ .resizable-editor__drag-handle.is-variation-default {
625
+ height: 100px;
626
+ }
627
+ .resizable-editor__drag-handle.is-variation-separator {
628
+ height: 100%;
629
+ }
630
+ .resizable-editor__drag-handle.is-variation-separator::after {
631
+ width: 1px;
632
+ border-radius: 0;
633
+ background: #2f2f2f;
634
+ right: auto;
635
+ left: 50%;
636
+ transition: all ease 0.2s;
637
+ transition-delay: 0.1s;
638
+ }
639
+ @media (prefers-reduced-motion: reduce) {
640
+ .resizable-editor__drag-handle.is-variation-separator::after {
641
+ transition-duration: 0s;
642
+ transition-delay: 0s;
643
+ animation-duration: 1ms;
644
+ animation-delay: 0s;
645
+ }
646
+ }
647
+ .resizable-editor__drag-handle::after {
648
+ position: absolute;
649
+ top: 0;
650
+ right: 4px;
651
+ left: 0;
652
+ bottom: 0;
653
+ content: "";
654
+ width: 4px;
655
+ background: #949494;
656
+ border-radius: 2px;
657
+ }
622
658
  .resizable-editor__drag-handle.is-left {
623
659
  right: -16px;
624
660
  }
@@ -626,9 +662,16 @@ body.is-fullscreen-mode .interface-interface-skeleton {
626
662
  left: -16px;
627
663
  }
628
664
  .resizable-editor__drag-handle:hover, .resizable-editor__drag-handle:active {
665
+ opacity: 1;
666
+ }
667
+ .resizable-editor__drag-handle:hover.is-variation-default::after, .resizable-editor__drag-handle:active.is-variation-default::after {
629
668
  background: #ccc;
630
669
  }
631
- .resizable-editor__drag-handle:focus {
670
+ .resizable-editor__drag-handle:hover.is-variation-separator::after, .resizable-editor__drag-handle:active.is-variation-separator::after {
671
+ width: 2px;
672
+ background: var(--wp-admin-theme-color);
673
+ }
674
+ .resizable-editor__drag-handle:focus::after {
632
675
  box-shadow: 0 0 0 1px #2f2f2f, 0 0 0 calc(var(--wp-admin-border-width-focus) + 1px) var(--wp-admin-theme-color);
633
676
  }
634
677
 
@@ -867,6 +910,14 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp
867
910
  overflow-y: scroll;
868
911
  }
869
912
 
913
+ .edit-site-global-styles-screen-variations {
914
+ margin-top: 16px;
915
+ border-top: 1px solid #ddd;
916
+ }
917
+ .edit-site-global-styles-screen-variations > * {
918
+ margin: 24px 16px;
919
+ }
920
+
870
921
  .edit-site-header-edit-mode {
871
922
  height: 60px;
872
923
  align-items: center;
@@ -1607,6 +1658,9 @@ body.is-fullscreen-mode .edit-site-list-header {
1607
1658
  .edit-site-navigation-inspector .block-editor-list-view-block__menu-cell {
1608
1659
  padding-left: 0;
1609
1660
  }
1661
+ .edit-site-navigation-inspector .edit-site-navigation-inspector__select-menu {
1662
+ margin-bottom: 8px;
1663
+ }
1610
1664
 
1611
1665
  .edit-site-navigation-inspector__placeholder {
1612
1666
  padding: 8px;
@@ -2063,51 +2117,67 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2063
2117
  .edit-site-layout__content {
2064
2118
  flex-grow: 1;
2065
2119
  display: flex;
2120
+ gap: 24px;
2066
2121
  overflow: hidden;
2067
2122
  }
2068
2123
 
2069
2124
  .edit-site-layout__sidebar {
2070
2125
  z-index: 1;
2071
- overflow-y: auto;
2072
2126
  width: 100vw;
2127
+ }
2128
+ @media (min-width: 782px) {
2129
+ .edit-site-layout__sidebar {
2130
+ width: 360px;
2131
+ }
2132
+ }
2133
+ .edit-site-layout.is-full-canvas .edit-site-layout__sidebar {
2134
+ position: fixed !important;
2135
+ height: 100vh;
2136
+ right: 0;
2137
+ top: 0;
2138
+ }
2139
+ .edit-site-layout__sidebar .resizable-editor__drag-handle.is-right {
2140
+ left: -6px;
2141
+ }
2142
+ .edit-site-layout__sidebar > div {
2143
+ overflow-y: auto;
2144
+ min-height: 100%;
2073
2145
  visibility: hidden;
2074
2146
  scrollbar-color: #757575 #1e1e1e;
2075
2147
  scrollbar-width: thin;
2076
2148
  scrollbar-gutter: stable;
2077
2149
  }
2078
- .edit-site-layout__sidebar::-webkit-scrollbar {
2150
+ .edit-site-layout__sidebar > div::-webkit-scrollbar {
2079
2151
  width: 12px;
2080
2152
  height: 12px;
2081
2153
  }
2082
- .edit-site-layout__sidebar::-webkit-scrollbar-track {
2154
+ .edit-site-layout__sidebar > div::-webkit-scrollbar-track {
2083
2155
  background-color: #1e1e1e;
2084
2156
  }
2085
- .edit-site-layout__sidebar::-webkit-scrollbar-thumb {
2157
+ .edit-site-layout__sidebar > div::-webkit-scrollbar-thumb {
2086
2158
  background-color: #757575;
2087
2159
  border-radius: 8px;
2088
2160
  border: 3px solid transparent;
2089
2161
  background-clip: padding-box;
2090
2162
  }
2091
- .edit-site-layout__sidebar:hover, .edit-site-layout__sidebar:focus, .edit-site-layout__sidebar > * {
2163
+ .edit-site-layout__sidebar > div:hover, .edit-site-layout__sidebar > div:focus, .edit-site-layout__sidebar > div > * {
2092
2164
  visibility: visible;
2093
2165
  }
2094
- @media (min-width: 782px) {
2095
- .edit-site-layout__sidebar {
2096
- width: 360px;
2097
- }
2098
- }
2099
- .edit-site-layout.is-full-canvas .edit-site-layout__sidebar {
2100
- position: fixed;
2101
- height: 100vh;
2102
- right: 0;
2103
- top: 0;
2104
- }
2105
2166
 
2106
2167
  .edit-site-layout__canvas-container {
2107
2168
  position: relative;
2108
2169
  flex-grow: 1;
2109
2170
  z-index: 2;
2110
2171
  }
2172
+ .edit-site-layout__canvas-container.is-resizing::after {
2173
+ position: absolute;
2174
+ top: 0;
2175
+ right: 0;
2176
+ left: 0;
2177
+ bottom: 0;
2178
+ content: "";
2179
+ z-index: 100;
2180
+ }
2111
2181
 
2112
2182
  .edit-site-layout__canvas {
2113
2183
  position: absolute;
@@ -2115,11 +2185,11 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2115
2185
  right: 0;
2116
2186
  bottom: 0;
2117
2187
  width: 100%;
2118
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.8), 0 8px 10px -6px rgba(0, 0, 0, 0.8);
2119
2188
  }
2120
2189
  .edit-site-layout__canvas > div {
2121
2190
  color: #1e1e1e;
2122
2191
  background: #fff;
2192
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.8), 0 8px 10px -6px rgba(0, 0, 0, 0.8);
2123
2193
  }
2124
2194
  @media (min-width: 782px) {
2125
2195
  .edit-site-layout__canvas {
@@ -2138,6 +2208,8 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2138
2208
  top: 0;
2139
2209
  bottom: 0;
2140
2210
  width: 100%;
2211
+ }
2212
+ .edit-site-layout.is-full-canvas .edit-site-layout__canvas > div {
2141
2213
  border-radius: 0;
2142
2214
  }
2143
2215
 
@@ -501,6 +501,9 @@ body.is-fullscreen-mode .interface-interface-skeleton {
501
501
  box-shadow: none;
502
502
  font-weight: 500;
503
503
  }
504
+ .interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active::after {
505
+ content: none;
506
+ }
504
507
  .interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled) {
505
508
  box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
506
509
  }
@@ -609,16 +612,49 @@ body.is-fullscreen-mode .interface-interface-skeleton {
609
612
  bottom: 0;
610
613
  padding: 0;
611
614
  margin: auto 0;
612
- width: 4px;
613
- height: 100px;
615
+ width: 12px;
614
616
  -webkit-appearance: none;
615
617
  appearance: none;
616
618
  cursor: ew-resize;
617
619
  outline: none;
618
- background: #949494;
620
+ background: none;
619
621
  border-radius: 2px;
620
622
  border: 0;
621
623
  }
624
+ .resizable-editor__drag-handle.is-variation-default {
625
+ height: 100px;
626
+ }
627
+ .resizable-editor__drag-handle.is-variation-separator {
628
+ height: 100%;
629
+ }
630
+ .resizable-editor__drag-handle.is-variation-separator::after {
631
+ width: 1px;
632
+ border-radius: 0;
633
+ background: #2f2f2f;
634
+ left: auto;
635
+ right: 50%;
636
+ transition: all ease 0.2s;
637
+ transition-delay: 0.1s;
638
+ }
639
+ @media (prefers-reduced-motion: reduce) {
640
+ .resizable-editor__drag-handle.is-variation-separator::after {
641
+ transition-duration: 0s;
642
+ transition-delay: 0s;
643
+ animation-duration: 1ms;
644
+ animation-delay: 0s;
645
+ }
646
+ }
647
+ .resizable-editor__drag-handle::after {
648
+ position: absolute;
649
+ top: 0;
650
+ left: 4px;
651
+ right: 0;
652
+ bottom: 0;
653
+ content: "";
654
+ width: 4px;
655
+ background: #949494;
656
+ border-radius: 2px;
657
+ }
622
658
  .resizable-editor__drag-handle.is-left {
623
659
  left: -16px;
624
660
  }
@@ -626,9 +662,16 @@ body.is-fullscreen-mode .interface-interface-skeleton {
626
662
  right: -16px;
627
663
  }
628
664
  .resizable-editor__drag-handle:hover, .resizable-editor__drag-handle:active {
665
+ opacity: 1;
666
+ }
667
+ .resizable-editor__drag-handle:hover.is-variation-default::after, .resizable-editor__drag-handle:active.is-variation-default::after {
629
668
  background: #ccc;
630
669
  }
631
- .resizable-editor__drag-handle:focus {
670
+ .resizable-editor__drag-handle:hover.is-variation-separator::after, .resizable-editor__drag-handle:active.is-variation-separator::after {
671
+ width: 2px;
672
+ background: var(--wp-admin-theme-color);
673
+ }
674
+ .resizable-editor__drag-handle:focus::after {
632
675
  box-shadow: 0 0 0 1px #2f2f2f, 0 0 0 calc(var(--wp-admin-border-width-focus) + 1px) var(--wp-admin-theme-color);
633
676
  }
634
677
 
@@ -867,6 +910,14 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp
867
910
  overflow-y: scroll;
868
911
  }
869
912
 
913
+ .edit-site-global-styles-screen-variations {
914
+ margin-top: 16px;
915
+ border-top: 1px solid #ddd;
916
+ }
917
+ .edit-site-global-styles-screen-variations > * {
918
+ margin: 24px 16px;
919
+ }
920
+
870
921
  .edit-site-header-edit-mode {
871
922
  height: 60px;
872
923
  align-items: center;
@@ -1607,6 +1658,9 @@ body.is-fullscreen-mode .edit-site-list-header {
1607
1658
  .edit-site-navigation-inspector .block-editor-list-view-block__menu-cell {
1608
1659
  padding-right: 0;
1609
1660
  }
1661
+ .edit-site-navigation-inspector .edit-site-navigation-inspector__select-menu {
1662
+ margin-bottom: 8px;
1663
+ }
1610
1664
 
1611
1665
  .edit-site-navigation-inspector__placeholder {
1612
1666
  padding: 8px;
@@ -2063,51 +2117,67 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2063
2117
  .edit-site-layout__content {
2064
2118
  flex-grow: 1;
2065
2119
  display: flex;
2120
+ gap: 24px;
2066
2121
  overflow: hidden;
2067
2122
  }
2068
2123
 
2069
2124
  .edit-site-layout__sidebar {
2070
2125
  z-index: 1;
2071
- overflow-y: auto;
2072
2126
  width: 100vw;
2127
+ }
2128
+ @media (min-width: 782px) {
2129
+ .edit-site-layout__sidebar {
2130
+ width: 360px;
2131
+ }
2132
+ }
2133
+ .edit-site-layout.is-full-canvas .edit-site-layout__sidebar {
2134
+ position: fixed !important;
2135
+ height: 100vh;
2136
+ left: 0;
2137
+ top: 0;
2138
+ }
2139
+ .edit-site-layout__sidebar .resizable-editor__drag-handle.is-right {
2140
+ right: -6px;
2141
+ }
2142
+ .edit-site-layout__sidebar > div {
2143
+ overflow-y: auto;
2144
+ min-height: 100%;
2073
2145
  visibility: hidden;
2074
2146
  scrollbar-color: #757575 #1e1e1e;
2075
2147
  scrollbar-width: thin;
2076
2148
  scrollbar-gutter: stable;
2077
2149
  }
2078
- .edit-site-layout__sidebar::-webkit-scrollbar {
2150
+ .edit-site-layout__sidebar > div::-webkit-scrollbar {
2079
2151
  width: 12px;
2080
2152
  height: 12px;
2081
2153
  }
2082
- .edit-site-layout__sidebar::-webkit-scrollbar-track {
2154
+ .edit-site-layout__sidebar > div::-webkit-scrollbar-track {
2083
2155
  background-color: #1e1e1e;
2084
2156
  }
2085
- .edit-site-layout__sidebar::-webkit-scrollbar-thumb {
2157
+ .edit-site-layout__sidebar > div::-webkit-scrollbar-thumb {
2086
2158
  background-color: #757575;
2087
2159
  border-radius: 8px;
2088
2160
  border: 3px solid transparent;
2089
2161
  background-clip: padding-box;
2090
2162
  }
2091
- .edit-site-layout__sidebar:hover, .edit-site-layout__sidebar:focus, .edit-site-layout__sidebar > * {
2163
+ .edit-site-layout__sidebar > div:hover, .edit-site-layout__sidebar > div:focus, .edit-site-layout__sidebar > div > * {
2092
2164
  visibility: visible;
2093
2165
  }
2094
- @media (min-width: 782px) {
2095
- .edit-site-layout__sidebar {
2096
- width: 360px;
2097
- }
2098
- }
2099
- .edit-site-layout.is-full-canvas .edit-site-layout__sidebar {
2100
- position: fixed;
2101
- height: 100vh;
2102
- left: 0;
2103
- top: 0;
2104
- }
2105
2166
 
2106
2167
  .edit-site-layout__canvas-container {
2107
2168
  position: relative;
2108
2169
  flex-grow: 1;
2109
2170
  z-index: 2;
2110
2171
  }
2172
+ .edit-site-layout__canvas-container.is-resizing::after {
2173
+ position: absolute;
2174
+ top: 0;
2175
+ left: 0;
2176
+ right: 0;
2177
+ bottom: 0;
2178
+ content: "";
2179
+ z-index: 100;
2180
+ }
2111
2181
 
2112
2182
  .edit-site-layout__canvas {
2113
2183
  position: absolute;
@@ -2115,11 +2185,11 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2115
2185
  left: 0;
2116
2186
  bottom: 0;
2117
2187
  width: 100%;
2118
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.8), 0 8px 10px -6px rgba(0, 0, 0, 0.8);
2119
2188
  }
2120
2189
  .edit-site-layout__canvas > div {
2121
2190
  color: #1e1e1e;
2122
2191
  background: #fff;
2192
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.8), 0 8px 10px -6px rgba(0, 0, 0, 0.8);
2123
2193
  }
2124
2194
  @media (min-width: 782px) {
2125
2195
  .edit-site-layout__canvas {
@@ -2138,6 +2208,8 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2138
2208
  top: 0;
2139
2209
  bottom: 0;
2140
2210
  width: 100%;
2211
+ }
2212
+ .edit-site-layout.is-full-canvas .edit-site-layout__canvas > div {
2141
2213
  border-radius: 0;
2142
2214
  }
2143
2215
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-site",
3
- "version": "5.1.0",
3
+ "version": "5.2.0",
4
4
  "description": "Edit Site Page module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,34 +27,34 @@
27
27
  "react-native": "src/index",
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/a11y": "^3.24.0",
31
- "@wordpress/api-fetch": "^6.21.0",
32
- "@wordpress/block-editor": "^11.1.0",
33
- "@wordpress/block-library": "^8.1.0",
34
- "@wordpress/blocks": "^12.1.0",
35
- "@wordpress/components": "^23.1.0",
36
- "@wordpress/compose": "^6.1.0",
37
- "@wordpress/core-data": "^6.1.0",
38
- "@wordpress/data": "^8.1.0",
39
- "@wordpress/deprecated": "^3.24.0",
40
- "@wordpress/editor": "^13.1.0",
41
- "@wordpress/element": "^5.1.0",
42
- "@wordpress/hooks": "^3.24.0",
43
- "@wordpress/html-entities": "^3.24.0",
44
- "@wordpress/i18n": "^4.24.0",
45
- "@wordpress/icons": "^9.15.0",
46
- "@wordpress/interface": "^5.1.0",
47
- "@wordpress/keyboard-shortcuts": "^4.1.0",
48
- "@wordpress/keycodes": "^3.24.0",
49
- "@wordpress/media-utils": "^4.15.0",
50
- "@wordpress/notices": "^3.24.0",
51
- "@wordpress/plugins": "^5.1.0",
52
- "@wordpress/preferences": "^3.1.0",
53
- "@wordpress/reusable-blocks": "^4.1.0",
54
- "@wordpress/style-engine": "^1.7.0",
55
- "@wordpress/url": "^3.25.0",
56
- "@wordpress/viewport": "^5.1.0",
57
- "@wordpress/widgets": "^3.1.0",
30
+ "@wordpress/a11y": "^3.25.0",
31
+ "@wordpress/api-fetch": "^6.22.0",
32
+ "@wordpress/block-editor": "^11.2.0",
33
+ "@wordpress/block-library": "^8.2.0",
34
+ "@wordpress/blocks": "^12.2.0",
35
+ "@wordpress/components": "^23.2.0",
36
+ "@wordpress/compose": "^6.2.0",
37
+ "@wordpress/core-data": "^6.2.0",
38
+ "@wordpress/data": "^8.2.0",
39
+ "@wordpress/deprecated": "^3.25.0",
40
+ "@wordpress/editor": "^13.2.0",
41
+ "@wordpress/element": "^5.2.0",
42
+ "@wordpress/hooks": "^3.25.0",
43
+ "@wordpress/html-entities": "^3.25.0",
44
+ "@wordpress/i18n": "^4.25.0",
45
+ "@wordpress/icons": "^9.16.0",
46
+ "@wordpress/interface": "^5.2.0",
47
+ "@wordpress/keyboard-shortcuts": "^4.2.0",
48
+ "@wordpress/keycodes": "^3.25.0",
49
+ "@wordpress/media-utils": "^4.16.0",
50
+ "@wordpress/notices": "^3.25.0",
51
+ "@wordpress/plugins": "^5.2.0",
52
+ "@wordpress/preferences": "^3.2.0",
53
+ "@wordpress/reusable-blocks": "^4.2.0",
54
+ "@wordpress/style-engine": "^1.8.0",
55
+ "@wordpress/url": "^3.26.0",
56
+ "@wordpress/viewport": "^5.2.0",
57
+ "@wordpress/widgets": "^3.2.0",
58
58
  "classnames": "^2.3.1",
59
59
  "colord": "^2.9.2",
60
60
  "downloadjs": "^1.4.7",
@@ -71,5 +71,5 @@
71
71
  "publishConfig": {
72
72
  "access": "public"
73
73
  },
74
- "gitHead": "200bee7b06b15f6fa655e25b6ab69cbd6b49a357"
74
+ "gitHead": "204c880ff65295768e9695dfee6c7a9fee1fdd05"
75
75
  }
@@ -20,6 +20,7 @@ import { plus } from '@wordpress/icons';
20
20
  import { useHistory } from '../routes';
21
21
  import { store as editSiteStore } from '../../store';
22
22
  import CreateTemplatePartModal from '../create-template-part-modal';
23
+ import { useExistingTemplateParts } from './utils';
23
24
 
24
25
  export default function NewTemplatePart( {
25
26
  postType,
@@ -31,6 +32,7 @@ export default function NewTemplatePart( {
31
32
  const { createErrorNotice } = useDispatch( noticesStore );
32
33
  const { saveEntityRecord } = useDispatch( coreStore );
33
34
  const { __unstableSetCanvasMode } = useDispatch( editSiteStore );
35
+ const existingTemplateParts = useExistingTemplateParts();
34
36
 
35
37
  async function createTemplatePart( { title, area } ) {
36
38
  if ( ! title ) {
@@ -40,6 +42,26 @@ export default function NewTemplatePart( {
40
42
  return;
41
43
  }
42
44
 
45
+ const uniqueTitle = () => {
46
+ const lowercaseTitle = title.toLowerCase();
47
+ const existingTitles = existingTemplateParts.map(
48
+ ( templatePart ) => templatePart.title.rendered.toLowerCase()
49
+ );
50
+
51
+ if ( ! existingTitles.includes( lowercaseTitle ) ) {
52
+ return title;
53
+ }
54
+
55
+ let suffix = 2;
56
+ while (
57
+ existingTitles.includes( `${ lowercaseTitle } ${ suffix }` )
58
+ ) {
59
+ suffix++;
60
+ }
61
+
62
+ return `${ title } ${ suffix }`;
63
+ };
64
+
43
65
  try {
44
66
  // Currently template parts only allow latin chars.
45
67
  // Fallback slug will receive suffix by default.
@@ -52,7 +74,7 @@ export default function NewTemplatePart( {
52
74
  'wp_template_part',
53
75
  {
54
76
  slug: cleanSlug,
55
- title,
77
+ title: uniqueTitle(),
56
78
  content: '',
57
79
  area,
58
80
  },
@@ -52,6 +52,20 @@ export const useExistingTemplates = () => {
52
52
  );
53
53
  };
54
54
 
55
+ export const useExistingTemplateParts = () => {
56
+ return useSelect(
57
+ ( select ) =>
58
+ select( coreStore ).getEntityRecords(
59
+ 'postType',
60
+ 'wp_template_part',
61
+ {
62
+ per_page: -1,
63
+ }
64
+ ),
65
+ []
66
+ );
67
+ };
68
+
55
69
  export const useDefaultTemplateTypes = () => {
56
70
  return useSelect(
57
71
  ( select ) =>
@@ -53,7 +53,6 @@ function EditorCanvas( { enableResizing, settings, children, ...props } ) {
53
53
  ) }
54
54
  </>
55
55
  }
56
- assets={ settings.__unstableResolvedAssets }
57
56
  ref={ mouseMoveTypingRef }
58
57
  name="editor-canvas"
59
58
  className="edit-site-visual-editor__editor-canvas"