@wordpress/edit-site 3.0.2 → 3.0.3

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 (252) hide show
  1. package/README.md +1 -1
  2. package/build/components/block-editor/back-button.js +60 -0
  3. package/build/components/block-editor/back-button.js.map +1 -0
  4. package/build/components/block-editor/index.js +18 -4
  5. package/build/components/block-editor/index.js.map +1 -1
  6. package/build/components/edit-template-part-menu-button/index.js +63 -0
  7. package/build/components/edit-template-part-menu-button/index.js.map +1 -0
  8. package/build/components/editor/global-styles-provider.js +1 -1
  9. package/build/components/editor/global-styles-provider.js.map +1 -1
  10. package/build/components/editor/index.js +7 -7
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/editor/utils.js +1 -1
  13. package/build/components/editor/utils.js.map +1 -1
  14. package/build/components/{sidebar → global-styles}/border-panel.js +0 -0
  15. package/build/components/global-styles/border-panel.js.map +1 -0
  16. package/build/components/{sidebar → global-styles}/color-palette-panel.js +4 -2
  17. package/build/components/global-styles/color-palette-panel.js.map +1 -0
  18. package/build/components/{sidebar → global-styles}/color-panel.js +7 -11
  19. package/build/components/global-styles/color-panel.js.map +1 -0
  20. package/build/components/global-styles/context-menu.js +58 -0
  21. package/build/components/global-styles/context-menu.js.map +1 -0
  22. package/build/components/{sidebar → global-styles}/dimensions-panel.js +6 -7
  23. package/build/components/global-styles/dimensions-panel.js.map +1 -0
  24. package/build/components/global-styles/header.js +54 -0
  25. package/build/components/global-styles/header.js.map +1 -0
  26. package/build/components/global-styles/index.js +89 -0
  27. package/build/components/global-styles/index.js.map +1 -0
  28. package/build/components/global-styles/navigation-button.js +43 -0
  29. package/build/components/global-styles/navigation-button.js.map +1 -0
  30. package/build/components/global-styles/palette.js +57 -0
  31. package/build/components/global-styles/palette.js.map +1 -0
  32. package/build/components/global-styles/preview.js +59 -0
  33. package/build/components/global-styles/preview.js.map +1 -0
  34. package/build/components/global-styles/screen-block-list.js +76 -0
  35. package/build/components/global-styles/screen-block-list.js.map +1 -0
  36. package/build/components/global-styles/screen-block.js +45 -0
  37. package/build/components/global-styles/screen-block.js.map +1 -0
  38. package/build/components/global-styles/screen-color-palette.js +48 -0
  39. package/build/components/global-styles/screen-color-palette.js.map +1 -0
  40. package/build/components/global-styles/screen-colors.js +51 -0
  41. package/build/components/global-styles/screen-colors.js.map +1 -0
  42. package/build/components/global-styles/screen-layout.js +60 -0
  43. package/build/components/global-styles/screen-layout.js.map +1 -0
  44. package/build/components/global-styles/screen-root.js +44 -0
  45. package/build/components/global-styles/screen-root.js.map +1 -0
  46. package/build/components/global-styles/screen-typography.js +50 -0
  47. package/build/components/global-styles/screen-typography.js.map +1 -0
  48. package/build/components/global-styles/subtitle.js +25 -0
  49. package/build/components/global-styles/subtitle.js.map +1 -0
  50. package/build/components/{sidebar → global-styles}/typography-panel.js +1 -3
  51. package/build/components/global-styles/typography-panel.js.map +1 -0
  52. package/build/components/header/plugin-more-menu-item/index.js +82 -0
  53. package/build/components/header/plugin-more-menu-item/index.js.map +1 -0
  54. package/build/components/header/plugin-sidebar-more-menu-item/index.js +75 -0
  55. package/build/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -0
  56. package/build/components/header/undo-redo/redo.js +1 -1
  57. package/build/components/header/undo-redo/redo.js.map +1 -1
  58. package/build/components/header/undo-redo/undo.js +1 -1
  59. package/build/components/header/undo-redo/undo.js.map +1 -1
  60. package/build/components/keyboard-shortcuts/index.js +2 -10
  61. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  62. package/build/components/navigation-sidebar/index.js +1 -1
  63. package/build/components/navigation-sidebar/index.js.map +1 -1
  64. package/build/components/navigation-sidebar/navigation-panel/constants.js +10 -10
  65. package/build/components/navigation-sidebar/navigation-panel/constants.js.map +1 -1
  66. package/build/components/save-button/index.js +1 -1
  67. package/build/components/save-button/index.js.map +1 -1
  68. package/build/components/secondary-sidebar/inserter-sidebar.js +2 -1
  69. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  70. package/build/components/sidebar/global-styles-sidebar.js +11 -161
  71. package/build/components/sidebar/global-styles-sidebar.js.map +1 -1
  72. package/build/components/sidebar/index.js +1 -6
  73. package/build/components/sidebar/index.js.map +1 -1
  74. package/build/components/sidebar/plugin-sidebar/index.js +95 -0
  75. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -0
  76. package/build/components/template-details/index.js +12 -6
  77. package/build/components/template-details/index.js.map +1 -1
  78. package/build/components/template-details/template-areas.js +73 -0
  79. package/build/components/template-details/template-areas.js.map +1 -0
  80. package/build/components/template-part-converter/index.js +1 -1
  81. package/build/components/template-part-converter/index.js.map +1 -1
  82. package/build/components/url-query-controller/index.js +1 -1
  83. package/build/components/url-query-controller/index.js.map +1 -1
  84. package/build/index.js +24 -0
  85. package/build/index.js.map +1 -1
  86. package/build/store/actions.js +54 -1
  87. package/build/store/actions.js.map +1 -1
  88. package/build/store/constants.js +19 -1
  89. package/build/store/constants.js.map +1 -1
  90. package/build/store/reducer.js +16 -7
  91. package/build/store/reducer.js.map +1 -1
  92. package/build/store/selectors.js +91 -9
  93. package/build/store/selectors.js.map +1 -1
  94. package/build-module/components/block-editor/back-button.js +48 -0
  95. package/build-module/components/block-editor/back-button.js.map +1 -0
  96. package/build-module/components/block-editor/index.js +15 -4
  97. package/build-module/components/block-editor/index.js.map +1 -1
  98. package/build-module/components/edit-template-part-menu-button/index.js +49 -0
  99. package/build-module/components/edit-template-part-menu-button/index.js.map +1 -0
  100. package/build-module/components/editor/global-styles-provider.js +1 -1
  101. package/build-module/components/editor/global-styles-provider.js.map +1 -1
  102. package/build-module/components/editor/index.js +4 -5
  103. package/build-module/components/editor/index.js.map +1 -1
  104. package/build-module/components/editor/utils.js +1 -1
  105. package/build-module/components/editor/utils.js.map +1 -1
  106. package/build-module/components/{sidebar → global-styles}/border-panel.js +0 -0
  107. package/build-module/components/global-styles/border-panel.js.map +1 -0
  108. package/build-module/components/{sidebar → global-styles}/color-palette-panel.js +4 -2
  109. package/build-module/components/global-styles/color-palette-panel.js.map +1 -0
  110. package/build-module/components/{sidebar → global-styles}/color-panel.js +8 -12
  111. package/build-module/components/global-styles/color-panel.js.map +1 -0
  112. package/build-module/components/global-styles/context-menu.js +41 -0
  113. package/build-module/components/global-styles/context-menu.js.map +1 -0
  114. package/build-module/components/{sidebar → global-styles}/dimensions-panel.js +6 -7
  115. package/build-module/components/global-styles/dimensions-panel.js.map +1 -0
  116. package/build-module/components/global-styles/header.js +41 -0
  117. package/build-module/components/global-styles/header.js.map +1 -0
  118. package/build-module/components/global-styles/index.js +70 -0
  119. package/build-module/components/global-styles/index.js.map +1 -0
  120. package/build-module/components/global-styles/navigation-button.js +31 -0
  121. package/build-module/components/global-styles/navigation-button.js.map +1 -0
  122. package/build-module/components/global-styles/palette.js +43 -0
  123. package/build-module/components/global-styles/palette.js.map +1 -0
  124. package/build-module/components/global-styles/preview.js +50 -0
  125. package/build-module/components/global-styles/preview.js.map +1 -0
  126. package/build-module/components/global-styles/screen-block-list.js +58 -0
  127. package/build-module/components/global-styles/screen-block-list.js.map +1 -0
  128. package/build-module/components/global-styles/screen-block.js +32 -0
  129. package/build-module/components/global-styles/screen-block.js.map +1 -0
  130. package/build-module/components/global-styles/screen-color-palette.js +35 -0
  131. package/build-module/components/global-styles/screen-color-palette.js.map +1 -0
  132. package/build-module/components/global-styles/screen-colors.js +38 -0
  133. package/build-module/components/global-styles/screen-colors.js.map +1 -0
  134. package/build-module/components/global-styles/screen-layout.js +44 -0
  135. package/build-module/components/global-styles/screen-layout.js.map +1 -0
  136. package/build-module/components/global-styles/screen-root.js +29 -0
  137. package/build-module/components/global-styles/screen-root.js.map +1 -0
  138. package/build-module/components/global-styles/screen-typography.js +37 -0
  139. package/build-module/components/global-styles/screen-typography.js.map +1 -0
  140. package/build-module/components/global-styles/subtitle.js +17 -0
  141. package/build-module/components/global-styles/subtitle.js.map +1 -0
  142. package/build-module/components/{sidebar → global-styles}/typography-panel.js +1 -2
  143. package/build-module/components/global-styles/typography-panel.js.map +1 -0
  144. package/build-module/components/header/plugin-more-menu-item/index.js +70 -0
  145. package/build-module/components/header/plugin-more-menu-item/index.js.map +1 -0
  146. package/build-module/components/header/plugin-sidebar-more-menu-item/index.js +64 -0
  147. package/build-module/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -0
  148. package/build-module/components/header/undo-redo/redo.js +1 -1
  149. package/build-module/components/header/undo-redo/redo.js.map +1 -1
  150. package/build-module/components/header/undo-redo/undo.js +1 -1
  151. package/build-module/components/header/undo-redo/undo.js.map +1 -1
  152. package/build-module/components/keyboard-shortcuts/index.js +3 -11
  153. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  154. package/build-module/components/navigation-sidebar/index.js +1 -1
  155. package/build-module/components/navigation-sidebar/index.js.map +1 -1
  156. package/build-module/components/navigation-sidebar/navigation-panel/constants.js +5 -3
  157. package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +1 -1
  158. package/build-module/components/save-button/index.js +1 -1
  159. package/build-module/components/save-button/index.js.map +1 -1
  160. package/build-module/components/secondary-sidebar/inserter-sidebar.js +2 -1
  161. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  162. package/build-module/components/sidebar/global-styles-sidebar.js +13 -159
  163. package/build-module/components/sidebar/global-styles-sidebar.js.map +1 -1
  164. package/build-module/components/sidebar/index.js +2 -7
  165. package/build-module/components/sidebar/index.js.map +1 -1
  166. package/build-module/components/sidebar/plugin-sidebar/index.js +84 -0
  167. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -0
  168. package/build-module/components/template-details/index.js +13 -8
  169. package/build-module/components/template-details/index.js.map +1 -1
  170. package/build-module/components/template-details/template-areas.js +60 -0
  171. package/build-module/components/template-details/template-areas.js.map +1 -0
  172. package/build-module/components/template-part-converter/index.js +1 -1
  173. package/build-module/components/template-part-converter/index.js.map +1 -1
  174. package/build-module/components/url-query-controller/index.js +1 -1
  175. package/build-module/components/url-query-controller/index.js.map +1 -1
  176. package/build-module/index.js +3 -0
  177. package/build-module/index.js.map +1 -1
  178. package/build-module/store/actions.js +45 -1
  179. package/build-module/store/actions.js.map +1 -1
  180. package/build-module/store/constants.js +13 -0
  181. package/build-module/store/constants.js.map +1 -1
  182. package/build-module/store/reducer.js +16 -7
  183. package/build-module/store/reducer.js.map +1 -1
  184. package/build-module/store/selectors.js +85 -9
  185. package/build-module/store/selectors.js.map +1 -1
  186. package/build-style/style-rtl.css +122 -17
  187. package/build-style/style.css +122 -17
  188. package/package.json +26 -26
  189. package/src/components/block-editor/back-button.js +44 -0
  190. package/src/components/block-editor/index.js +16 -1
  191. package/src/components/block-editor/style.scss +26 -0
  192. package/src/components/edit-template-part-menu-button/index.js +57 -0
  193. package/src/components/editor/global-styles-provider.js +1 -1
  194. package/src/components/editor/index.js +5 -8
  195. package/src/components/editor/utils.js +1 -0
  196. package/src/components/{sidebar → global-styles}/border-panel.js +0 -0
  197. package/src/components/{sidebar → global-styles}/color-palette-panel.js +13 -11
  198. package/src/components/{sidebar → global-styles}/color-panel.js +12 -17
  199. package/src/components/global-styles/context-menu.js +54 -0
  200. package/src/components/{sidebar → global-styles}/dimensions-panel.js +6 -10
  201. package/src/components/global-styles/header.js +50 -0
  202. package/src/components/global-styles/index.js +81 -0
  203. package/src/components/global-styles/navigation-button.js +35 -0
  204. package/src/components/global-styles/palette.js +67 -0
  205. package/src/components/global-styles/preview.js +41 -0
  206. package/src/components/global-styles/screen-block-list.js +59 -0
  207. package/src/components/global-styles/screen-block.js +28 -0
  208. package/src/components/global-styles/screen-color-palette.js +33 -0
  209. package/src/components/global-styles/screen-colors.js +36 -0
  210. package/src/components/global-styles/screen-layout.js +45 -0
  211. package/src/components/global-styles/screen-root.js +43 -0
  212. package/src/components/global-styles/screen-typography.js +33 -0
  213. package/src/components/global-styles/style.scss +35 -0
  214. package/src/components/global-styles/subtitle.js +10 -0
  215. package/src/components/{sidebar → global-styles}/typography-panel.js +1 -2
  216. package/src/components/header/plugin-more-menu-item/index.js +71 -0
  217. package/src/components/header/plugin-sidebar-more-menu-item/index.js +64 -0
  218. package/src/components/header/undo-redo/redo.js +4 -1
  219. package/src/components/header/undo-redo/undo.js +4 -1
  220. package/src/components/keyboard-shortcuts/index.js +25 -40
  221. package/src/components/navigation-sidebar/index.js +1 -1
  222. package/src/components/navigation-sidebar/navigation-panel/constants.js +9 -4
  223. package/src/components/navigation-sidebar/navigation-panel/style.scss +1 -0
  224. package/src/components/save-button/index.js +1 -1
  225. package/src/components/secondary-sidebar/inserter-sidebar.js +1 -0
  226. package/src/components/sidebar/global-styles-sidebar.js +14 -187
  227. package/src/components/sidebar/index.js +2 -7
  228. package/src/components/sidebar/plugin-sidebar/index.js +80 -0
  229. package/src/components/sidebar/style.scss +40 -0
  230. package/src/components/template-details/index.js +17 -7
  231. package/src/components/template-details/style.scss +36 -27
  232. package/src/components/template-details/template-areas.js +66 -0
  233. package/src/components/template-part-converter/index.js +1 -1
  234. package/src/components/url-query-controller/index.js +1 -1
  235. package/src/index.js +3 -0
  236. package/src/store/actions.js +53 -1
  237. package/src/store/constants.js +15 -0
  238. package/src/store/reducer.js +26 -12
  239. package/src/store/selectors.js +96 -9
  240. package/src/store/test/reducer.js +40 -23
  241. package/src/store/test/selectors.js +34 -3
  242. package/src/style.scss +1 -0
  243. package/build/components/sidebar/border-panel.js.map +0 -1
  244. package/build/components/sidebar/color-palette-panel.js.map +0 -1
  245. package/build/components/sidebar/color-panel.js.map +0 -1
  246. package/build/components/sidebar/dimensions-panel.js.map +0 -1
  247. package/build/components/sidebar/typography-panel.js.map +0 -1
  248. package/build-module/components/sidebar/border-panel.js.map +0 -1
  249. package/build-module/components/sidebar/color-palette-panel.js.map +0 -1
  250. package/build-module/components/sidebar/color-panel.js.map +0 -1
  251. package/build-module/components/sidebar/dimensions-panel.js.map +0 -1
  252. package/build-module/components/sidebar/typography-panel.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/editor/global-styles-provider.js"],"names":["set","get","has","mergeWith","mapValues","setWith","clone","createContext","useCallback","useContext","useEffect","useMemo","__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","__EXPERIMENTAL_ELEMENTS","ELEMENTS","store","blocksStore","useEntityProp","useSelect","useDispatch","ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","getValueFromVariable","getPresetVariable","PRESET_METADATA","toCustomProperties","toStyles","editSiteStore","EMPTY_CONTENT","isGlobalStylesUserThemeJSON","version","EMPTY_CONTENT_STRING","JSON","stringify","GlobalStylesContext","getSetting","context","path","setSetting","newValue","getStyle","propertyName","origin","setStyle","contexts","mergeTreesCustomizer","objValue","srcValue","Array","isArray","useGlobalStylesContext","useGlobalStylesEntityContent","useGlobalStylesReset","content","setContent","canRestart","extractSupportKeys","supports","supportKeys","Object","keys","forEach","name","support","requiresOptOut","push","getBlockMetadata","blockTypes","result","blockType","selector","__experimentalSelector","replace","blockSelectors","split","elements","key","elementSelector","blockSelector","join","immutableSet","object","value","GlobalStylesProvider","children","baseStyles","settings","select","getBlockTypes","getSettings","updateSettings","blocks","__experimentalGlobalStylesBaseStyles","themeStyles","userStyles","mergedStyles","newUserStyles","parse","e","console","error","addUserToSettings","settingsToAdd","presetData","user","userStylesWithOrigin","newMergedStyles","nextValue","root","propertyPath","newContent","newSettings","styles","newStyles","nonGlobalStyles","filter","style","isGlobalStyles","customProperties","globalStyles","css","__experimentalNoWrapper","__experimentalFeatures"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { set, get, has, mergeWith, mapValues, setWith, clone } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tROOT_BLOCK_NAME,\n\tROOT_BLOCK_SELECTOR,\n\tROOT_BLOCK_SUPPORTS,\n\tgetValueFromVariable,\n\tgetPresetVariable,\n\tPRESET_METADATA,\n} from './utils';\nimport { toCustomProperties, toStyles } from './global-styles-renderer';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_CONTENT = { isGlobalStylesUserThemeJSON: true, version: 1 };\nconst EMPTY_CONTENT_STRING = JSON.stringify( EMPTY_CONTENT );\n\nconst GlobalStylesContext = createContext( {\n\t/* eslint-disable no-unused-vars */\n\tgetSetting: ( context, path ) => {},\n\tsetSetting: ( context, path, newValue ) => {},\n\tgetStyle: ( context, propertyName, origin ) => {},\n\tsetStyle: ( context, propertyName, newValue ) => {},\n\tcontexts: {},\n\t/* eslint-enable no-unused-vars */\n} );\n\nconst mergeTreesCustomizer = ( objValue, srcValue ) => {\n\t// We only pass as arrays the presets,\n\t// in which case we want the new array of values\n\t// to override the old array (no merging).\n\tif ( Array.isArray( srcValue ) ) {\n\t\treturn srcValue;\n\t}\n};\n\nexport const useGlobalStylesContext = () => useContext( GlobalStylesContext );\n\nconst useGlobalStylesEntityContent = () => {\n\treturn useEntityProp( 'postType', 'wp_global_styles', 'content' );\n};\n\nexport const useGlobalStylesReset = () => {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst canRestart = !! content && content !== EMPTY_CONTENT_STRING;\n\treturn [\n\t\tcanRestart,\n\t\tuseCallback( () => setContent( EMPTY_CONTENT_STRING ), [ setContent ] ),\n\t];\n};\n\nconst extractSupportKeys = ( supports ) => {\n\tconst supportKeys = [];\n\tObject.keys( STYLE_PROPERTY ).forEach( ( name ) => {\n\t\tif ( ! STYLE_PROPERTY[ name ].support ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Opting out means that, for certain support keys like background color,\n\t\t// blocks have to explicitly set the support value false. If the key is\n\t\t// unset, we still enable it.\n\t\tif ( STYLE_PROPERTY[ name ].requiresOptOut ) {\n\t\t\tif (\n\t\t\t\thas( supports, STYLE_PROPERTY[ name ].support[ 0 ] ) &&\n\t\t\t\tget( supports, STYLE_PROPERTY[ name ].support ) !== false\n\t\t\t) {\n\t\t\t\treturn supportKeys.push( name );\n\t\t\t}\n\t\t}\n\n\t\tif ( get( supports, STYLE_PROPERTY[ name ].support, false ) ) {\n\t\t\treturn supportKeys.push( name );\n\t\t}\n\t} );\n\treturn supportKeys;\n};\n\nconst getBlockMetadata = ( blockTypes ) => {\n\tconst result = {};\n\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst supports = extractSupportKeys( blockType?.supports );\n\n\t\tconst selector =\n\t\t\tblockType?.supports?.__experimentalSelector ??\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t\tconst blockSelectors = selector.split( ',' );\n\t\tconst elements = [];\n\t\tObject.keys( ELEMENTS ).forEach( ( key ) => {\n\t\t\tconst elementSelector = [];\n\t\t\tblockSelectors.forEach( ( blockSelector ) => {\n\t\t\t\telementSelector.push( blockSelector + ' ' + ELEMENTS[ key ] );\n\t\t\t} );\n\t\t\telements[ key ] = elementSelector.join( ',' );\n\t\t} );\n\t\tresult[ name ] = {\n\t\t\tname,\n\t\t\tselector,\n\t\t\tsupports,\n\t\t\telements,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\nfunction immutableSet( object, path, value ) {\n\treturn setWith( object ? clone( object ) : {}, path, value, clone );\n}\n\nexport default function GlobalStylesProvider( { children, baseStyles } ) {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst { blockTypes, settings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tblockTypes: select( blocksStore ).getBlockTypes(),\n\t\t\tsettings: select( editSiteStore ).getSettings(),\n\t\t};\n\t} );\n\tconst { updateSettings } = useDispatch( editSiteStore );\n\n\tconst blocks = useMemo( () => getBlockMetadata( blockTypes ), [\n\t\tblockTypes,\n\t] );\n\n\tconst { __experimentalGlobalStylesBaseStyles: themeStyles } = settings;\n\tconst { userStyles, mergedStyles } = useMemo( () => {\n\t\tlet newUserStyles;\n\t\ttry {\n\t\t\tnewUserStyles = content ? JSON.parse( content ) : EMPTY_CONTENT;\n\n\t\t\t// At the moment, we ignore previous user config that\n\t\t\t// is in a different version than the theme config.\n\t\t\tif ( newUserStyles?.version !== baseStyles?.version ) {\n\t\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\t/* eslint-disable no-console */\n\t\t\tconsole.error( 'User data is not JSON' );\n\t\t\tconsole.error( e );\n\t\t\t/* eslint-enable no-console */\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\t// It is very important to verify if the flag isGlobalStylesUserThemeJSON is true.\n\t\t// If it is not true the content was not escaped and is not safe.\n\t\tif ( ! newUserStyles.isGlobalStylesUserThemeJSON ) {\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\tconst addUserToSettings = ( settingsToAdd ) => {\n\t\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\t\tconst presetData = get( settingsToAdd, path );\n\t\t\t\tif ( presetData ) {\n\t\t\t\t\tsettingsToAdd = immutableSet( settingsToAdd, path, {\n\t\t\t\t\t\tuser: presetData,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn settingsToAdd;\n\t\t};\n\n\t\tlet userStylesWithOrigin = newUserStyles;\n\t\tif ( userStylesWithOrigin.settings ) {\n\t\t\tuserStylesWithOrigin = {\n\t\t\t\t...userStylesWithOrigin,\n\t\t\t\tsettings: addUserToSettings( userStylesWithOrigin.settings ),\n\t\t\t};\n\t\t\tif ( userStylesWithOrigin.settings.blocks ) {\n\t\t\t\tuserStylesWithOrigin.settings = {\n\t\t\t\t\t...userStylesWithOrigin.settings,\n\t\t\t\t\tblocks: mapValues(\n\t\t\t\t\t\tuserStylesWithOrigin.settings.blocks,\n\t\t\t\t\t\taddUserToSettings\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// At this point, the version schema of the theme & user\n\t\t// is the same, so we can merge them.\n\t\tconst newMergedStyles = mergeWith(\n\t\t\t{},\n\t\t\tbaseStyles,\n\t\t\tuserStylesWithOrigin,\n\t\t\tmergeTreesCustomizer\n\t\t);\n\n\t\treturn {\n\t\t\tuserStyles: newUserStyles,\n\t\t\tmergedStyles: newMergedStyles,\n\t\t};\n\t}, [ content ] );\n\n\tconst nextValue = useMemo(\n\t\t() => ( {\n\t\t\troot: {\n\t\t\t\tname: ROOT_BLOCK_NAME,\n\t\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t\t\tsupports: ROOT_BLOCK_SUPPORTS,\n\t\t\t\telements: ELEMENTS,\n\t\t\t},\n\t\t\tblocks,\n\t\t\tgetSetting: ( context, propertyPath ) => {\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\t\t\t\tget( userStyles?.settings, path );\n\t\t\t},\n\t\t\tsetSetting: ( context, propertyPath, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? [ 'settings' ]\n\t\t\t\t\t\t: [ 'settings', 'blocks', context ];\n\n\t\t\t\tlet newSettings = get( newContent, path );\n\t\t\t\tif ( ! newSettings ) {\n\t\t\t\t\tnewSettings = {};\n\t\t\t\t\tset( newContent, path, newSettings );\n\t\t\t\t}\n\t\t\t\tset( newSettings, propertyPath, newValue );\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t\tgetStyle: ( context, propertyName, origin = 'merged' ) => {\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\n\t\t\t\tif ( origin === 'theme' ) {\n\t\t\t\t\tconst value = get( themeStyles?.styles, path );\n\t\t\t\t\treturn getValueFromVariable( themeStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tif ( origin === 'user' ) {\n\t\t\t\t\tconst value = get( userStyles?.styles, path );\n\n\t\t\t\t\t// We still need to use merged styles here because the\n\t\t\t\t\t// presets used to resolve user variable may be defined a\n\t\t\t\t\t// layer down ( core, theme, or user ).\n\t\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tconst value = get( mergedStyles?.styles, path );\n\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t},\n\t\t\tsetStyle: ( context, propertyName, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\n\t\t\t\tconst path =\n\t\t\t\t\tROOT_BLOCK_NAME === context\n\t\t\t\t\t\t? [ 'styles' ]\n\t\t\t\t\t\t: [ 'styles', 'blocks', context ];\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\n\t\t\t\tlet newStyles = get( newContent, path );\n\t\t\t\tif ( ! newStyles ) {\n\t\t\t\t\tnewStyles = {};\n\t\t\t\t\tset( newContent, path, newStyles );\n\t\t\t\t}\n\t\t\t\tset(\n\t\t\t\t\tnewStyles,\n\t\t\t\t\tpropertyPath,\n\t\t\t\t\tgetPresetVariable(\n\t\t\t\t\t\tmergedStyles,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tpropertyName,\n\t\t\t\t\t\tnewValue\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t} ),\n\t\t[ content, mergedStyles, themeStyles ]\n\t);\n\n\tuseEffect( () => {\n\t\tconst nonGlobalStyles = settings.styles.filter(\n\t\t\t( style ) => ! style.isGlobalStyles\n\t\t);\n\t\tconst customProperties = toCustomProperties( mergedStyles, blocks );\n\t\tconst globalStyles = toStyles( mergedStyles, blocks );\n\t\tupdateSettings( {\n\t\t\t...settings,\n\t\t\tstyles: [\n\t\t\t\t...nonGlobalStyles,\n\t\t\t\t{\n\t\t\t\t\tcss: customProperties,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t\t__experimentalNoWrapper: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcss: globalStyles,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\t__experimentalFeatures: mergedStyles.settings,\n\t\t} );\n\t}, [ blocks, mergedStyles ] );\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ nextValue }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/editor/global-styles-provider.js"],"names":["set","get","has","mergeWith","mapValues","setWith","clone","createContext","useCallback","useContext","useEffect","useMemo","__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","__EXPERIMENTAL_ELEMENTS","ELEMENTS","store","blocksStore","useEntityProp","useSelect","useDispatch","ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","getValueFromVariable","getPresetVariable","PRESET_METADATA","toCustomProperties","toStyles","editSiteStore","EMPTY_CONTENT","isGlobalStylesUserThemeJSON","version","EMPTY_CONTENT_STRING","JSON","stringify","GlobalStylesContext","getSetting","context","path","setSetting","newValue","getStyle","propertyName","origin","setStyle","contexts","mergeTreesCustomizer","objValue","srcValue","Array","isArray","useGlobalStylesContext","useGlobalStylesEntityContent","useGlobalStylesReset","content","setContent","canRestart","extractSupportKeys","supports","supportKeys","Object","keys","forEach","name","support","requiresOptOut","push","getBlockMetadata","blockTypes","result","blockType","selector","__experimentalSelector","replace","blockSelectors","split","elements","key","elementSelector","blockSelector","join","immutableSet","object","value","GlobalStylesProvider","children","baseStyles","settings","select","getBlockTypes","getSettings","updateSettings","blocks","__experimentalGlobalStylesBaseStyles","themeStyles","userStyles","mergedStyles","newUserStyles","parse","e","console","error","addUserToSettings","settingsToAdd","presetData","user","userStylesWithOrigin","newMergedStyles","nextValue","root","propertyPath","newContent","newSettings","styles","newStyles","nonGlobalStyles","filter","style","isGlobalStyles","customProperties","globalStyles","css","__experimentalNoWrapper","__experimentalFeatures"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { set, get, has, mergeWith, mapValues, setWith, clone } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tROOT_BLOCK_NAME,\n\tROOT_BLOCK_SELECTOR,\n\tROOT_BLOCK_SUPPORTS,\n\tgetValueFromVariable,\n\tgetPresetVariable,\n\tPRESET_METADATA,\n} from './utils';\nimport { toCustomProperties, toStyles } from './global-styles-renderer';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_CONTENT = { isGlobalStylesUserThemeJSON: true, version: 1 };\nconst EMPTY_CONTENT_STRING = JSON.stringify( EMPTY_CONTENT );\n\nconst GlobalStylesContext = createContext( {\n\t/* eslint-disable no-unused-vars */\n\tgetSetting: ( context, path ) => {},\n\tsetSetting: ( context, path, newValue ) => {},\n\tgetStyle: ( context, propertyName, origin ) => {},\n\tsetStyle: ( context, propertyName, newValue ) => {},\n\tcontexts: {},\n\t/* eslint-enable no-unused-vars */\n} );\n\nconst mergeTreesCustomizer = ( objValue, srcValue ) => {\n\t// We only pass as arrays the presets,\n\t// in which case we want the new array of values\n\t// to override the old array (no merging).\n\tif ( Array.isArray( srcValue ) ) {\n\t\treturn srcValue;\n\t}\n};\n\nexport const useGlobalStylesContext = () => useContext( GlobalStylesContext );\n\nconst useGlobalStylesEntityContent = () => {\n\treturn useEntityProp( 'postType', 'wp_global_styles', 'content' );\n};\n\nexport const useGlobalStylesReset = () => {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst canRestart = !! content && content !== EMPTY_CONTENT_STRING;\n\treturn [\n\t\tcanRestart,\n\t\tuseCallback( () => setContent( EMPTY_CONTENT_STRING ), [ setContent ] ),\n\t];\n};\n\nconst extractSupportKeys = ( supports ) => {\n\tconst supportKeys = [];\n\tObject.keys( STYLE_PROPERTY ).forEach( ( name ) => {\n\t\tif ( ! STYLE_PROPERTY[ name ].support ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Opting out means that, for certain support keys like background color,\n\t\t// blocks have to explicitly set the support value false. If the key is\n\t\t// unset, we still enable it.\n\t\tif ( STYLE_PROPERTY[ name ].requiresOptOut ) {\n\t\t\tif (\n\t\t\t\thas( supports, STYLE_PROPERTY[ name ].support[ 0 ] ) &&\n\t\t\t\tget( supports, STYLE_PROPERTY[ name ].support ) !== false\n\t\t\t) {\n\t\t\t\treturn supportKeys.push( name );\n\t\t\t}\n\t\t}\n\n\t\tif ( get( supports, STYLE_PROPERTY[ name ].support, false ) ) {\n\t\t\treturn supportKeys.push( name );\n\t\t}\n\t} );\n\treturn supportKeys;\n};\n\nconst getBlockMetadata = ( blockTypes ) => {\n\tconst result = {};\n\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst supports = extractSupportKeys( blockType?.supports );\n\n\t\tconst selector =\n\t\t\tblockType?.supports?.__experimentalSelector ??\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t\tconst blockSelectors = selector.split( ',' );\n\t\tconst elements = [];\n\t\tObject.keys( ELEMENTS ).forEach( ( key ) => {\n\t\t\tconst elementSelector = [];\n\t\t\tblockSelectors.forEach( ( blockSelector ) => {\n\t\t\t\telementSelector.push( blockSelector + ' ' + ELEMENTS[ key ] );\n\t\t\t} );\n\t\t\telements[ key ] = elementSelector.join( ',' );\n\t\t} );\n\t\tresult[ name ] = {\n\t\t\tname,\n\t\t\tselector,\n\t\t\tsupports,\n\t\t\telements,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\nfunction immutableSet( object, path, value ) {\n\treturn setWith( object ? clone( object ) : {}, path, value, clone );\n}\n\nexport default function GlobalStylesProvider( { children, baseStyles } ) {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst { blockTypes, settings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tblockTypes: select( blocksStore ).getBlockTypes(),\n\t\t\tsettings: select( editSiteStore ).getSettings(),\n\t\t};\n\t}, [] );\n\tconst { updateSettings } = useDispatch( editSiteStore );\n\n\tconst blocks = useMemo( () => getBlockMetadata( blockTypes ), [\n\t\tblockTypes,\n\t] );\n\n\tconst { __experimentalGlobalStylesBaseStyles: themeStyles } = settings;\n\tconst { userStyles, mergedStyles } = useMemo( () => {\n\t\tlet newUserStyles;\n\t\ttry {\n\t\t\tnewUserStyles = content ? JSON.parse( content ) : EMPTY_CONTENT;\n\n\t\t\t// At the moment, we ignore previous user config that\n\t\t\t// is in a different version than the theme config.\n\t\t\tif ( newUserStyles?.version !== baseStyles?.version ) {\n\t\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\t/* eslint-disable no-console */\n\t\t\tconsole.error( 'User data is not JSON' );\n\t\t\tconsole.error( e );\n\t\t\t/* eslint-enable no-console */\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\t// It is very important to verify if the flag isGlobalStylesUserThemeJSON is true.\n\t\t// If it is not true the content was not escaped and is not safe.\n\t\tif ( ! newUserStyles.isGlobalStylesUserThemeJSON ) {\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\tconst addUserToSettings = ( settingsToAdd ) => {\n\t\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\t\tconst presetData = get( settingsToAdd, path );\n\t\t\t\tif ( presetData ) {\n\t\t\t\t\tsettingsToAdd = immutableSet( settingsToAdd, path, {\n\t\t\t\t\t\tuser: presetData,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn settingsToAdd;\n\t\t};\n\n\t\tlet userStylesWithOrigin = newUserStyles;\n\t\tif ( userStylesWithOrigin.settings ) {\n\t\t\tuserStylesWithOrigin = {\n\t\t\t\t...userStylesWithOrigin,\n\t\t\t\tsettings: addUserToSettings( userStylesWithOrigin.settings ),\n\t\t\t};\n\t\t\tif ( userStylesWithOrigin.settings.blocks ) {\n\t\t\t\tuserStylesWithOrigin.settings = {\n\t\t\t\t\t...userStylesWithOrigin.settings,\n\t\t\t\t\tblocks: mapValues(\n\t\t\t\t\t\tuserStylesWithOrigin.settings.blocks,\n\t\t\t\t\t\taddUserToSettings\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// At this point, the version schema of the theme & user\n\t\t// is the same, so we can merge them.\n\t\tconst newMergedStyles = mergeWith(\n\t\t\t{},\n\t\t\tbaseStyles,\n\t\t\tuserStylesWithOrigin,\n\t\t\tmergeTreesCustomizer\n\t\t);\n\n\t\treturn {\n\t\t\tuserStyles: newUserStyles,\n\t\t\tmergedStyles: newMergedStyles,\n\t\t};\n\t}, [ content ] );\n\n\tconst nextValue = useMemo(\n\t\t() => ( {\n\t\t\troot: {\n\t\t\t\tname: ROOT_BLOCK_NAME,\n\t\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t\t\tsupports: ROOT_BLOCK_SUPPORTS,\n\t\t\t\telements: ELEMENTS,\n\t\t\t},\n\t\t\tblocks,\n\t\t\tgetSetting: ( context, propertyPath ) => {\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\t\t\t\tget( userStyles?.settings, path );\n\t\t\t},\n\t\t\tsetSetting: ( context, propertyPath, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? [ 'settings' ]\n\t\t\t\t\t\t: [ 'settings', 'blocks', context ];\n\n\t\t\t\tlet newSettings = get( newContent, path );\n\t\t\t\tif ( ! newSettings ) {\n\t\t\t\t\tnewSettings = {};\n\t\t\t\t\tset( newContent, path, newSettings );\n\t\t\t\t}\n\t\t\t\tset( newSettings, propertyPath, newValue );\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t\tgetStyle: ( context, propertyName, origin = 'merged' ) => {\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\n\t\t\t\tif ( origin === 'theme' ) {\n\t\t\t\t\tconst value = get( themeStyles?.styles, path );\n\t\t\t\t\treturn getValueFromVariable( themeStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tif ( origin === 'user' ) {\n\t\t\t\t\tconst value = get( userStyles?.styles, path );\n\n\t\t\t\t\t// We still need to use merged styles here because the\n\t\t\t\t\t// presets used to resolve user variable may be defined a\n\t\t\t\t\t// layer down ( core, theme, or user ).\n\t\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tconst value = get( mergedStyles?.styles, path );\n\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t},\n\t\t\tsetStyle: ( context, propertyName, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\n\t\t\t\tconst path =\n\t\t\t\t\tROOT_BLOCK_NAME === context\n\t\t\t\t\t\t? [ 'styles' ]\n\t\t\t\t\t\t: [ 'styles', 'blocks', context ];\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\n\t\t\t\tlet newStyles = get( newContent, path );\n\t\t\t\tif ( ! newStyles ) {\n\t\t\t\t\tnewStyles = {};\n\t\t\t\t\tset( newContent, path, newStyles );\n\t\t\t\t}\n\t\t\t\tset(\n\t\t\t\t\tnewStyles,\n\t\t\t\t\tpropertyPath,\n\t\t\t\t\tgetPresetVariable(\n\t\t\t\t\t\tmergedStyles,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tpropertyName,\n\t\t\t\t\t\tnewValue\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t} ),\n\t\t[ content, mergedStyles, themeStyles ]\n\t);\n\n\tuseEffect( () => {\n\t\tconst nonGlobalStyles = settings.styles.filter(\n\t\t\t( style ) => ! style.isGlobalStyles\n\t\t);\n\t\tconst customProperties = toCustomProperties( mergedStyles, blocks );\n\t\tconst globalStyles = toStyles( mergedStyles, blocks );\n\t\tupdateSettings( {\n\t\t\t...settings,\n\t\t\tstyles: [\n\t\t\t\t...nonGlobalStyles,\n\t\t\t\t{\n\t\t\t\t\tcss: customProperties,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t\t__experimentalNoWrapper: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcss: globalStyles,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\t__experimentalFeatures: mergedStyles.settings,\n\t\t} );\n\t}, [ blocks, mergedStyles ] );\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ nextValue }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
@@ -4,7 +4,7 @@ import { createElement, Fragment } from "@wordpress/element";
4
4
  * WordPress dependencies
5
5
  */
6
6
  import { useEffect, useState, useMemo, useCallback } from '@wordpress/element';
7
- import { AsyncModeProvider, useSelect, useDispatch } from '@wordpress/data';
7
+ import { useSelect, useDispatch } from '@wordpress/data';
8
8
  import { SlotFillProvider, Popover, Button, Notice } from '@wordpress/components';
9
9
  import { EntityProvider, store as coreStore } from '@wordpress/core-data';
10
10
  import { BlockContextProvider, BlockBreadcrumb } from '@wordpress/block-editor';
@@ -12,6 +12,7 @@ import { FullscreenMode, InterfaceSkeleton, ComplementaryArea, store as interfac
12
12
  import { EditorNotices, EditorSnackbars, EntitiesSavedStates, UnsavedChangesWarning, store as editorStore } from '@wordpress/editor';
13
13
  import { __ } from '@wordpress/i18n';
14
14
  import { PluginArea } from '@wordpress/plugins';
15
+ import { ShortcutProvider } from '@wordpress/keyboard-shortcuts';
15
16
  /**
16
17
  * Internal dependencies
17
18
  */
@@ -136,15 +137,13 @@ function Editor({
136
137
  }
137
138
 
138
139
  if (isListViewOpen) {
139
- return createElement(AsyncModeProvider, {
140
- value: "true"
141
- }, createElement(ListViewSidebar, null));
140
+ return createElement(ListViewSidebar, null);
142
141
  }
143
142
 
144
143
  return null;
145
144
  };
146
145
 
147
- return createElement(Fragment, null, createElement(URLQueryController, null), createElement(SlotFillProvider, null, createElement(EntityProvider, {
146
+ return createElement(ShortcutProvider, null, createElement(URLQueryController, null), createElement(SlotFillProvider, null, createElement(EntityProvider, {
148
147
  kind: "root",
149
148
  type: "site"
150
149
  }, createElement(EntityProvider, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["useEffect","useState","useMemo","useCallback","AsyncModeProvider","useSelect","useDispatch","SlotFillProvider","Popover","Button","Notice","EntityProvider","store","coreStore","BlockContextProvider","BlockBreadcrumb","FullscreenMode","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorNotices","EditorSnackbars","EntitiesSavedStates","UnsavedChangesWarning","editorStore","__","PluginArea","Header","SidebarComplementaryAreaFills","BlockEditor","KeyboardShortcuts","GlobalStylesProvider","NavigationSidebar","URLQueryController","InserterSidebar","ListViewSidebar","ErrorBoundary","editSiteStore","interfaceLabels","secondarySidebar","drawer","Editor","initialSettings","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","hasFinishedResolution","getEntityRecord","postType","postId","getActiveComplementaryArea","name","updateEditorSettings","setPage","setIsInserterOpened","updateSettings","defaultTemplateTypes","defaultTemplatePartAreas","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","body","classList","add","remove","siteUrl","__experimentalGlobalStylesUserEntityId","__experimentalGlobalStylesBaseStyles"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { AsyncModeProvider, useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tSlotFillProvider,\n\tPopover,\n\tButton,\n\tNotice,\n} from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport { BlockContextProvider, BlockBreadcrumb } from '@wordpress/block-editor';\nimport {\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n\tUnsavedChangesWarning,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport BlockEditor from '../block-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport GlobalStylesProvider from './global-styles-provider';\nimport NavigationSidebar from '../navigation-sidebar';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\n\nconst interfaceLabels = {\n\tsecondarySidebar: __( 'Block Library' ),\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { initialSettings, onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t};\n\t}, [] );\n\tconst { updateEditorSettings } = useDispatch( editorStore );\n\tconst { setPage, setIsInserterOpened, updateSettings } = useDispatch(\n\t\teditSiteStore\n\t);\n\tuseEffect( () => {\n\t\tupdateSettings( initialSettings );\n\t}, [] );\n\n\t// Keep the defaultTemplateTypes in the core/editor settings too,\n\t// so that they can be selected with core/editor selectors in any editor.\n\t// This is needed because edit-site doesn't initialize with EditorProvider,\n\t// which internally uses updateEditorSettings as well.\n\tconst { defaultTemplateTypes, defaultTemplatePartAreas } = settings;\n\tuseEffect( () => {\n\t\tupdateEditorSettings( {\n\t\t\tdefaultTemplateTypes,\n\t\t\tdefaultTemplatePartAreas,\n\t\t} );\n\t}, [ defaultTemplateTypes, defaultTemplatePartAreas ] );\n\n\tconst [\n\t\tisEntitiesSavedStatesOpen,\n\t\tsetIsEntitiesSavedStatesOpen,\n\t] = useState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\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],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\t// Don't render the Editor until the settings are set and loaded\n\tif ( ! settings?.siteUrl ) {\n\t\treturn null;\n\t}\n\n\tconst secondarySidebar = () => {\n\t\tif ( isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( isListViewOpen ) {\n\t\t\treturn (\n\t\t\t\t<AsyncModeProvider value=\"true\">\n\t\t\t\t\t<ListViewSidebar />\n\t\t\t\t</AsyncModeProvider>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<URLQueryController />\n\t\t\t<SlotFillProvider>\n\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype=\"wp_global_styles\"\n\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesUserEntityId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t<GlobalStylesProvider\n\t\t\t\t\t\t\t\t\tbaseStyles={\n\t\t\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesBaseStyles\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<FullscreenMode isActive />\n\t\t\t\t\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\t\t\t\t\t\t\t\tdrawer={ <NavigationSidebar /> }\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ template && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={ <BlockBreadcrumb /> }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t\t<PluginArea />\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</SlotFillProvider>\n\t\t</>\n\t);\n}\nexport default Editor;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["useEffect","useState","useMemo","useCallback","useSelect","useDispatch","SlotFillProvider","Popover","Button","Notice","EntityProvider","store","coreStore","BlockContextProvider","BlockBreadcrumb","FullscreenMode","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorNotices","EditorSnackbars","EntitiesSavedStates","UnsavedChangesWarning","editorStore","__","PluginArea","ShortcutProvider","Header","SidebarComplementaryAreaFills","BlockEditor","KeyboardShortcuts","GlobalStylesProvider","NavigationSidebar","URLQueryController","InserterSidebar","ListViewSidebar","ErrorBoundary","editSiteStore","interfaceLabels","secondarySidebar","drawer","Editor","initialSettings","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","hasFinishedResolution","getEntityRecord","postType","postId","getActiveComplementaryArea","name","updateEditorSettings","setPage","setIsInserterOpened","updateSettings","defaultTemplateTypes","defaultTemplatePartAreas","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","body","classList","add","remove","siteUrl","__experimentalGlobalStylesUserEntityId","__experimentalGlobalStylesBaseStyles"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tSlotFillProvider,\n\tPopover,\n\tButton,\n\tNotice,\n} from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport { BlockContextProvider, BlockBreadcrumb } from '@wordpress/block-editor';\nimport {\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n\tUnsavedChangesWarning,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport BlockEditor from '../block-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport GlobalStylesProvider from './global-styles-provider';\nimport NavigationSidebar from '../navigation-sidebar';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\n\nconst interfaceLabels = {\n\tsecondarySidebar: __( 'Block Library' ),\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { initialSettings, onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t};\n\t}, [] );\n\tconst { updateEditorSettings } = useDispatch( editorStore );\n\tconst { setPage, setIsInserterOpened, updateSettings } = useDispatch(\n\t\teditSiteStore\n\t);\n\tuseEffect( () => {\n\t\tupdateSettings( initialSettings );\n\t}, [] );\n\n\t// Keep the defaultTemplateTypes in the core/editor settings too,\n\t// so that they can be selected with core/editor selectors in any editor.\n\t// This is needed because edit-site doesn't initialize with EditorProvider,\n\t// which internally uses updateEditorSettings as well.\n\tconst { defaultTemplateTypes, defaultTemplatePartAreas } = settings;\n\tuseEffect( () => {\n\t\tupdateEditorSettings( {\n\t\t\tdefaultTemplateTypes,\n\t\t\tdefaultTemplatePartAreas,\n\t\t} );\n\t}, [ defaultTemplateTypes, defaultTemplatePartAreas ] );\n\n\tconst [\n\t\tisEntitiesSavedStatesOpen,\n\t\tsetIsEntitiesSavedStatesOpen,\n\t] = useState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\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],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\t// Don't render the Editor until the settings are set and loaded\n\tif ( ! settings?.siteUrl ) {\n\t\treturn null;\n\t}\n\n\tconst secondarySidebar = () => {\n\t\tif ( isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( isListViewOpen ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<ShortcutProvider>\n\t\t\t<URLQueryController />\n\t\t\t<SlotFillProvider>\n\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype=\"wp_global_styles\"\n\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesUserEntityId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t<GlobalStylesProvider\n\t\t\t\t\t\t\t\t\tbaseStyles={\n\t\t\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesBaseStyles\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<FullscreenMode isActive />\n\t\t\t\t\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\t\t\t\t\t\t\t\tdrawer={ <NavigationSidebar /> }\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ template && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={ <BlockBreadcrumb /> }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t\t<PluginArea />\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\nexport default Editor;\n"]}
@@ -17,7 +17,7 @@ import { store as editSiteStore } from '../../store';
17
17
 
18
18
  export const ROOT_BLOCK_NAME = 'root';
19
19
  export const ROOT_BLOCK_SELECTOR = 'body';
20
- export const ROOT_BLOCK_SUPPORTS = ['background', 'backgroundColor', 'color', 'linkColor', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'lineHeight', 'textDecoration', 'textTransform'];
20
+ export const ROOT_BLOCK_SUPPORTS = ['background', 'backgroundColor', 'color', 'linkColor', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'lineHeight', 'textDecoration', 'textTransform', 'padding'];
21
21
  export const PRESET_METADATA = [{
22
22
  path: ['color', 'palette'],
23
23
  valueKey: 'color',
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/editor/utils.js"],"names":["get","find","forEach","camelCase","isString","useSelect","__EXPERIMENTAL_PATHS_WITH_MERGE","PATHS_WITH_MERGE","store","editSiteStore","ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","PRESET_METADATA","path","valueKey","cssVarInfix","classes","classSuffix","propertyName","STYLE_PROPERTIES_TO_CSS_VAR_INFIX","linkColor","backgroundColor","background","getPresetMetadataFromStyleProperty","styleProperty","MAP","index","value","key","useSetting","blockName","settings","select","getSettings","topLevelPath","blockPath","result","user","theme","core","findInPresetsBy","styles","context","presetPath","presetProperty","presetValueValue","orderedPresetsByOrigin","presetByOrigin","origins","origin","presets","presetObject","preset","highestPresetObjectWithSameSlug","slug","undefined","getPresetVariable","metadata","getValueFromPresetVariable","variable","presetType","getValueFromVariable","getValueFromCustomVariable","parsedVar","INTERNAL_REFERENCE_PREFIX","CSS_REFERENCE_PREFIX","CSS_REFERENCE_SUFFIX","startsWith","slice","length","split","endsWith","type"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, find, forEach, camelCase, isString } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __EXPERIMENTAL_PATHS_WITH_MERGE as PATHS_WITH_MERGE } from '@wordpress/blocks';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/* Supporting data */\nexport const ROOT_BLOCK_NAME = 'root';\nexport const ROOT_BLOCK_SELECTOR = 'body';\nexport const ROOT_BLOCK_SUPPORTS = [\n\t'background',\n\t'backgroundColor',\n\t'color',\n\t'linkColor',\n\t'fontFamily',\n\t'fontSize',\n\t'fontStyle',\n\t'fontWeight',\n\t'lineHeight',\n\t'textDecoration',\n\t'textTransform',\n];\n\nexport const PRESET_METADATA = [\n\t{\n\t\tpath: [ 'color', 'palette' ],\n\t\tvalueKey: 'color',\n\t\tcssVarInfix: 'color',\n\t\tclasses: [\n\t\t\t{ classSuffix: 'color', propertyName: 'color' },\n\t\t\t{\n\t\t\t\tclassSuffix: 'background-color',\n\t\t\t\tpropertyName: 'background-color',\n\t\t\t},\n\t\t\t{\n\t\t\t\tclassSuffix: 'border-color',\n\t\t\t\tpropertyName: 'border-color',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'color', 'gradients' ],\n\t\tvalueKey: 'gradient',\n\t\tcssVarInfix: 'gradient',\n\t\tclasses: [\n\t\t\t{\n\t\t\t\tclassSuffix: 'gradient-background',\n\t\t\t\tpropertyName: 'background',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontSizes' ],\n\t\tvalueKey: 'size',\n\t\tcssVarInfix: 'font-size',\n\t\tclasses: [ { classSuffix: 'font-size', propertyName: 'font-size' } ],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontFamilies' ],\n\t\tvalueKey: 'fontFamily',\n\t\tcssVarInfix: 'font-family',\n\t\tclasses: [],\n\t},\n];\n\nconst STYLE_PROPERTIES_TO_CSS_VAR_INFIX = {\n\tlinkColor: 'color',\n\tbackgroundColor: 'color',\n\tbackground: 'gradient',\n};\n\nfunction getPresetMetadataFromStyleProperty( styleProperty ) {\n\tif ( ! getPresetMetadataFromStyleProperty.MAP ) {\n\t\tgetPresetMetadataFromStyleProperty.MAP = {};\n\t\tPRESET_METADATA.forEach( ( { cssVarInfix }, index ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ camelCase( cssVarInfix ) ] =\n\t\t\t\tPRESET_METADATA[ index ];\n\t\t} );\n\t\tforEach( STYLE_PROPERTIES_TO_CSS_VAR_INFIX, ( value, key ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ key ] =\n\t\t\t\tgetPresetMetadataFromStyleProperty.MAP[ value ];\n\t\t} );\n\t}\n\treturn getPresetMetadataFromStyleProperty.MAP[ styleProperty ];\n}\n\nexport function useSetting( path, blockName = '' ) {\n\tconst settings = useSelect( ( select ) => {\n\t\treturn select( editSiteStore ).getSettings();\n\t} );\n\tconst topLevelPath = `__experimentalFeatures.${ path }`;\n\tconst blockPath = `__experimentalFeatures.blocks.${ blockName }.${ path }`;\n\tconst result = get( settings, blockPath ) ?? get( settings, topLevelPath );\n\tif ( result && PATHS_WITH_MERGE[ path ] ) {\n\t\treturn result.user ?? result.theme ?? result.core;\n\t}\n\treturn result;\n}\n\nfunction findInPresetsBy(\n\tstyles,\n\tcontext,\n\tpresetPath,\n\tpresetProperty,\n\tpresetValueValue\n) {\n\t// Block presets take priority above root level presets.\n\tconst orderedPresetsByOrigin = [\n\t\tget( styles, [ 'settings', 'blocks', context, ...presetPath ] ),\n\t\tget( styles, [ 'settings', ...presetPath ] ),\n\t];\n\tfor ( const presetByOrigin of orderedPresetsByOrigin ) {\n\t\tif ( presetByOrigin ) {\n\t\t\t// Preset origins ordered by priority.\n\t\t\tconst origins = [ 'user', 'theme', 'core' ];\n\t\t\tfor ( const origin of origins ) {\n\t\t\t\tconst presets = presetByOrigin[ origin ];\n\t\t\t\tif ( presets ) {\n\t\t\t\t\tconst presetObject = find(\n\t\t\t\t\t\tpresets,\n\t\t\t\t\t\t( preset ) =>\n\t\t\t\t\t\t\tpreset[ presetProperty ] === presetValueValue\n\t\t\t\t\t);\n\t\t\t\t\tif ( presetObject ) {\n\t\t\t\t\t\tif ( presetProperty === 'slug' ) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// if there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored.\n\t\t\t\t\t\tconst highestPresetObjectWithSameSlug = findInPresetsBy(\n\t\t\t\t\t\t\tstyles,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tpresetPath,\n\t\t\t\t\t\t\t'slug',\n\t\t\t\t\t\t\tpresetObject.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\thighestPresetObjectWithSameSlug[\n\t\t\t\t\t\t\t\tpresetProperty\n\t\t\t\t\t\t\t] === presetObject[ presetProperty ]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function getPresetVariable( styles, context, propertyName, value ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\tconst metadata = getPresetMetadataFromStyleProperty( propertyName );\n\tif ( ! metadata ) {\n\t\t// The property doesn't have preset data\n\t\t// so the value should be returned as it is.\n\t\treturn value;\n\t}\n\tconst { valueKey, path, cssVarInfix } = metadata;\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tcontext,\n\t\tpath,\n\t\tvalueKey,\n\t\tvalue\n\t);\n\n\tif ( ! presetObject ) {\n\t\t// Value wasn't found in the presets,\n\t\t// so it must be a custom value.\n\t\treturn value;\n\t}\n\n\treturn `var:preset|${ cssVarInfix }|${ presetObject.slug }`;\n}\n\nfunction getValueFromPresetVariable(\n\tstyles,\n\tblockName,\n\tvariable,\n\t[ presetType, slug ]\n) {\n\tpresetType = camelCase( presetType );\n\tconst metadata = getPresetMetadataFromStyleProperty( presetType );\n\tif ( ! metadata ) {\n\t\treturn variable;\n\t}\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tblockName,\n\t\tmetadata.path,\n\t\t'slug',\n\t\tslug\n\t);\n\n\tif ( presetObject ) {\n\t\tconst { valueKey } = metadata;\n\t\tconst result = presetObject[ valueKey ];\n\t\treturn getValueFromVariable( styles, blockName, result );\n\t}\n\n\treturn variable;\n}\n\nfunction getValueFromCustomVariable( styles, blockName, variable, path ) {\n\tconst result =\n\t\tget( styles, [ 'settings', 'blocks', blockName, 'custom', ...path ] ) ??\n\t\tget( styles, [ 'settings', 'custom', ...path ] );\n\tif ( ! result ) {\n\t\treturn variable;\n\t}\n\t// A variable may reference another variable so we need recursion until we find the value.\n\treturn getValueFromVariable( styles, blockName, result );\n}\n\nexport function getValueFromVariable( styles, blockName, variable ) {\n\tif ( ! variable || ! isString( variable ) ) {\n\t\treturn variable;\n\t}\n\n\tlet parsedVar;\n\tconst INTERNAL_REFERENCE_PREFIX = 'var:';\n\tconst CSS_REFERENCE_PREFIX = 'var(--wp--';\n\tconst CSS_REFERENCE_SUFFIX = ')';\n\tif ( variable.startsWith( INTERNAL_REFERENCE_PREFIX ) ) {\n\t\tparsedVar = variable\n\t\t\t.slice( INTERNAL_REFERENCE_PREFIX.length )\n\t\t\t.split( '|' );\n\t} else if (\n\t\tvariable.startsWith( CSS_REFERENCE_PREFIX ) &&\n\t\tvariable.endsWith( CSS_REFERENCE_SUFFIX )\n\t) {\n\t\tparsedVar = variable\n\t\t\t.slice( CSS_REFERENCE_PREFIX.length, -CSS_REFERENCE_SUFFIX.length )\n\t\t\t.split( '--' );\n\t} else {\n\t\t// Value is raw.\n\t\treturn variable;\n\t}\n\n\tconst [ type, ...path ] = parsedVar;\n\tif ( type === 'preset' ) {\n\t\treturn getValueFromPresetVariable( styles, blockName, variable, path );\n\t}\n\tif ( type === 'custom' ) {\n\t\treturn getValueFromCustomVariable( styles, blockName, variable, path );\n\t}\n\treturn variable;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/editor/utils.js"],"names":["get","find","forEach","camelCase","isString","useSelect","__EXPERIMENTAL_PATHS_WITH_MERGE","PATHS_WITH_MERGE","store","editSiteStore","ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","PRESET_METADATA","path","valueKey","cssVarInfix","classes","classSuffix","propertyName","STYLE_PROPERTIES_TO_CSS_VAR_INFIX","linkColor","backgroundColor","background","getPresetMetadataFromStyleProperty","styleProperty","MAP","index","value","key","useSetting","blockName","settings","select","getSettings","topLevelPath","blockPath","result","user","theme","core","findInPresetsBy","styles","context","presetPath","presetProperty","presetValueValue","orderedPresetsByOrigin","presetByOrigin","origins","origin","presets","presetObject","preset","highestPresetObjectWithSameSlug","slug","undefined","getPresetVariable","metadata","getValueFromPresetVariable","variable","presetType","getValueFromVariable","getValueFromCustomVariable","parsedVar","INTERNAL_REFERENCE_PREFIX","CSS_REFERENCE_PREFIX","CSS_REFERENCE_SUFFIX","startsWith","slice","length","split","endsWith","type"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, find, forEach, camelCase, isString } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __EXPERIMENTAL_PATHS_WITH_MERGE as PATHS_WITH_MERGE } from '@wordpress/blocks';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/* Supporting data */\nexport const ROOT_BLOCK_NAME = 'root';\nexport const ROOT_BLOCK_SELECTOR = 'body';\nexport const ROOT_BLOCK_SUPPORTS = [\n\t'background',\n\t'backgroundColor',\n\t'color',\n\t'linkColor',\n\t'fontFamily',\n\t'fontSize',\n\t'fontStyle',\n\t'fontWeight',\n\t'lineHeight',\n\t'textDecoration',\n\t'textTransform',\n\t'padding',\n];\n\nexport const PRESET_METADATA = [\n\t{\n\t\tpath: [ 'color', 'palette' ],\n\t\tvalueKey: 'color',\n\t\tcssVarInfix: 'color',\n\t\tclasses: [\n\t\t\t{ classSuffix: 'color', propertyName: 'color' },\n\t\t\t{\n\t\t\t\tclassSuffix: 'background-color',\n\t\t\t\tpropertyName: 'background-color',\n\t\t\t},\n\t\t\t{\n\t\t\t\tclassSuffix: 'border-color',\n\t\t\t\tpropertyName: 'border-color',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'color', 'gradients' ],\n\t\tvalueKey: 'gradient',\n\t\tcssVarInfix: 'gradient',\n\t\tclasses: [\n\t\t\t{\n\t\t\t\tclassSuffix: 'gradient-background',\n\t\t\t\tpropertyName: 'background',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontSizes' ],\n\t\tvalueKey: 'size',\n\t\tcssVarInfix: 'font-size',\n\t\tclasses: [ { classSuffix: 'font-size', propertyName: 'font-size' } ],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontFamilies' ],\n\t\tvalueKey: 'fontFamily',\n\t\tcssVarInfix: 'font-family',\n\t\tclasses: [],\n\t},\n];\n\nconst STYLE_PROPERTIES_TO_CSS_VAR_INFIX = {\n\tlinkColor: 'color',\n\tbackgroundColor: 'color',\n\tbackground: 'gradient',\n};\n\nfunction getPresetMetadataFromStyleProperty( styleProperty ) {\n\tif ( ! getPresetMetadataFromStyleProperty.MAP ) {\n\t\tgetPresetMetadataFromStyleProperty.MAP = {};\n\t\tPRESET_METADATA.forEach( ( { cssVarInfix }, index ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ camelCase( cssVarInfix ) ] =\n\t\t\t\tPRESET_METADATA[ index ];\n\t\t} );\n\t\tforEach( STYLE_PROPERTIES_TO_CSS_VAR_INFIX, ( value, key ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ key ] =\n\t\t\t\tgetPresetMetadataFromStyleProperty.MAP[ value ];\n\t\t} );\n\t}\n\treturn getPresetMetadataFromStyleProperty.MAP[ styleProperty ];\n}\n\nexport function useSetting( path, blockName = '' ) {\n\tconst settings = useSelect( ( select ) => {\n\t\treturn select( editSiteStore ).getSettings();\n\t} );\n\tconst topLevelPath = `__experimentalFeatures.${ path }`;\n\tconst blockPath = `__experimentalFeatures.blocks.${ blockName }.${ path }`;\n\tconst result = get( settings, blockPath ) ?? get( settings, topLevelPath );\n\tif ( result && PATHS_WITH_MERGE[ path ] ) {\n\t\treturn result.user ?? result.theme ?? result.core;\n\t}\n\treturn result;\n}\n\nfunction findInPresetsBy(\n\tstyles,\n\tcontext,\n\tpresetPath,\n\tpresetProperty,\n\tpresetValueValue\n) {\n\t// Block presets take priority above root level presets.\n\tconst orderedPresetsByOrigin = [\n\t\tget( styles, [ 'settings', 'blocks', context, ...presetPath ] ),\n\t\tget( styles, [ 'settings', ...presetPath ] ),\n\t];\n\tfor ( const presetByOrigin of orderedPresetsByOrigin ) {\n\t\tif ( presetByOrigin ) {\n\t\t\t// Preset origins ordered by priority.\n\t\t\tconst origins = [ 'user', 'theme', 'core' ];\n\t\t\tfor ( const origin of origins ) {\n\t\t\t\tconst presets = presetByOrigin[ origin ];\n\t\t\t\tif ( presets ) {\n\t\t\t\t\tconst presetObject = find(\n\t\t\t\t\t\tpresets,\n\t\t\t\t\t\t( preset ) =>\n\t\t\t\t\t\t\tpreset[ presetProperty ] === presetValueValue\n\t\t\t\t\t);\n\t\t\t\t\tif ( presetObject ) {\n\t\t\t\t\t\tif ( presetProperty === 'slug' ) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// if there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored.\n\t\t\t\t\t\tconst highestPresetObjectWithSameSlug = findInPresetsBy(\n\t\t\t\t\t\t\tstyles,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tpresetPath,\n\t\t\t\t\t\t\t'slug',\n\t\t\t\t\t\t\tpresetObject.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\thighestPresetObjectWithSameSlug[\n\t\t\t\t\t\t\t\tpresetProperty\n\t\t\t\t\t\t\t] === presetObject[ presetProperty ]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function getPresetVariable( styles, context, propertyName, value ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\tconst metadata = getPresetMetadataFromStyleProperty( propertyName );\n\tif ( ! metadata ) {\n\t\t// The property doesn't have preset data\n\t\t// so the value should be returned as it is.\n\t\treturn value;\n\t}\n\tconst { valueKey, path, cssVarInfix } = metadata;\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tcontext,\n\t\tpath,\n\t\tvalueKey,\n\t\tvalue\n\t);\n\n\tif ( ! presetObject ) {\n\t\t// Value wasn't found in the presets,\n\t\t// so it must be a custom value.\n\t\treturn value;\n\t}\n\n\treturn `var:preset|${ cssVarInfix }|${ presetObject.slug }`;\n}\n\nfunction getValueFromPresetVariable(\n\tstyles,\n\tblockName,\n\tvariable,\n\t[ presetType, slug ]\n) {\n\tpresetType = camelCase( presetType );\n\tconst metadata = getPresetMetadataFromStyleProperty( presetType );\n\tif ( ! metadata ) {\n\t\treturn variable;\n\t}\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tblockName,\n\t\tmetadata.path,\n\t\t'slug',\n\t\tslug\n\t);\n\n\tif ( presetObject ) {\n\t\tconst { valueKey } = metadata;\n\t\tconst result = presetObject[ valueKey ];\n\t\treturn getValueFromVariable( styles, blockName, result );\n\t}\n\n\treturn variable;\n}\n\nfunction getValueFromCustomVariable( styles, blockName, variable, path ) {\n\tconst result =\n\t\tget( styles, [ 'settings', 'blocks', blockName, 'custom', ...path ] ) ??\n\t\tget( styles, [ 'settings', 'custom', ...path ] );\n\tif ( ! result ) {\n\t\treturn variable;\n\t}\n\t// A variable may reference another variable so we need recursion until we find the value.\n\treturn getValueFromVariable( styles, blockName, result );\n}\n\nexport function getValueFromVariable( styles, blockName, variable ) {\n\tif ( ! variable || ! isString( variable ) ) {\n\t\treturn variable;\n\t}\n\n\tlet parsedVar;\n\tconst INTERNAL_REFERENCE_PREFIX = 'var:';\n\tconst CSS_REFERENCE_PREFIX = 'var(--wp--';\n\tconst CSS_REFERENCE_SUFFIX = ')';\n\tif ( variable.startsWith( INTERNAL_REFERENCE_PREFIX ) ) {\n\t\tparsedVar = variable\n\t\t\t.slice( INTERNAL_REFERENCE_PREFIX.length )\n\t\t\t.split( '|' );\n\t} else if (\n\t\tvariable.startsWith( CSS_REFERENCE_PREFIX ) &&\n\t\tvariable.endsWith( CSS_REFERENCE_SUFFIX )\n\t) {\n\t\tparsedVar = variable\n\t\t\t.slice( CSS_REFERENCE_PREFIX.length, -CSS_REFERENCE_SUFFIX.length )\n\t\t\t.split( '--' );\n\t} else {\n\t\t// Value is raw.\n\t\treturn variable;\n\t}\n\n\tconst [ type, ...path ] = parsedVar;\n\tif ( type === 'preset' ) {\n\t\treturn getValueFromPresetVariable( styles, blockName, variable, path );\n\t}\n\tif ( type === 'custom' ) {\n\t\treturn getValueFromCustomVariable( styles, blockName, variable, path );\n\t}\n\treturn variable;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/border-panel.js"],"names":["__experimentalBorderRadiusControl","BorderRadiusControl","__experimentalBorderStyleControl","BorderStyleControl","__experimentalColorGradientControl","ColorGradientControl","PanelBody","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__","useSetting","MIN_BORDER_WIDTH","EMPTY_ARRAY","useHasBorderPanel","supports","name","controls","useHasBorderColorControl","useHasBorderRadiusControl","useHasBorderStyleControl","useHasBorderWidthControl","some","Boolean","includes","BorderPanel","context","getStyle","setStyle","units","availableUnits","hasBorderWidth","borderWidthValue","hasBorderStyle","borderStyle","colors","disableCustomColors","disableCustomGradients","hasBorderColor","borderColor","hasBorderRadius","borderRadiusValues","value","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderRadiusControl as BorderRadiusControl,\n\t__experimentalBorderStyleControl as BorderStyleControl,\n\t__experimentalColorGradientControl as ColorGradientControl,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from '../editor/utils';\n\nconst MIN_BORDER_WIDTH = 0;\n\n// Defining empty array here instead of inline avoids unnecessary re-renders of\n// color control.\nconst EMPTY_ARRAY = [];\n\nexport function useHasBorderPanel( { supports, name } ) {\n\tconst controls = [\n\t\tuseHasBorderColorControl( { supports, name } ),\n\t\tuseHasBorderRadiusControl( { supports, name } ),\n\t\tuseHasBorderStyleControl( { supports, name } ),\n\t\tuseHasBorderWidthControl( { supports, name } ),\n\t];\n\n\treturn controls.some( Boolean );\n}\n\nfunction useHasBorderColorControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customColor', name ) &&\n\t\tsupports.includes( 'borderColor' )\n\t);\n}\n\nfunction useHasBorderRadiusControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customRadius', name ) &&\n\t\tsupports.includes( 'borderRadius' )\n\t);\n}\n\nfunction useHasBorderStyleControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customStyle', name ) &&\n\t\tsupports.includes( 'borderStyle' )\n\t);\n}\n\nfunction useHasBorderWidthControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customWidth', name ) &&\n\t\tsupports.includes( 'borderWidth' )\n\t);\n}\n\nexport default function BorderPanel( {\n\tcontext: { supports, name },\n\tgetStyle,\n\tsetStyle,\n} ) {\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [ 'px', 'em', 'rem' ],\n\t} );\n\n\t// Border width.\n\tconst hasBorderWidth = useHasBorderWidthControl( { supports, name } );\n\tconst borderWidthValue = getStyle( name, 'borderWidth' );\n\n\t// Border style.\n\tconst hasBorderStyle = useHasBorderStyleControl( { supports, name } );\n\tconst borderStyle = getStyle( name, 'borderStyle' );\n\n\t// Border color.\n\tconst colors = useSetting( 'color.palette' ) || EMPTY_ARRAY;\n\tconst disableCustomColors = ! useSetting( 'color.custom' );\n\tconst disableCustomGradients = ! useSetting( 'color.customGradient' );\n\tconst hasBorderColor = useHasBorderColorControl( { supports, name } );\n\tconst borderColor = getStyle( name, 'borderColor' );\n\n\t// Border radius.\n\tconst hasBorderRadius = useHasBorderRadiusControl( { supports, name } );\n\tconst borderRadiusValues = getStyle( name, 'borderRadius' );\n\n\treturn (\n\t\t<PanelBody title={ __( 'Border' ) } initialOpen={ true }>\n\t\t\t{ ( hasBorderWidth || hasBorderStyle ) && (\n\t\t\t\t<div className=\"edit-site-global-styles-sidebar__border-controls-row\">\n\t\t\t\t\t{ hasBorderWidth && (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tvalue={ borderWidthValue }\n\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\tmin={ MIN_BORDER_WIDTH }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetStyle(\n\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t'borderWidth',\n\t\t\t\t\t\t\t\t\tvalue || undefined\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasBorderStyle && (\n\t\t\t\t\t\t<BorderStyleControl\n\t\t\t\t\t\t\tvalue={ borderStyle }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetStyle( name, 'borderStyle', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasBorderColor && (\n\t\t\t\t<ColorGradientControl\n\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\tcolorValue={ borderColor }\n\t\t\t\t\tcolors={ colors }\n\t\t\t\t\tgradients={ undefined }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tdisableCustomGradients={ disableCustomGradients }\n\t\t\t\t\tonColorChange={ ( value ) =>\n\t\t\t\t\t\tsetStyle( name, 'borderColor', value )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBorderRadius && (\n\t\t\t\t<BorderRadiusControl\n\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetStyle( name, 'borderRadius', value )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n}\n"]}
@@ -52,7 +52,9 @@ export default function ColorPalettePanel({
52
52
  slug
53
53
  }) => slug);
54
54
  }, [contextName]);
55
- return createElement(ColorEdit, {
55
+ return createElement("div", {
56
+ className: "edit-site-global-styles-color-palette-panel"
57
+ }, createElement(ColorEdit, {
56
58
  immutableColorSlugs: immutableColorSlugs,
57
59
  colors: colors,
58
60
  onChange: newColors => {
@@ -60,6 +62,6 @@ export default function ColorPalettePanel({
60
62
  },
61
63
  emptyUI: __('Colors are empty! Add some colors to create your own color palette.'),
62
64
  canReset: colors === userColors
63
- });
65
+ }));
64
66
  }
65
67
  //# sourceMappingURL=color-palette-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/color-palette-panel.js"],"names":["get","__experimentalColorEdit","ColorEdit","__","useSelect","useSetting","store","editSiteStore","EMPTY_ARRAY","ColorPalettePanel","contextName","getSetting","setSetting","colors","userColors","immutableColorSlugs","select","baseStyles","getSettings","__experimentalGlobalStylesBaseStyles","contextualBasePalette","globalPalette","basePalette","theme","core","map","slug","newColors"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SAASC,uBAAuB,IAAIC,SAApC,QAAqD,uBAArD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,WAAW,GAAG,EAApB;AAEA,eAAe,SAASC,iBAAT,CAA4B;AAC1CC,EAAAA,WAD0C;AAE1CC,EAAAA,UAF0C;AAG1CC,EAAAA;AAH0C,CAA5B,EAIX;AACH,QAAMC,MAAM,GAAGR,UAAU,CAAE,eAAF,EAAmBK,WAAnB,CAAzB;AACA,QAAMI,UAAU,GAAGH,UAAU,CAAED,WAAF,EAAe,eAAf,CAA7B;AACA,QAAMK,mBAAmB,GAAGX,SAAS,CAClCY,MAAF,IAAc;AAAA;;AACb,UAAMC,UAAU,GAAGD,MAAM,CAAET,aAAF,CAAN,CAAwBW,WAAxB,GACjBC,oCADF;;AAEA,UAAMC,qBAAqB,GAAGpB,GAAG,CAAEiB,UAAF,EAAc,CAC9C,UAD8C,EAE9C,QAF8C,EAG9CP,WAH8C,EAI9C,OAJ8C,EAK9C,SAL8C,CAAd,CAAjC;AAOA,UAAMW,aAAa,GAAGrB,GAAG,CAAEiB,UAAF,EAAc,CACtC,UADsC,EAEtC,OAFsC,EAGtC,SAHsC,CAAd,CAAzB;AAKA,UAAMK,WAAW,6CAChBF,qBADgB,aAChBA,qBADgB,uBAChBA,qBAAqB,CAAEG,KADP,yEAEhBH,qBAFgB,aAEhBA,qBAFgB,uBAEhBA,qBAAqB,CAAEI,IAFP,yCAGhBH,aAHgB,aAGhBA,aAHgB,uBAGhBA,aAAa,CAAEE,KAHC,uCAIhBF,aAJgB,aAIhBA,aAJgB,uBAIhBA,aAAa,CAAEG,IAJhB;;AAKA,QAAK,CAAEF,WAAP,EAAqB;AACpB,aAAOd,WAAP;AACA;;AACD,WAAOc,WAAW,CAACG,GAAZ,CAAiB,CAAE;AAAEC,MAAAA;AAAF,KAAF,KAAgBA,IAAjC,CAAP;AACA,GAzBmC,EA0BpC,CAAEhB,WAAF,CA1BoC,CAArC;AA4BA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,SAAD;AACC,IAAA,mBAAmB,EAAGK,mBADvB;AAEC,IAAA,MAAM,EAAGF,MAFV;AAGC,IAAA,QAAQ,EAAKc,SAAF,IAAiB;AAC3Bf,MAAAA,UAAU,CAAEF,WAAF,EAAe,eAAf,EAAgCiB,SAAhC,CAAV;AACA,KALF;AAMC,IAAA,OAAO,EAAGxB,EAAE,CACX,qEADW,CANb;AASC,IAAA,QAAQ,EAAGU,MAAM,KAAKC;AATvB,IADD,CADD;AAeA","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalColorEdit as ColorEdit } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from '../editor/utils';\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation, as in a connected or\n * other pure component which performs `shouldComponentUpdate` check on props.\n * This should be used as a last resort, since the normalized data should be\n * maintained by the reducer result in state.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport default function ColorPalettePanel( {\n\tcontextName,\n\tgetSetting,\n\tsetSetting,\n} ) {\n\tconst colors = useSetting( 'color.palette', contextName );\n\tconst userColors = getSetting( contextName, 'color.palette' );\n\tconst immutableColorSlugs = useSelect(\n\t\t( select ) => {\n\t\t\tconst baseStyles = select( editSiteStore ).getSettings()\n\t\t\t\t.__experimentalGlobalStylesBaseStyles;\n\t\t\tconst contextualBasePalette = get( baseStyles, [\n\t\t\t\t'settings',\n\t\t\t\t'blocks',\n\t\t\t\tcontextName,\n\t\t\t\t'color',\n\t\t\t\t'palette',\n\t\t\t] );\n\t\t\tconst globalPalette = get( baseStyles, [\n\t\t\t\t'settings',\n\t\t\t\t'color',\n\t\t\t\t'palette',\n\t\t\t] );\n\t\t\tconst basePalette =\n\t\t\t\tcontextualBasePalette?.theme ??\n\t\t\t\tcontextualBasePalette?.core ??\n\t\t\t\tglobalPalette?.theme ??\n\t\t\t\tglobalPalette?.core;\n\t\t\tif ( ! basePalette ) {\n\t\t\t\treturn EMPTY_ARRAY;\n\t\t\t}\n\t\t\treturn basePalette.map( ( { slug } ) => slug );\n\t\t},\n\t\t[ contextName ]\n\t);\n\treturn (\n\t\t<div className=\"edit-site-global-styles-color-palette-panel\">\n\t\t\t<ColorEdit\n\t\t\t\timmutableColorSlugs={ immutableColorSlugs }\n\t\t\t\tcolors={ colors }\n\t\t\t\tonChange={ ( newColors ) => {\n\t\t\t\t\tsetSetting( contextName, 'color.palette', newColors );\n\t\t\t\t} }\n\t\t\t\temptyUI={ __(\n\t\t\t\t\t'Colors are empty! Add some colors to create your own color palette.'\n\t\t\t\t) }\n\t\t\t\tcanReset={ colors === userColors }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement, Fragment } from "@wordpress/element";
2
2
 
3
3
  /**
4
4
  * WordPress dependencies
@@ -10,7 +10,7 @@ import { __ } from '@wordpress/i18n';
10
10
  */
11
11
 
12
12
  import { useSetting } from '../editor/utils';
13
- import ColorPalettePanel from './color-palette-panel';
13
+ import Palette from './palette';
14
14
  export function useHasColorPanel({
15
15
  supports
16
16
  }) {
@@ -22,9 +22,7 @@ export default function ColorPanel({
22
22
  name
23
23
  },
24
24
  getStyle,
25
- setStyle,
26
- getSetting,
27
- setSetting
25
+ setStyle
28
26
  }) {
29
27
  const solids = useSetting('color.palette', name);
30
28
  const gradients = useSetting('color.gradients', name);
@@ -98,18 +96,16 @@ export default function ColorPanel({
98
96
  });
99
97
  }
100
98
 
101
- return createElement(PanelColorGradientSettings, {
99
+ return createElement(Fragment, null, createElement(Palette, {
100
+ contextName: name
101
+ }), createElement(PanelColorGradientSettings, {
102
102
  title: __('Color'),
103
103
  settings: settings,
104
104
  colors: solids,
105
105
  gradients: gradients,
106
106
  disableCustomColors: !areCustomSolidsEnabled,
107
- disableCustomGradients: !areCustomGradientsEnabled
108
- }, createElement(ColorPalettePanel, {
109
- key: 'color-palette-panel-' + name,
110
- contextName: name,
111
- getSetting: getSetting,
112
- setSetting: setSetting
107
+ disableCustomGradients: !areCustomGradientsEnabled,
108
+ showTitle: false
113
109
  }));
114
110
  }
115
111
  //# sourceMappingURL=color-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/color-panel.js"],"names":["__experimentalPanelColorGradientSettings","PanelColorGradientSettings","__","useSetting","Palette","useHasColorPanel","supports","includes","ColorPanel","context","name","getStyle","setStyle","solids","gradients","areCustomSolidsEnabled","areCustomGradientsEnabled","isLinkEnabled","isTextEnabled","isBackgroundEnabled","hasLinkColor","length","hasTextColor","hasBackgroundColor","hasGradientColor","settings","color","userColor","push","colorValue","onColorChange","value","label","clearable","backgroundSettings","backgroundColor","userBackgroundColor","gradientSettings","gradient","userGradient","gradientValue","onGradientChange"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalPanelColorGradientSettings as PanelColorGradientSettings } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\n\nimport { useSetting } from '../editor/utils';\nimport Palette from './palette';\n\nexport function useHasColorPanel( { supports } ) {\n\treturn (\n\t\tsupports.includes( 'color' ) ||\n\t\tsupports.includes( 'backgroundColor' ) ||\n\t\tsupports.includes( 'background' ) ||\n\t\tsupports.includes( 'linkColor' )\n\t);\n}\n\nexport default function ColorPanel( {\n\tcontext: { supports, name },\n\tgetStyle,\n\tsetStyle,\n} ) {\n\tconst solids = useSetting( 'color.palette', name );\n\tconst gradients = useSetting( 'color.gradients', name );\n\tconst areCustomSolidsEnabled = useSetting( 'color.custom', name );\n\tconst areCustomGradientsEnabled = useSetting(\n\t\t'color.customGradient',\n\t\tname\n\t);\n\tconst isLinkEnabled = useSetting( 'color.link', name );\n\tconst isTextEnabled = useSetting( 'color.text', name );\n\tconst isBackgroundEnabled = useSetting( 'color.background', name );\n\n\tconst hasLinkColor =\n\t\tsupports.includes( 'linkColor' ) &&\n\t\tisLinkEnabled &&\n\t\t( solids.length > 0 || areCustomSolidsEnabled );\n\tconst hasTextColor =\n\t\tsupports.includes( 'color' ) &&\n\t\tisTextEnabled &&\n\t\t( solids.length > 0 || areCustomSolidsEnabled );\n\tconst hasBackgroundColor =\n\t\tsupports.includes( 'backgroundColor' ) &&\n\t\tisBackgroundEnabled &&\n\t\t( solids.length > 0 || areCustomSolidsEnabled );\n\tconst hasGradientColor =\n\t\tsupports.includes( 'background' ) &&\n\t\t( gradients.length > 0 || areCustomGradientsEnabled );\n\n\tconst settings = [];\n\n\tif ( hasTextColor ) {\n\t\tconst color = getStyle( name, 'color' );\n\t\tconst userColor = getStyle( name, 'color', 'user' );\n\t\tsettings.push( {\n\t\t\tcolorValue: color,\n\t\t\tonColorChange: ( value ) => setStyle( name, 'color', value ),\n\t\t\tlabel: __( 'Text color' ),\n\t\t\tclearable: color === userColor,\n\t\t} );\n\t}\n\n\tlet backgroundSettings = {};\n\tif ( hasBackgroundColor ) {\n\t\tconst backgroundColor = getStyle( name, 'backgroundColor' );\n\t\tconst userBackgroundColor = getStyle( name, 'backgroundColor', 'user' );\n\t\tbackgroundSettings = {\n\t\t\tcolorValue: backgroundColor,\n\t\t\tonColorChange: ( value ) =>\n\t\t\t\tsetStyle( name, 'backgroundColor', value ),\n\t\t};\n\t\tif ( backgroundColor ) {\n\t\t\tbackgroundSettings.clearable =\n\t\t\t\tbackgroundColor === userBackgroundColor;\n\t\t}\n\t}\n\n\tlet gradientSettings = {};\n\tif ( hasGradientColor ) {\n\t\tconst gradient = getStyle( name, 'background' );\n\t\tconst userGradient = getStyle( name, 'background', 'user' );\n\t\tgradientSettings = {\n\t\t\tgradientValue: gradient,\n\t\t\tonGradientChange: ( value ) =>\n\t\t\t\tsetStyle( name, 'background', value ),\n\t\t};\n\t\tif ( gradient ) {\n\t\t\tgradientSettings.clearable = gradient === userGradient;\n\t\t}\n\t}\n\n\tif ( hasBackgroundColor || hasGradientColor ) {\n\t\tsettings.push( {\n\t\t\t...backgroundSettings,\n\t\t\t...gradientSettings,\n\t\t\tlabel: __( 'Background color' ),\n\t\t} );\n\t}\n\n\tif ( hasLinkColor ) {\n\t\tconst color = getStyle( name, 'linkColor' );\n\t\tconst userColor = getStyle( name, 'linkColor', 'user' );\n\t\tsettings.push( {\n\t\t\tcolorValue: color,\n\t\t\tonColorChange: ( value ) => setStyle( name, 'linkColor', value ),\n\t\t\tlabel: __( 'Link color' ),\n\t\t\tclearable: color === userColor,\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Palette contextName={ name } />\n\t\t\t<PanelColorGradientSettings\n\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\tsettings={ settings }\n\t\t\t\tcolors={ solids }\n\t\t\t\tgradients={ gradients }\n\t\t\t\tdisableCustomColors={ ! areCustomSolidsEnabled }\n\t\t\t\tdisableCustomGradients={ ! areCustomGradientsEnabled }\n\t\t\t\tshowTitle={ false }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,41 @@
1
+ import { createElement } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { __experimentalItemGroup as ItemGroup } from '@wordpress/components';
7
+ import { typography, color, layout } from '@wordpress/icons';
8
+ import { __ } from '@wordpress/i18n';
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+
13
+ import { useHasBorderPanel } from './border-panel';
14
+ import { useHasColorPanel } from './color-panel';
15
+ import { useHasDimensionsPanel } from './dimensions-panel';
16
+ import { useHasTypographyPanel } from './typography-panel';
17
+ import NavigationButton from './navigation-button';
18
+
19
+ function ContextMenu({
20
+ context,
21
+ parentMenu = ''
22
+ }) {
23
+ const hasTypographyPanel = useHasTypographyPanel(context);
24
+ const hasColorPanel = useHasColorPanel(context);
25
+ const hasBorderPanel = useHasBorderPanel(context);
26
+ const hasDimensionsPanel = useHasDimensionsPanel(context);
27
+ const hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;
28
+ return createElement(ItemGroup, null, hasTypographyPanel && createElement(NavigationButton, {
29
+ icon: typography,
30
+ path: parentMenu + '/typography'
31
+ }, __('Typography')), hasColorPanel && createElement(NavigationButton, {
32
+ icon: color,
33
+ path: parentMenu + '/colors'
34
+ }, __('Colors')), hasLayoutPanel && createElement(NavigationButton, {
35
+ icon: layout,
36
+ path: parentMenu + '/layout'
37
+ }, __('Layout')));
38
+ }
39
+
40
+ export default ContextMenu;
41
+ //# sourceMappingURL=context-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/context-menu.js"],"names":["__experimentalItemGroup","ItemGroup","typography","color","layout","__","useHasBorderPanel","useHasColorPanel","useHasDimensionsPanel","useHasTypographyPanel","NavigationButton","ContextMenu","context","parentMenu","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasLayoutPanel"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,uBAAuB,IAAIC,SAApC,QAAqD,uBAArD;AACA,SAASC,UAAT,EAAqBC,KAArB,EAA4BC,MAA5B,QAA0C,kBAA1C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,SAASC,iBAAT,QAAkC,gBAAlC;AACA,SAASC,gBAAT,QAAiC,eAAjC;AACA,SAASC,qBAAT,QAAsC,oBAAtC;AACA,SAASC,qBAAT,QAAsC,oBAAtC;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;;AAEA,SAASC,WAAT,CAAsB;AAAEC,EAAAA,OAAF;AAAWC,EAAAA,UAAU,GAAG;AAAxB,CAAtB,EAAqD;AACpD,QAAMC,kBAAkB,GAAGL,qBAAqB,CAAEG,OAAF,CAAhD;AACA,QAAMG,aAAa,GAAGR,gBAAgB,CAAEK,OAAF,CAAtC;AACA,QAAMI,cAAc,GAAGV,iBAAiB,CAAEM,OAAF,CAAxC;AACA,QAAMK,kBAAkB,GAAGT,qBAAqB,CAAEI,OAAF,CAAhD;AACA,QAAMM,cAAc,GAAGF,cAAc,IAAIC,kBAAzC;AAEA,SACC,cAAC,SAAD,QACGH,kBAAkB,IACnB,cAAC,gBAAD;AACC,IAAA,IAAI,EAAGZ,UADR;AAEC,IAAA,IAAI,EAAGW,UAAU,GAAG;AAFrB,KAIGR,EAAE,CAAE,YAAF,CAJL,CAFF,EASGU,aAAa,IACd,cAAC,gBAAD;AACC,IAAA,IAAI,EAAGZ,KADR;AAEC,IAAA,IAAI,EAAGU,UAAU,GAAG;AAFrB,KAIGR,EAAE,CAAE,QAAF,CAJL,CAVF,EAiBGa,cAAc,IACf,cAAC,gBAAD;AACC,IAAA,IAAI,EAAGd,MADR;AAEC,IAAA,IAAI,EAAGS,UAAU,GAAG;AAFrB,KAIGR,EAAE,CAAE,QAAF,CAJL,CAlBF,CADD;AA4BA;;AAED,eAAeM,WAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalItemGroup as ItemGroup } from '@wordpress/components';\nimport { typography, color, layout } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useHasBorderPanel } from './border-panel';\nimport { useHasColorPanel } from './color-panel';\nimport { useHasDimensionsPanel } from './dimensions-panel';\nimport { useHasTypographyPanel } from './typography-panel';\nimport NavigationButton from './navigation-button';\n\nfunction ContextMenu( { context, parentMenu = '' } ) {\n\tconst hasTypographyPanel = useHasTypographyPanel( context );\n\tconst hasColorPanel = useHasColorPanel( context );\n\tconst hasBorderPanel = useHasBorderPanel( context );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( context );\n\tconst hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;\n\n\treturn (\n\t\t<ItemGroup>\n\t\t\t{ hasTypographyPanel && (\n\t\t\t\t<NavigationButton\n\t\t\t\t\ticon={ typography }\n\t\t\t\t\tpath={ parentMenu + '/typography' }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Typography' ) }\n\t\t\t\t</NavigationButton>\n\t\t\t) }\n\t\t\t{ hasColorPanel && (\n\t\t\t\t<NavigationButton\n\t\t\t\t\ticon={ color }\n\t\t\t\t\tpath={ parentMenu + '/colors' }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Colors' ) }\n\t\t\t\t</NavigationButton>\n\t\t\t) }\n\t\t\t{ hasLayoutPanel && (\n\t\t\t\t<NavigationButton\n\t\t\t\t\ticon={ layout }\n\t\t\t\t\tpath={ parentMenu + '/layout' }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Layout' ) }\n\t\t\t\t</NavigationButton>\n\t\t\t) }\n\t\t</ItemGroup>\n\t);\n}\n\nexport default ContextMenu;\n"]}
@@ -107,7 +107,7 @@ export default function DimensionsPanel({
107
107
 
108
108
  const resetPaddingValue = () => setPaddingValues({});
109
109
 
110
- const hasPaddingValue = () => paddingValues && Object.keys(paddingValues).length;
110
+ const hasPaddingValue = () => !!paddingValues && Object.keys(paddingValues).length;
111
111
 
112
112
  const marginValues = splitStyleValue(getStyle(name, 'margin'));
113
113
  const marginSides = useCustomSides(name, 'margin');
@@ -120,7 +120,7 @@ export default function DimensionsPanel({
120
120
 
121
121
  const resetMarginValue = () => setMarginValues({});
122
122
 
123
- const hasMarginValue = () => marginValues && Object.keys(marginValues).length;
123
+ const hasMarginValue = () => !!marginValues && Object.keys(marginValues).length;
124
124
 
125
125
  const gapValue = getStyle(name, '--wp--style--block-gap');
126
126
 
@@ -139,8 +139,7 @@ export default function DimensionsPanel({
139
139
  };
140
140
 
141
141
  return createElement(ToolsPanel, {
142
- label: __('Dimensions options'),
143
- header: __('Dimensions'),
142
+ label: __('Dimensions'),
144
143
  resetAll: resetAll
145
144
  }, showPaddingControl && createElement(ToolsPanelItem, {
146
145
  hasValue: hasPaddingValue,
@@ -169,13 +168,13 @@ export default function DimensionsPanel({
169
168
  allowReset: false,
170
169
  splitOnAxis: isAxialMargin
171
170
  })), showGapControl && createElement(ToolsPanelItem, {
172
- className: "single-column",
173
171
  hasValue: hasGapValue,
174
- label: __('Block gap'),
172
+ label: __('Block spacing'),
175
173
  onDeselect: resetGapValue,
176
174
  isShownByDefault: true
177
175
  }, createElement(UnitControl, {
178
- label: __('Block gap'),
176
+ label: __('Block spacing'),
177
+ __unstableInputWidth: "80px",
179
178
  min: 0,
180
179
  onChange: setGapValue,
181
180
  units: units,
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/dimensions-panel.js"],"names":["__","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalBoxControl","BoxControl","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalUseCustomSides","useCustomSides","useSetting","AXIAL_SIDES","useHasDimensionsPanel","context","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","name","supports","settings","includes","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","DimensionsPanel","getStyle","setStyle","showPaddingControl","showMarginControl","showGapControl","units","availableUnits","paddingValues","paddingSides","isAxialPadding","some","setPaddingValues","newPaddingValues","padding","resetPaddingValue","hasPaddingValue","Object","keys","length","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","margin","resetMarginValue","hasMarginValue","gapValue","setGapValue","newGapValue","resetGapValue","undefined","hasGapValue","resetAll"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __experimentalUseCustomSides as useCustomSides } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from '../editor/utils';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel( context ) {\n\tconst hasPadding = useHasPadding( context );\n\tconst hasMargin = useHasMargin( context );\n\tconst hasGap = useHasGap( context );\n\n\treturn hasPadding || hasMargin || hasGap;\n}\n\nfunction useHasPadding( { name, supports } ) {\n\tconst settings = useSetting( 'spacing.customPadding', name );\n\n\treturn settings && supports.includes( 'padding' );\n}\n\nfunction useHasMargin( { name, supports } ) {\n\tconst settings = useSetting( 'spacing.customMargin', name );\n\n\treturn settings && supports.includes( 'margin' );\n}\n\nfunction useHasGap( { name, supports } ) {\n\tconst settings = useSetting( 'spacing.blockGap', name );\n\n\treturn settings && supports.includes( '--wp--style--block-gap' );\n}\n\nfunction filterValuesBySides( values, sides ) {\n\tif ( ! sides ) {\n\t\t// If no custom side configuration all sides are opted into by default.\n\t\treturn values;\n\t}\n\n\t// Only include sides opted into within filtered values.\n\tconst filteredValues = {};\n\tsides.forEach( ( side ) => {\n\t\tif ( side === 'vertical' ) {\n\t\t\tfilteredValues.top = values.top;\n\t\t\tfilteredValues.bottom = values.bottom;\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tfilteredValues.left = values.left;\n\t\t\tfilteredValues.right = values.right;\n\t\t}\n\t\tfilteredValues[ side ] = values[ side ];\n\t} );\n\n\treturn filteredValues;\n}\n\nfunction splitStyleValue( value ) {\n\t// Check for shorthand value ( a string value ).\n\tif ( value && typeof value === 'string' ) {\n\t\t// Convert to value for individual sides for BoxControl.\n\t\treturn {\n\t\t\ttop: value,\n\t\t\tright: value,\n\t\t\tbottom: value,\n\t\t\tleft: value,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nexport default function DimensionsPanel( { context, getStyle, setStyle } ) {\n\tconst { name } = context;\n\tconst showPaddingControl = useHasPadding( context );\n\tconst showMarginControl = useHasMargin( context );\n\tconst showGapControl = useHasGap( context );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units', name ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst paddingValues = splitStyleValue( getStyle( name, 'padding' ) );\n\tconst paddingSides = useCustomSides( name, 'padding' );\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tsetStyle( name, 'padding', padding );\n\t};\n\tconst resetPaddingValue = () => setPaddingValues( {} );\n\tconst hasPaddingValue = () =>\n\t\t!! paddingValues && Object.keys( paddingValues ).length;\n\n\tconst marginValues = splitStyleValue( getStyle( name, 'margin' ) );\n\tconst marginSides = useCustomSides( name, 'margin' );\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tsetStyle( name, 'margin', margin );\n\t};\n\tconst resetMarginValue = () => setMarginValues( {} );\n\tconst hasMarginValue = () =>\n\t\t!! marginValues && Object.keys( marginValues ).length;\n\n\tconst gapValue = getStyle( name, '--wp--style--block-gap' );\n\n\tconst setGapValue = ( newGapValue ) => {\n\t\tsetStyle( name, '--wp--style--block-gap', newGapValue );\n\t};\n\tconst resetGapValue = () => setGapValue( undefined );\n\tconst hasGapValue = () => !! gapValue;\n\n\tconst resetAll = () => {\n\t\tresetPaddingValue();\n\t\tresetMarginValue();\n\t\tresetGapValue();\n\t};\n\n\treturn (\n\t\t<ToolsPanel label={ __( 'Dimensions' ) } resetAll={ resetAll }>\n\t\t\t{ showPaddingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasPaddingValue }\n\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\tonDeselect={ resetPaddingValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t>\n\t\t\t\t\t<BoxControl\n\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\tsplitOnAxis={ isAxialPadding }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showMarginControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMarginValue }\n\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\tonDeselect={ resetMarginValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t>\n\t\t\t\t\t<BoxControl\n\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\tsplitOnAxis={ isAxialMargin }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showGapControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasGapValue }\n\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\tonDeselect={ resetGapValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tonChange={ setGapValue }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tvalue={ gapValue }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</ToolsPanel>\n\t);\n}\n"]}