@wordpress/edit-site 3.0.15 → 3.0.18

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 (208) hide show
  1. package/build/components/add-new-template/new-template-part.js +29 -18
  2. package/build/components/add-new-template/new-template-part.js.map +1 -1
  3. package/build/components/add-new-template/new-template.js +30 -23
  4. package/build/components/add-new-template/new-template.js.map +1 -1
  5. package/build/components/app/index.js +51 -0
  6. package/build/components/app/index.js.map +1 -0
  7. package/build/components/block-editor/back-button.js +8 -20
  8. package/build/components/block-editor/back-button.js.map +1 -1
  9. package/build/components/block-editor/index.js +2 -1
  10. package/build/components/block-editor/index.js.map +1 -1
  11. package/build/components/create-template-part-modal/index.js +0 -2
  12. package/build/components/create-template-part-modal/index.js.map +1 -1
  13. package/build/components/edit-template-part-menu-button/index.js +20 -8
  14. package/build/components/edit-template-part-menu-button/index.js.map +1 -1
  15. package/build/components/editor/index.js +11 -30
  16. package/build/components/editor/index.js.map +1 -1
  17. package/build/components/global-styles/gradients-palette-panel.js +14 -10
  18. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  19. package/build/components/global-styles/screen-root.js +8 -2
  20. package/build/components/global-styles/screen-root.js.map +1 -1
  21. package/build/components/global-styles/use-global-styles-output.js +1 -2
  22. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  23. package/build/components/header/document-actions/index.js +3 -6
  24. package/build/components/header/document-actions/index.js.map +1 -1
  25. package/build/components/list/added-by.js +9 -3
  26. package/build/components/list/added-by.js.map +1 -1
  27. package/build/components/list/index.js +17 -15
  28. package/build/components/list/index.js.map +1 -1
  29. package/build/components/list/table.js +4 -4
  30. package/build/components/list/table.js.map +1 -1
  31. package/build/components/navigation-sidebar/index.js +12 -13
  32. package/build/components/navigation-sidebar/index.js.map +1 -1
  33. package/build/components/navigation-sidebar/navigation-panel/index.js +26 -24
  34. package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  35. package/build/components/navigation-sidebar/navigation-toggle/index.js +11 -0
  36. package/build/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  37. package/build/components/routes/index.js +60 -0
  38. package/build/components/routes/index.js.map +1 -0
  39. package/build/components/routes/link.js +65 -0
  40. package/build/components/routes/link.js.map +1 -0
  41. package/build/components/routes/use-title.js +57 -0
  42. package/build/components/routes/use-title.js.map +1 -0
  43. package/build/components/sidebar/global-styles-sidebar.js +10 -0
  44. package/build/components/sidebar/global-styles-sidebar.js.map +1 -1
  45. package/build/components/sidebar/template-card/template-areas.js +7 -4
  46. package/build/components/sidebar/template-card/template-areas.js.map +1 -1
  47. package/build/components/template-details/index.js +12 -10
  48. package/build/components/template-details/index.js.map +1 -1
  49. package/build/components/template-details/template-areas.js +27 -10
  50. package/build/components/template-details/template-areas.js.map +1 -1
  51. package/build/components/template-part-converter/convert-to-template-part.js +7 -12
  52. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  53. package/build/components/url-query-controller/index.js +41 -50
  54. package/build/components/url-query-controller/index.js.map +1 -1
  55. package/build/components/welcome-guide/editor.js +6 -0
  56. package/build/components/welcome-guide/editor.js.map +1 -1
  57. package/build/components/welcome-guide/index.js +1 -28
  58. package/build/components/welcome-guide/index.js.map +1 -1
  59. package/build/components/welcome-guide/styles.js +18 -1
  60. package/build/components/welcome-guide/styles.js.map +1 -1
  61. package/build/index.js +29 -35
  62. package/build/index.js.map +1 -1
  63. package/build/plugins/index.js +3 -23
  64. package/build/plugins/index.js.map +1 -1
  65. package/build/plugins/site-export.js +67 -0
  66. package/build/plugins/site-export.js.map +1 -0
  67. package/build/plugins/welcome-guide-menu-item.js +1 -7
  68. package/build/plugins/welcome-guide-menu-item.js.map +1 -1
  69. package/build/store/actions.js +0 -27
  70. package/build/store/actions.js.map +1 -1
  71. package/build/store/constants.js +1 -14
  72. package/build/store/constants.js.map +1 -1
  73. package/build/store/reducer.js +7 -16
  74. package/build/store/reducer.js.map +1 -1
  75. package/build/store/selectors.js +1 -31
  76. package/build/store/selectors.js.map +1 -1
  77. package/build/utils/get-is-list-page.js +23 -0
  78. package/build/utils/get-is-list-page.js.map +1 -0
  79. package/build/utils/history.js +35 -0
  80. package/build/utils/history.js.map +1 -0
  81. package/build-module/components/add-new-template/new-template-part.js +27 -16
  82. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  83. package/build-module/components/add-new-template/new-template.js +28 -18
  84. package/build-module/components/add-new-template/new-template.js.map +1 -1
  85. package/build-module/components/app/index.js +35 -0
  86. package/build-module/components/app/index.js.map +1 -0
  87. package/build-module/components/block-editor/back-button.js +8 -19
  88. package/build-module/components/block-editor/back-button.js.map +1 -1
  89. package/build-module/components/block-editor/index.js +2 -1
  90. package/build-module/components/block-editor/index.js.map +1 -1
  91. package/build-module/components/create-template-part-modal/index.js +0 -2
  92. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  93. package/build-module/components/edit-template-part-menu-button/index.js +17 -9
  94. package/build-module/components/edit-template-part-menu-button/index.js.map +1 -1
  95. package/build-module/components/editor/index.js +13 -33
  96. package/build-module/components/editor/index.js.map +1 -1
  97. package/build-module/components/global-styles/gradients-palette-panel.js +12 -11
  98. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  99. package/build-module/components/global-styles/screen-root.js +9 -4
  100. package/build-module/components/global-styles/screen-root.js.map +1 -1
  101. package/build-module/components/global-styles/use-global-styles-output.js +1 -2
  102. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  103. package/build-module/components/header/document-actions/index.js +3 -6
  104. package/build-module/components/header/document-actions/index.js.map +1 -1
  105. package/build-module/components/list/added-by.js +10 -4
  106. package/build-module/components/list/added-by.js.map +1 -1
  107. package/build-module/components/list/index.js +15 -15
  108. package/build-module/components/list/index.js.map +1 -1
  109. package/build-module/components/list/table.js +4 -4
  110. package/build-module/components/list/table.js.map +1 -1
  111. package/build-module/components/navigation-sidebar/index.js +13 -13
  112. package/build-module/components/navigation-sidebar/index.js.map +1 -1
  113. package/build-module/components/navigation-sidebar/navigation-panel/index.js +24 -24
  114. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  115. package/build-module/components/navigation-sidebar/navigation-toggle/index.js +12 -0
  116. package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  117. package/build-module/components/routes/index.js +47 -0
  118. package/build-module/components/routes/index.js.map +1 -0
  119. package/build-module/components/routes/link.js +51 -0
  120. package/build-module/components/routes/link.js.map +1 -0
  121. package/build-module/components/routes/use-title.js +44 -0
  122. package/build-module/components/routes/use-title.js.map +1 -0
  123. package/build-module/components/sidebar/global-styles-sidebar.js +8 -0
  124. package/build-module/components/sidebar/global-styles-sidebar.js.map +1 -1
  125. package/build-module/components/sidebar/template-card/template-areas.js +8 -4
  126. package/build-module/components/sidebar/template-card/template-areas.js.map +1 -1
  127. package/build-module/components/template-details/index.js +10 -9
  128. package/build-module/components/template-details/index.js.map +1 -1
  129. package/build-module/components/template-details/template-areas.js +24 -9
  130. package/build-module/components/template-details/template-areas.js.map +1 -1
  131. package/build-module/components/template-part-converter/convert-to-template-part.js +7 -12
  132. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  133. package/build-module/components/url-query-controller/index.js +40 -49
  134. package/build-module/components/url-query-controller/index.js.map +1 -1
  135. package/build-module/components/welcome-guide/editor.js +7 -1
  136. package/build-module/components/welcome-guide/editor.js.map +1 -1
  137. package/build-module/components/welcome-guide/index.js +2 -26
  138. package/build-module/components/welcome-guide/index.js.map +1 -1
  139. package/build-module/components/welcome-guide/styles.js +18 -2
  140. package/build-module/components/welcome-guide/styles.js.map +1 -1
  141. package/build-module/index.js +28 -33
  142. package/build-module/index.js.map +1 -1
  143. package/build-module/plugins/index.js +2 -18
  144. package/build-module/plugins/index.js.map +1 -1
  145. package/build-module/plugins/site-export.js +51 -0
  146. package/build-module/plugins/site-export.js.map +1 -0
  147. package/build-module/plugins/welcome-guide-menu-item.js +2 -7
  148. package/build-module/plugins/welcome-guide-menu-item.js.map +1 -1
  149. package/build-module/store/actions.js +0 -23
  150. package/build-module/store/actions.js.map +1 -1
  151. package/build-module/store/constants.js +0 -11
  152. package/build-module/store/constants.js.map +1 -1
  153. package/build-module/store/reducer.js +7 -16
  154. package/build-module/store/reducer.js.map +1 -1
  155. package/build-module/store/selectors.js +1 -27
  156. package/build-module/store/selectors.js.map +1 -1
  157. package/build-module/utils/get-is-list-page.js +16 -0
  158. package/build-module/utils/get-is-list-page.js.map +1 -0
  159. package/build-module/utils/history.js +25 -0
  160. package/build-module/utils/history.js.map +1 -0
  161. package/build-style/style-rtl.css +7 -6
  162. package/build-style/style.css +7 -6
  163. package/package.json +18 -17
  164. package/src/components/add-new-template/new-template-part.js +29 -11
  165. package/src/components/add-new-template/new-template.js +26 -12
  166. package/src/components/app/index.js +47 -0
  167. package/src/components/block-editor/back-button.js +6 -14
  168. package/src/components/block-editor/index.js +1 -0
  169. package/src/components/create-template-part-modal/index.js +0 -2
  170. package/src/components/edit-template-part-menu-button/index.js +16 -5
  171. package/src/components/editor/index.js +105 -131
  172. package/src/components/global-styles/gradients-palette-panel.js +13 -13
  173. package/src/components/global-styles/screen-root.js +17 -7
  174. package/src/components/global-styles/style.scss +6 -0
  175. package/src/components/global-styles/test/use-global-styles-output.js +7 -1
  176. package/src/components/global-styles/use-global-styles-output.js +0 -1
  177. package/src/components/header/document-actions/index.js +3 -9
  178. package/src/components/list/added-by.js +25 -9
  179. package/src/components/list/index.js +11 -12
  180. package/src/components/list/style.scss +6 -11
  181. package/src/components/list/table.js +5 -5
  182. package/src/components/navigation-sidebar/index.js +18 -17
  183. package/src/components/navigation-sidebar/navigation-panel/index.js +16 -22
  184. package/src/components/navigation-sidebar/navigation-toggle/index.js +14 -0
  185. package/src/components/routes/index.js +53 -0
  186. package/src/components/routes/link.js +44 -0
  187. package/src/components/routes/use-title.js +56 -0
  188. package/src/components/sidebar/global-styles-sidebar.js +8 -0
  189. package/src/components/sidebar/template-card/template-areas.js +16 -4
  190. package/src/components/template-details/index.js +8 -6
  191. package/src/components/template-details/template-areas.js +31 -8
  192. package/src/components/template-part-converter/convert-to-template-part.js +4 -2
  193. package/src/components/url-query-controller/index.js +34 -45
  194. package/src/components/welcome-guide/editor.js +10 -1
  195. package/src/components/welcome-guide/index.js +6 -25
  196. package/src/components/welcome-guide/styles.js +20 -2
  197. package/src/index.js +33 -36
  198. package/src/plugins/index.js +2 -32
  199. package/src/plugins/site-export.js +52 -0
  200. package/src/plugins/welcome-guide-menu-item.js +2 -16
  201. package/src/store/actions.js +0 -23
  202. package/src/store/constants.js +0 -12
  203. package/src/store/reducer.js +12 -26
  204. package/src/store/selectors.js +1 -27
  205. package/src/store/test/reducer.js +22 -39
  206. package/src/store/test/selectors.js +3 -34
  207. package/src/utils/get-is-list-page.js +11 -0
  208. package/src/utils/history.js +35 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/use-global-styles-output.js"],"names":["first","forEach","get","isEmpty","isString","kebabCase","pickBy","reduce","set","startsWith","__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","__EXPERIMENTAL_ELEMENTS","ELEMENTS","getBlockTypes","useEffect","useState","useContext","PRESET_METADATA","ROOT_BLOCK_SELECTOR","GlobalStylesContext","compileStyleValue","uncompiledValue","VARIABLE_REFERENCE_PREFIX","VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE","VARIABLE_PATH_SEPARATOR_TOKEN_STYLE","variable","slice","length","split","join","getPresetsDeclarations","blockPresets","declarations","path","valueKey","cssVarInfix","presetByOrigin","origin","value","push","slug","getPresetsClasses","blockSelector","classes","classSuffix","propertyName","classSelectorToUse","selectorToUse","map","selector","flattenTree","input","prefix","token","result","Object","keys","key","newKey","replace","newLeaf","newPrefix","getStylesDeclarations","blockStyles","properties","pathToValue","styleValue","entries","entry","name","prop","cssProperty","getNodesWithStyles","tree","blockSelectors","nodes","styles","pickStyleKeys","treeToPickFrom","includes","elements","blocks","node","blockName","elementName","sel","getNodesWithSettings","settings","pickPresets","presets","custom","blockCustom","toCustomProperties","ruleset","customProps","toStyles","nodesWithStyles","nodesWithSettings","getBlockSelectors","blockTypes","blockType","supports","__experimentalSelector","useGlobalStylesOutput","stylesheets","setStylesheets","setSettings","merged","mergedConfig","customProperties","globalStyles","css","isGlobalStyles","__experimentalNoWrapper"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tfirst,\n\tforEach,\n\tget,\n\tisEmpty,\n\tisString,\n\tkebabCase,\n\tpickBy,\n\treduce,\n\tset,\n\tstartsWith,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tgetBlockTypes,\n} from '@wordpress/blocks';\nimport { useEffect, useState, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\n/**\n * Internal dependencies\n */\nimport { PRESET_METADATA, ROOT_BLOCK_SELECTOR } from './utils';\nimport { GlobalStylesContext } from './context';\n\nfunction compileStyleValue( uncompiledValue ) {\n\tconst VARIABLE_REFERENCE_PREFIX = 'var:';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE = '|';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_STYLE = '--';\n\tif ( startsWith( uncompiledValue, VARIABLE_REFERENCE_PREFIX ) ) {\n\t\tconst variable = uncompiledValue\n\t\t\t.slice( VARIABLE_REFERENCE_PREFIX.length )\n\t\t\t.split( VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE )\n\t\t\t.join( VARIABLE_PATH_SEPARATOR_TOKEN_STYLE );\n\t\treturn `var(--wp--${ variable })`;\n\t}\n\treturn uncompiledValue;\n}\n\n/**\n * Transform given preset tree into a set of style declarations.\n *\n * @param {Object} blockPresets\n *\n * @return {Array} An array of style declarations.\n */\nfunction getPresetsDeclarations( blockPresets = {} ) {\n\treturn reduce(\n\t\tPRESET_METADATA,\n\t\t( declarations, { path, valueKey, cssVarInfix } ) => {\n\t\t\tconst presetByOrigin = get( blockPresets, path, [] );\n\t\t\t[ 'default', 'theme', 'custom' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( value ) => {\n\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t`--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\tvalue.slug\n\t\t\t\t\t\t\t) }: ${ value[ valueKey ] }`\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n}\n\n/**\n * Transform given preset tree into a set of preset class declarations.\n *\n * @param {string} blockSelector\n * @param {Object} blockPresets\n * @return {string} CSS declarations for the preset classes.\n */\nfunction getPresetsClasses( blockSelector, blockPresets = {} ) {\n\treturn reduce(\n\t\tPRESET_METADATA,\n\t\t( declarations, { path, cssVarInfix, classes } ) => {\n\t\t\tif ( ! classes ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst presetByOrigin = get( blockPresets, path, [] );\n\t\t\t[ 'default', 'theme', 'custom' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( { slug } ) => {\n\t\t\t\t\t\tclasses.forEach( ( { classSuffix, propertyName } ) => {\n\t\t\t\t\t\t\tconst classSelectorToUse = `.has-${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) }-${ classSuffix }`;\n\t\t\t\t\t\t\tconst selectorToUse = blockSelector\n\t\t\t\t\t\t\t\t.split( ',' ) // Selector can be \"h1, h2, h3\"\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t\t\t\t`${ selector }${ classSelectorToUse }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ',' );\n\t\t\t\t\t\t\tconst value = `var(--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) })`;\n\t\t\t\t\t\t\tdeclarations += `${ selectorToUse }{${ propertyName }: ${ value } !important;}`;\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn declarations;\n\t\t},\n\t\t''\n\t);\n}\n\nfunction flattenTree( input = {}, prefix, token ) {\n\tlet result = [];\n\tObject.keys( input ).forEach( ( key ) => {\n\t\tconst newKey = prefix + kebabCase( key.replace( '/', '-' ) );\n\t\tconst newLeaf = input[ key ];\n\n\t\tif ( newLeaf instanceof Object ) {\n\t\t\tconst newPrefix = newKey + token;\n\t\t\tresult = [ ...result, ...flattenTree( newLeaf, newPrefix, token ) ];\n\t\t} else {\n\t\t\tresult.push( `${ newKey }: ${ newLeaf }` );\n\t\t}\n\t} );\n\treturn result;\n}\n\n/**\n * Transform given style tree into a set of style declarations.\n *\n * @param {Object} blockStyles Block styles.\n *\n * @return {Array} An array of style declarations.\n */\nfunction getStylesDeclarations( blockStyles = {} ) {\n\treturn reduce(\n\t\tSTYLE_PROPERTY,\n\t\t( declarations, { value, properties }, key ) => {\n\t\t\tconst pathToValue = value;\n\t\t\tif ( first( pathToValue ) === 'elements' ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst styleValue = get( blockStyles, pathToValue );\n\n\t\t\tif ( !! properties && ! isString( styleValue ) ) {\n\t\t\t\tObject.entries( properties ).forEach( ( entry ) => {\n\t\t\t\t\tconst [ name, prop ] = entry;\n\n\t\t\t\t\tif ( ! get( styleValue, [ prop ], false ) ) {\n\t\t\t\t\t\t// Do not create a declaration\n\t\t\t\t\t\t// for sub-properties that don't have any value.\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst cssProperty = kebabCase( name );\n\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\t\tget( styleValue, [ prop ] )\n\t\t\t\t\t\t) }`\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else if ( get( blockStyles, pathToValue, false ) ) {\n\t\t\t\tconst cssProperty = key.startsWith( '--' )\n\t\t\t\t\t? key\n\t\t\t\t\t: kebabCase( key );\n\t\t\t\tdeclarations.push(\n\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\tget( blockStyles, pathToValue )\n\t\t\t\t\t) }`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n}\n\nexport const getNodesWithStyles = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.styles ) {\n\t\treturn nodes;\n\t}\n\n\tconst pickStyleKeys = ( treeToPickFrom ) =>\n\t\tpickBy( treeToPickFrom, ( value, key ) =>\n\t\t\t[ 'border', 'color', 'spacing', 'typography' ].includes( key )\n\t\t);\n\n\t// Top-level.\n\tconst styles = pickStyleKeys( tree.styles );\n\tif ( !! styles ) {\n\t\tnodes.push( {\n\t\t\tstyles,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\tforEach( tree.styles?.elements, ( value, key ) => {\n\t\tif ( !! value && !! ELEMENTS[ key ] ) {\n\t\t\tnodes.push( {\n\t\t\t\tstyles: value,\n\t\t\t\tselector: ELEMENTS[ key ],\n\t\t\t} );\n\t\t}\n\t} );\n\n\t// Iterate over blocks: they can have styles & elements.\n\tforEach( tree.styles?.blocks, ( node, blockName ) => {\n\t\tconst blockStyles = pickStyleKeys( node );\n\t\tif ( !! blockStyles && !! blockSelectors?.[ blockName ]?.selector ) {\n\t\t\tnodes.push( {\n\t\t\t\tstyles: blockStyles,\n\t\t\t\tselector: blockSelectors[ blockName ].selector,\n\t\t\t} );\n\t\t}\n\n\t\tforEach( node?.elements, ( value, elementName ) => {\n\t\t\tif (\n\t\t\t\t!! value &&\n\t\t\t\t!! blockSelectors?.[ blockName ] &&\n\t\t\t\t!! ELEMENTS?.[ elementName ]\n\t\t\t) {\n\t\t\t\tnodes.push( {\n\t\t\t\t\tstyles: value,\n\t\t\t\t\tselector: blockSelectors[ blockName ].selector\n\t\t\t\t\t\t.split( ',' )\n\t\t\t\t\t\t.map( ( sel ) => sel + ' ' + ELEMENTS[ elementName ] )\n\t\t\t\t\t\t.join( ',' ),\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t} );\n\n\treturn nodes;\n};\n\nexport const getNodesWithSettings = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.settings ) {\n\t\treturn nodes;\n\t}\n\n\tconst pickPresets = ( treeToPickFrom ) => {\n\t\tconst presets = {};\n\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\tconst value = get( treeToPickFrom, path, false );\n\t\t\tif ( value !== false ) {\n\t\t\t\tset( presets, path, value );\n\t\t\t}\n\t\t} );\n\t\treturn presets;\n\t};\n\n\t// Top-level.\n\tconst presets = pickPresets( tree.settings );\n\tconst custom = tree.settings?.custom;\n\tif ( ! isEmpty( presets ) || !! custom ) {\n\t\tnodes.push( {\n\t\t\tpresets,\n\t\t\tcustom,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\n\t// Blocks.\n\tforEach( tree.settings?.blocks, ( node, blockName ) => {\n\t\tconst blockPresets = pickPresets( node );\n\t\tconst blockCustom = node.custom;\n\t\tif ( ! isEmpty( blockPresets ) || !! blockCustom ) {\n\t\t\tnodes.push( {\n\t\t\t\tpresets: blockPresets,\n\t\t\t\tcustom: blockCustom,\n\t\t\t\tselector: blockSelectors[ blockName ].selector,\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn nodes;\n};\n\nexport const toCustomProperties = ( tree, blockSelectors ) => {\n\tconst settings = getNodesWithSettings( tree, blockSelectors );\n\n\tlet ruleset = '';\n\tsettings.forEach( ( { presets, custom, selector } ) => {\n\t\tconst declarations = getPresetsDeclarations( presets );\n\t\tconst customProps = flattenTree( custom, '--wp--custom--', '--' );\n\t\tif ( customProps.length > 0 ) {\n\t\t\tdeclarations.push( ...customProps );\n\t\t}\n\n\t\tif ( declarations.length > 0 ) {\n\t\t\truleset = ruleset + `${ selector }{${ declarations.join( ';' ) };}`;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nexport const toStyles = ( tree, blockSelectors ) => {\n\tconst nodesWithStyles = getNodesWithStyles( tree, blockSelectors );\n\tconst nodesWithSettings = getNodesWithSettings( tree, blockSelectors );\n\n\tlet ruleset =\n\t\t'.wp-site-blocks > * { margin-top: 0; margin-bottom: 0; }.wp-site-blocks > * + * { margin-top: var( --wp--style--block-gap ); }';\n\tnodesWithStyles.forEach( ( { selector, styles } ) => {\n\t\tconst declarations = getStylesDeclarations( styles );\n\t\tif ( declarations.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\t\truleset = ruleset + `${ selector }{${ declarations.join( ';' ) };}`;\n\t} );\n\n\tnodesWithSettings.forEach( ( { selector, presets } ) => {\n\t\tif ( ROOT_BLOCK_SELECTOR === selector ) {\n\t\t\t// Do not add extra specificity for top-level classes.\n\t\t\tselector = '';\n\t\t}\n\n\t\tconst classes = getPresetsClasses( selector, presets );\n\t\tif ( ! isEmpty( classes ) ) {\n\t\t\truleset = ruleset + classes;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nconst getBlockSelectors = ( blockTypes ) => {\n\tconst result = {};\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst selector =\n\t\t\tblockType?.supports?.__experimentalSelector ??\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t\tresult[ name ] = {\n\t\t\tname,\n\t\t\tselector,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\nexport function useGlobalStylesOutput() {\n\tconst [ stylesheets, setStylesheets ] = useState( [] );\n\tconst [ settings, setSettings ] = useState( {} );\n\tconst { merged: mergedConfig } = useContext( GlobalStylesContext );\n\n\tuseEffect( () => {\n\t\tif ( ! mergedConfig?.styles || ! mergedConfig?.settings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst blockSelectors = getBlockSelectors( getBlockTypes() );\n\t\tconst customProperties = toCustomProperties(\n\t\t\tmergedConfig,\n\t\t\tblockSelectors\n\t\t);\n\t\tconst globalStyles = toStyles( mergedConfig, blockSelectors );\n\t\tsetStylesheets( [\n\t\t\t{\n\t\t\t\tcss: customProperties,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t\t__experimentalNoWrapper: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcss: globalStyles,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t] );\n\t\tsetSettings( mergedConfig.settings );\n\t}, [ mergedConfig ] );\n\n\treturn [ stylesheets, settings ];\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/use-global-styles-output.js"],"names":["first","forEach","get","isEmpty","isString","kebabCase","pickBy","reduce","set","startsWith","__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","__EXPERIMENTAL_ELEMENTS","ELEMENTS","getBlockTypes","useEffect","useState","useContext","PRESET_METADATA","ROOT_BLOCK_SELECTOR","GlobalStylesContext","compileStyleValue","uncompiledValue","VARIABLE_REFERENCE_PREFIX","VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE","VARIABLE_PATH_SEPARATOR_TOKEN_STYLE","variable","slice","length","split","join","getPresetsDeclarations","blockPresets","declarations","path","valueKey","cssVarInfix","presetByOrigin","origin","value","push","slug","getPresetsClasses","blockSelector","classes","classSuffix","propertyName","classSelectorToUse","selectorToUse","map","selector","flattenTree","input","prefix","token","result","Object","keys","key","newKey","replace","newLeaf","newPrefix","getStylesDeclarations","blockStyles","properties","pathToValue","styleValue","entries","entry","name","prop","cssProperty","getNodesWithStyles","tree","blockSelectors","nodes","styles","pickStyleKeys","treeToPickFrom","includes","elements","blocks","node","blockName","elementName","sel","getNodesWithSettings","settings","pickPresets","presets","custom","blockCustom","toCustomProperties","ruleset","customProps","toStyles","nodesWithStyles","nodesWithSettings","getBlockSelectors","blockTypes","blockType","supports","__experimentalSelector","useGlobalStylesOutput","stylesheets","setStylesheets","setSettings","merged","mergedConfig","customProperties","globalStyles","css","isGlobalStyles"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tfirst,\n\tforEach,\n\tget,\n\tisEmpty,\n\tisString,\n\tkebabCase,\n\tpickBy,\n\treduce,\n\tset,\n\tstartsWith,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tgetBlockTypes,\n} from '@wordpress/blocks';\nimport { useEffect, useState, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\n/**\n * Internal dependencies\n */\nimport { PRESET_METADATA, ROOT_BLOCK_SELECTOR } from './utils';\nimport { GlobalStylesContext } from './context';\n\nfunction compileStyleValue( uncompiledValue ) {\n\tconst VARIABLE_REFERENCE_PREFIX = 'var:';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE = '|';\n\tconst VARIABLE_PATH_SEPARATOR_TOKEN_STYLE = '--';\n\tif ( startsWith( uncompiledValue, VARIABLE_REFERENCE_PREFIX ) ) {\n\t\tconst variable = uncompiledValue\n\t\t\t.slice( VARIABLE_REFERENCE_PREFIX.length )\n\t\t\t.split( VARIABLE_PATH_SEPARATOR_TOKEN_ATTRIBUTE )\n\t\t\t.join( VARIABLE_PATH_SEPARATOR_TOKEN_STYLE );\n\t\treturn `var(--wp--${ variable })`;\n\t}\n\treturn uncompiledValue;\n}\n\n/**\n * Transform given preset tree into a set of style declarations.\n *\n * @param {Object} blockPresets\n *\n * @return {Array} An array of style declarations.\n */\nfunction getPresetsDeclarations( blockPresets = {} ) {\n\treturn reduce(\n\t\tPRESET_METADATA,\n\t\t( declarations, { path, valueKey, cssVarInfix } ) => {\n\t\t\tconst presetByOrigin = get( blockPresets, path, [] );\n\t\t\t[ 'default', 'theme', 'custom' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( value ) => {\n\t\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t\t`--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\tvalue.slug\n\t\t\t\t\t\t\t) }: ${ value[ valueKey ] }`\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n}\n\n/**\n * Transform given preset tree into a set of preset class declarations.\n *\n * @param {string} blockSelector\n * @param {Object} blockPresets\n * @return {string} CSS declarations for the preset classes.\n */\nfunction getPresetsClasses( blockSelector, blockPresets = {} ) {\n\treturn reduce(\n\t\tPRESET_METADATA,\n\t\t( declarations, { path, cssVarInfix, classes } ) => {\n\t\t\tif ( ! classes ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst presetByOrigin = get( blockPresets, path, [] );\n\t\t\t[ 'default', 'theme', 'custom' ].forEach( ( origin ) => {\n\t\t\t\tif ( presetByOrigin[ origin ] ) {\n\t\t\t\t\tpresetByOrigin[ origin ].forEach( ( { slug } ) => {\n\t\t\t\t\t\tclasses.forEach( ( { classSuffix, propertyName } ) => {\n\t\t\t\t\t\t\tconst classSelectorToUse = `.has-${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) }-${ classSuffix }`;\n\t\t\t\t\t\t\tconst selectorToUse = blockSelector\n\t\t\t\t\t\t\t\t.split( ',' ) // Selector can be \"h1, h2, h3\"\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( selector ) =>\n\t\t\t\t\t\t\t\t\t\t`${ selector }${ classSelectorToUse }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ',' );\n\t\t\t\t\t\t\tconst value = `var(--wp--preset--${ cssVarInfix }--${ kebabCase(\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t) })`;\n\t\t\t\t\t\t\tdeclarations += `${ selectorToUse }{${ propertyName }: ${ value } !important;}`;\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn declarations;\n\t\t},\n\t\t''\n\t);\n}\n\nfunction flattenTree( input = {}, prefix, token ) {\n\tlet result = [];\n\tObject.keys( input ).forEach( ( key ) => {\n\t\tconst newKey = prefix + kebabCase( key.replace( '/', '-' ) );\n\t\tconst newLeaf = input[ key ];\n\n\t\tif ( newLeaf instanceof Object ) {\n\t\t\tconst newPrefix = newKey + token;\n\t\t\tresult = [ ...result, ...flattenTree( newLeaf, newPrefix, token ) ];\n\t\t} else {\n\t\t\tresult.push( `${ newKey }: ${ newLeaf }` );\n\t\t}\n\t} );\n\treturn result;\n}\n\n/**\n * Transform given style tree into a set of style declarations.\n *\n * @param {Object} blockStyles Block styles.\n *\n * @return {Array} An array of style declarations.\n */\nfunction getStylesDeclarations( blockStyles = {} ) {\n\treturn reduce(\n\t\tSTYLE_PROPERTY,\n\t\t( declarations, { value, properties }, key ) => {\n\t\t\tconst pathToValue = value;\n\t\t\tif ( first( pathToValue ) === 'elements' ) {\n\t\t\t\treturn declarations;\n\t\t\t}\n\n\t\t\tconst styleValue = get( blockStyles, pathToValue );\n\n\t\t\tif ( !! properties && ! isString( styleValue ) ) {\n\t\t\t\tObject.entries( properties ).forEach( ( entry ) => {\n\t\t\t\t\tconst [ name, prop ] = entry;\n\n\t\t\t\t\tif ( ! get( styleValue, [ prop ], false ) ) {\n\t\t\t\t\t\t// Do not create a declaration\n\t\t\t\t\t\t// for sub-properties that don't have any value.\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst cssProperty = kebabCase( name );\n\t\t\t\t\tdeclarations.push(\n\t\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\t\tget( styleValue, [ prop ] )\n\t\t\t\t\t\t) }`\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t} else if ( get( blockStyles, pathToValue, false ) ) {\n\t\t\t\tconst cssProperty = key.startsWith( '--' )\n\t\t\t\t\t? key\n\t\t\t\t\t: kebabCase( key );\n\t\t\t\tdeclarations.push(\n\t\t\t\t\t`${ cssProperty }: ${ compileStyleValue(\n\t\t\t\t\t\tget( blockStyles, pathToValue )\n\t\t\t\t\t) }`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn declarations;\n\t\t},\n\t\t[]\n\t);\n}\n\nexport const getNodesWithStyles = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.styles ) {\n\t\treturn nodes;\n\t}\n\n\tconst pickStyleKeys = ( treeToPickFrom ) =>\n\t\tpickBy( treeToPickFrom, ( value, key ) =>\n\t\t\t[ 'border', 'color', 'spacing', 'typography' ].includes( key )\n\t\t);\n\n\t// Top-level.\n\tconst styles = pickStyleKeys( tree.styles );\n\tif ( !! styles ) {\n\t\tnodes.push( {\n\t\t\tstyles,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\tforEach( tree.styles?.elements, ( value, key ) => {\n\t\tif ( !! value && !! ELEMENTS[ key ] ) {\n\t\t\tnodes.push( {\n\t\t\t\tstyles: value,\n\t\t\t\tselector: ELEMENTS[ key ],\n\t\t\t} );\n\t\t}\n\t} );\n\n\t// Iterate over blocks: they can have styles & elements.\n\tforEach( tree.styles?.blocks, ( node, blockName ) => {\n\t\tconst blockStyles = pickStyleKeys( node );\n\t\tif ( !! blockStyles && !! blockSelectors?.[ blockName ]?.selector ) {\n\t\t\tnodes.push( {\n\t\t\t\tstyles: blockStyles,\n\t\t\t\tselector: blockSelectors[ blockName ].selector,\n\t\t\t} );\n\t\t}\n\n\t\tforEach( node?.elements, ( value, elementName ) => {\n\t\t\tif (\n\t\t\t\t!! value &&\n\t\t\t\t!! blockSelectors?.[ blockName ] &&\n\t\t\t\t!! ELEMENTS?.[ elementName ]\n\t\t\t) {\n\t\t\t\tnodes.push( {\n\t\t\t\t\tstyles: value,\n\t\t\t\t\tselector: blockSelectors[ blockName ].selector\n\t\t\t\t\t\t.split( ',' )\n\t\t\t\t\t\t.map( ( sel ) => sel + ' ' + ELEMENTS[ elementName ] )\n\t\t\t\t\t\t.join( ',' ),\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t} );\n\n\treturn nodes;\n};\n\nexport const getNodesWithSettings = ( tree, blockSelectors ) => {\n\tconst nodes = [];\n\n\tif ( ! tree?.settings ) {\n\t\treturn nodes;\n\t}\n\n\tconst pickPresets = ( treeToPickFrom ) => {\n\t\tconst presets = {};\n\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\tconst value = get( treeToPickFrom, path, false );\n\t\t\tif ( value !== false ) {\n\t\t\t\tset( presets, path, value );\n\t\t\t}\n\t\t} );\n\t\treturn presets;\n\t};\n\n\t// Top-level.\n\tconst presets = pickPresets( tree.settings );\n\tconst custom = tree.settings?.custom;\n\tif ( ! isEmpty( presets ) || !! custom ) {\n\t\tnodes.push( {\n\t\t\tpresets,\n\t\t\tcustom,\n\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t} );\n\t}\n\n\t// Blocks.\n\tforEach( tree.settings?.blocks, ( node, blockName ) => {\n\t\tconst blockPresets = pickPresets( node );\n\t\tconst blockCustom = node.custom;\n\t\tif ( ! isEmpty( blockPresets ) || !! blockCustom ) {\n\t\t\tnodes.push( {\n\t\t\t\tpresets: blockPresets,\n\t\t\t\tcustom: blockCustom,\n\t\t\t\tselector: blockSelectors[ blockName ].selector,\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn nodes;\n};\n\nexport const toCustomProperties = ( tree, blockSelectors ) => {\n\tconst settings = getNodesWithSettings( tree, blockSelectors );\n\n\tlet ruleset = '';\n\tsettings.forEach( ( { presets, custom, selector } ) => {\n\t\tconst declarations = getPresetsDeclarations( presets );\n\t\tconst customProps = flattenTree( custom, '--wp--custom--', '--' );\n\t\tif ( customProps.length > 0 ) {\n\t\t\tdeclarations.push( ...customProps );\n\t\t}\n\n\t\tif ( declarations.length > 0 ) {\n\t\t\truleset = ruleset + `${ selector }{${ declarations.join( ';' ) };}`;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nexport const toStyles = ( tree, blockSelectors ) => {\n\tconst nodesWithStyles = getNodesWithStyles( tree, blockSelectors );\n\tconst nodesWithSettings = getNodesWithSettings( tree, blockSelectors );\n\n\tlet ruleset =\n\t\t'.wp-site-blocks > * { margin-top: 0; margin-bottom: 0; }.wp-site-blocks > * + * { margin-top: var( --wp--style--block-gap ); }';\n\tnodesWithStyles.forEach( ( { selector, styles } ) => {\n\t\tconst declarations = getStylesDeclarations( styles );\n\t\tif ( declarations.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\t\truleset = ruleset + `${ selector }{${ declarations.join( ';' ) };}`;\n\t} );\n\n\tnodesWithSettings.forEach( ( { selector, presets } ) => {\n\t\tif ( ROOT_BLOCK_SELECTOR === selector ) {\n\t\t\t// Do not add extra specificity for top-level classes.\n\t\t\tselector = '';\n\t\t}\n\n\t\tconst classes = getPresetsClasses( selector, presets );\n\t\tif ( ! isEmpty( classes ) ) {\n\t\t\truleset = ruleset + classes;\n\t\t}\n\t} );\n\n\treturn ruleset;\n};\n\nconst getBlockSelectors = ( blockTypes ) => {\n\tconst result = {};\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst selector =\n\t\t\tblockType?.supports?.__experimentalSelector ??\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t\tresult[ name ] = {\n\t\t\tname,\n\t\t\tselector,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\nexport function useGlobalStylesOutput() {\n\tconst [ stylesheets, setStylesheets ] = useState( [] );\n\tconst [ settings, setSettings ] = useState( {} );\n\tconst { merged: mergedConfig } = useContext( GlobalStylesContext );\n\n\tuseEffect( () => {\n\t\tif ( ! mergedConfig?.styles || ! mergedConfig?.settings ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst blockSelectors = getBlockSelectors( getBlockTypes() );\n\t\tconst customProperties = toCustomProperties(\n\t\t\tmergedConfig,\n\t\t\tblockSelectors\n\t\t);\n\t\tconst globalStyles = toStyles( mergedConfig, blockSelectors );\n\t\tsetStylesheets( [\n\t\t\t{\n\t\t\t\tcss: customProperties,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcss: globalStyles,\n\t\t\t\tisGlobalStyles: true,\n\t\t\t},\n\t\t] );\n\t\tsetSettings( mergedConfig.settings );\n\t}, [ mergedConfig ] );\n\n\treturn [ stylesheets, settings ];\n}\n"]}
@@ -90,16 +90,13 @@ export default function DocumentActions(_ref) {
90
90
  className: "edit-site-document-actions__title-wrapper"
91
91
  }, createElement(Text, {
92
92
  size: "body",
93
- className: "edit-site-document-actions__title-prefix"
93
+ className: "edit-site-document-actions__title",
94
+ as: "h1"
94
95
  }, createElement(VisuallyHidden, {
95
96
  as: "span"
96
97
  }, sprintf(
97
98
  /* translators: %s: the entity being edited, like "template"*/
98
- __('Editing %s:'), entityLabel))), createElement(Text, {
99
- size: "body",
100
- className: "edit-site-document-actions__title",
101
- as: "h1"
102
- }, entityTitle), createElement(Text, {
99
+ __('Editing %s: '), entityLabel)), entityTitle), createElement(Text, {
103
100
  size: "body",
104
101
  className: "edit-site-document-actions__secondary-item"
105
102
  }, label !== null && label !== void 0 ? label : ''), dropdownContent && createElement(Dropdown, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/header/document-actions/index.js"],"names":["classnames","sprintf","__","__experimentalGetBlockLabel","getBlockLabel","getBlockType","useSelect","Dropdown","Button","VisuallyHidden","__experimentalText","Text","chevronDown","useRef","store","blockEditorStore","getBlockDisplayText","block","blockType","name","attributes","useSecondaryText","getBlock","activeEntityBlockId","select","__experimentalGetActiveBlockIdByBlockNames","label","isActive","DocumentActions","entityTitle","entityLabel","isLoaded","children","dropdownContent","titleRef","anchorRef","current","isOpen","onToggle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { sprintf, __ } from '@wordpress/i18n';\nimport {\n\t__experimentalGetBlockLabel as getBlockLabel,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tDropdown,\n\tButton,\n\tVisuallyHidden,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { chevronDown } from '@wordpress/icons';\nimport { useRef } from '@wordpress/element';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nfunction getBlockDisplayText( block ) {\n\tif ( block ) {\n\t\tconst blockType = getBlockType( block.name );\n\t\treturn blockType ? getBlockLabel( blockType, block.attributes ) : null;\n\t}\n\treturn null;\n}\n\nfunction useSecondaryText() {\n\tconst { getBlock } = useSelect( blockEditorStore );\n\tconst activeEntityBlockId = useSelect(\n\t\t( select ) =>\n\t\t\tselect(\n\t\t\t\tblockEditorStore\n\t\t\t).__experimentalGetActiveBlockIdByBlockNames( [\n\t\t\t\t'core/template-part',\n\t\t\t] ),\n\t\t[]\n\t);\n\n\tif ( activeEntityBlockId ) {\n\t\treturn {\n\t\t\tlabel: getBlockDisplayText( getBlock( activeEntityBlockId ) ),\n\t\t\tisActive: true,\n\t\t};\n\t}\n\n\treturn {};\n}\n\n/**\n * @param {Object} props Props for the DocumentActions component.\n * @param {string} props.entityTitle The title to display.\n * @param {string} props.entityLabel A label to use for entity-related options.\n * E.g. \"template\" would be used for \"edit\n * template\" and \"show template details\".\n * @param {boolean} props.isLoaded Whether the data is available.\n * @param {Function} props.children React component to use for the\n * information dropdown area. Should be a\n * function which accepts dropdown props.\n */\nexport default function DocumentActions( {\n\tentityTitle,\n\tentityLabel,\n\tisLoaded,\n\tchildren: dropdownContent,\n} ) {\n\tconst { label } = useSecondaryText();\n\n\t// The title ref is passed to the popover as the anchorRef so that the\n\t// dropdown is centered over the whole title area rather than just one\n\t// part of it.\n\tconst titleRef = useRef();\n\n\t// Return a simple loading indicator until we have information to show.\n\tif ( ! isLoaded ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Loading…' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Return feedback that the template does not seem to exist.\n\tif ( ! entityTitle ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Template not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-document-actions', {\n\t\t\t\t'has-secondary-label': !! label,\n\t\t\t} ) }\n\t\t>\n\t\t\t<div\n\t\t\t\tref={ titleRef }\n\t\t\t\tclassName=\"edit-site-document-actions__title-wrapper\"\n\t\t\t>\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tclassName=\"edit-site-document-actions__title-prefix\"\n\t\t\t\t>\n\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: the entity being edited, like \"template\"*/\n\t\t\t\t\t\t\t__( 'Editing %s:' ),\n\t\t\t\t\t\t\tentityLabel\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</Text>\n\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tclassName=\"edit-site-document-actions__title\"\n\t\t\t\t\tas=\"h1\"\n\t\t\t\t>\n\t\t\t\t\t{ entityTitle }\n\t\t\t\t</Text>\n\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tclassName=\"edit-site-document-actions__secondary-item\"\n\t\t\t\t>\n\t\t\t\t\t{ label ?? '' }\n\t\t\t\t</Text>\n\n\t\t\t\t{ dropdownContent && (\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tanchorRef: titleRef.current,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"edit-site-document-actions__get-info\"\n\t\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: the entity to see details about, like \"template\"*/\n\t\t\t\t\t\t\t\t\t__( 'Show %s details' ),\n\t\t\t\t\t\t\t\t\tentityLabel\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tcontentClassName=\"edit-site-document-actions__info-dropdown\"\n\t\t\t\t\t\trenderContent={ dropdownContent }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/header/document-actions/index.js"],"names":["classnames","sprintf","__","__experimentalGetBlockLabel","getBlockLabel","getBlockType","useSelect","Dropdown","Button","VisuallyHidden","__experimentalText","Text","chevronDown","useRef","store","blockEditorStore","getBlockDisplayText","block","blockType","name","attributes","useSecondaryText","getBlock","activeEntityBlockId","select","__experimentalGetActiveBlockIdByBlockNames","label","isActive","DocumentActions","entityTitle","entityLabel","isLoaded","children","dropdownContent","titleRef","anchorRef","current","isOpen","onToggle"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,OAAT,EAAkBC,EAAlB,QAA4B,iBAA5B;AACA,SACCC,2BAA2B,IAAIC,aADhC,EAECC,YAFD,QAGO,mBAHP;AAIA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SACCC,QADD,EAECC,MAFD,EAGCC,cAHD,EAICC,kBAAkB,IAAIC,IAJvB,QAKO,uBALP;AAMA,SAASC,WAAT,QAA4B,kBAA5B;AACA,SAASC,MAAT,QAAuB,oBAAvB;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,yBAA1C;;AAEA,SAASC,mBAAT,CAA8BC,KAA9B,EAAsC;AACrC,MAAKA,KAAL,EAAa;AACZ,UAAMC,SAAS,GAAGb,YAAY,CAAEY,KAAK,CAACE,IAAR,CAA9B;AACA,WAAOD,SAAS,GAAGd,aAAa,CAAEc,SAAF,EAAaD,KAAK,CAACG,UAAnB,CAAhB,GAAkD,IAAlE;AACA;;AACD,SAAO,IAAP;AACA;;AAED,SAASC,gBAAT,GAA4B;AAC3B,QAAM;AAAEC,IAAAA;AAAF,MAAehB,SAAS,CAAES,gBAAF,CAA9B;AACA,QAAMQ,mBAAmB,GAAGjB,SAAS,CAClCkB,MAAF,IACCA,MAAM,CACLT,gBADK,CAAN,CAEEU,0CAFF,CAE8C,CAC7C,oBAD6C,CAF9C,CAFmC,EAOpC,EAPoC,CAArC;;AAUA,MAAKF,mBAAL,EAA2B;AAC1B,WAAO;AACNG,MAAAA,KAAK,EAAEV,mBAAmB,CAAEM,QAAQ,CAAEC,mBAAF,CAAV,CADpB;AAENI,MAAAA,QAAQ,EAAE;AAFJ,KAAP;AAIA;;AAED,SAAO,EAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,eAAe,SAASC,eAAT,OAKX;AAAA,MALqC;AACxCC,IAAAA,WADwC;AAExCC,IAAAA,WAFwC;AAGxCC,IAAAA,QAHwC;AAIxCC,IAAAA,QAAQ,EAAEC;AAJ8B,GAKrC;AACH,QAAM;AAAEP,IAAAA;AAAF,MAAYL,gBAAgB,EAAlC,CADG,CAGH;AACA;AACA;;AACA,QAAMa,QAAQ,GAAGrB,MAAM,EAAvB,CANG,CAQH;;AACA,MAAK,CAAEkB,QAAP,EAAkB;AACjB,WACC;AAAK,MAAA,SAAS,EAAC;AAAf,OACG7B,EAAE,CAAE,UAAF,CADL,CADD;AAKA,GAfE,CAiBH;;;AACA,MAAK,CAAE2B,WAAP,EAAqB;AACpB,WACC;AAAK,MAAA,SAAS,EAAC;AAAf,OACG3B,EAAE,CAAE,oBAAF,CADL,CADD;AAKA;;AAED,SACC;AACC,IAAA,SAAS,EAAGF,UAAU,CAAE,4BAAF,EAAgC;AACrD,6BAAuB,CAAC,CAAE0B;AAD2B,KAAhC;AADvB,KAKC;AACC,IAAA,GAAG,EAAGQ,QADP;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC,cAAC,IAAD;AACC,IAAA,IAAI,EAAC,MADN;AAEC,IAAA,SAAS,EAAC,mCAFX;AAGC,IAAA,EAAE,EAAC;AAHJ,KAKC,cAAC,cAAD;AAAgB,IAAA,EAAE,EAAC;AAAnB,KACGjC,OAAO;AACR;AACAC,EAAAA,EAAE,CAAE,cAAF,CAFM,EAGR4B,WAHQ,CADV,CALD,EAYGD,WAZH,CAJD,EAmBC,cAAC,IAAD;AACC,IAAA,IAAI,EAAC,MADN;AAEC,IAAA,SAAS,EAAC;AAFX,KAIGH,KAJH,aAIGA,KAJH,cAIGA,KAJH,GAIY,EAJZ,CAnBD,EA0BGO,eAAe,IAChB,cAAC,QAAD;AACC,IAAA,YAAY,EAAG;AACdE,MAAAA,SAAS,EAAED,QAAQ,CAACE;AADN,KADhB;AAIC,IAAA,QAAQ,EAAC,eAJV;AAKC,IAAA,YAAY,EAAG;AAAA,UAAE;AAAEC,QAAAA,MAAF;AAAUC,QAAAA;AAAV,OAAF;AAAA,aACd,cAAC,MAAD;AACC,QAAA,SAAS,EAAC,sCADX;AAEC,QAAA,IAAI,EAAG1B,WAFR;AAGC,yBAAgByB,MAHjB;AAIC,yBAAc,MAJf;AAKC,QAAA,OAAO,EAAGC,QALX;AAMC,QAAA,KAAK,EAAGrC,OAAO;AACd;AACAC,QAAAA,EAAE,CAAE,iBAAF,CAFY,EAGd4B,WAHc;AANhB,QADc;AAAA,KALhB;AAmBC,IAAA,gBAAgB,EAAC,2CAnBlB;AAoBC,IAAA,aAAa,EAAGG;AApBjB,IA3BF,CALD,CADD;AA2DA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { sprintf, __ } from '@wordpress/i18n';\nimport {\n\t__experimentalGetBlockLabel as getBlockLabel,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tDropdown,\n\tButton,\n\tVisuallyHidden,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { chevronDown } from '@wordpress/icons';\nimport { useRef } from '@wordpress/element';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nfunction getBlockDisplayText( block ) {\n\tif ( block ) {\n\t\tconst blockType = getBlockType( block.name );\n\t\treturn blockType ? getBlockLabel( blockType, block.attributes ) : null;\n\t}\n\treturn null;\n}\n\nfunction useSecondaryText() {\n\tconst { getBlock } = useSelect( blockEditorStore );\n\tconst activeEntityBlockId = useSelect(\n\t\t( select ) =>\n\t\t\tselect(\n\t\t\t\tblockEditorStore\n\t\t\t).__experimentalGetActiveBlockIdByBlockNames( [\n\t\t\t\t'core/template-part',\n\t\t\t] ),\n\t\t[]\n\t);\n\n\tif ( activeEntityBlockId ) {\n\t\treturn {\n\t\t\tlabel: getBlockDisplayText( getBlock( activeEntityBlockId ) ),\n\t\t\tisActive: true,\n\t\t};\n\t}\n\n\treturn {};\n}\n\n/**\n * @param {Object} props Props for the DocumentActions component.\n * @param {string} props.entityTitle The title to display.\n * @param {string} props.entityLabel A label to use for entity-related options.\n * E.g. \"template\" would be used for \"edit\n * template\" and \"show template details\".\n * @param {boolean} props.isLoaded Whether the data is available.\n * @param {Function} props.children React component to use for the\n * information dropdown area. Should be a\n * function which accepts dropdown props.\n */\nexport default function DocumentActions( {\n\tentityTitle,\n\tentityLabel,\n\tisLoaded,\n\tchildren: dropdownContent,\n} ) {\n\tconst { label } = useSecondaryText();\n\n\t// The title ref is passed to the popover as the anchorRef so that the\n\t// dropdown is centered over the whole title area rather than just one\n\t// part of it.\n\tconst titleRef = useRef();\n\n\t// Return a simple loading indicator until we have information to show.\n\tif ( ! isLoaded ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Loading…' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Return feedback that the template does not seem to exist.\n\tif ( ! entityTitle ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Template not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-document-actions', {\n\t\t\t\t'has-secondary-label': !! label,\n\t\t\t} ) }\n\t\t>\n\t\t\t<div\n\t\t\t\tref={ titleRef }\n\t\t\t\tclassName=\"edit-site-document-actions__title-wrapper\"\n\t\t\t>\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tclassName=\"edit-site-document-actions__title\"\n\t\t\t\t\tas=\"h1\"\n\t\t\t\t>\n\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: the entity being edited, like \"template\"*/\n\t\t\t\t\t\t\t__( 'Editing %s: ' ),\n\t\t\t\t\t\t\tentityLabel\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t{ entityTitle }\n\t\t\t\t</Text>\n\n\t\t\t\t<Text\n\t\t\t\t\tsize=\"body\"\n\t\t\t\t\tclassName=\"edit-site-document-actions__secondary-item\"\n\t\t\t\t>\n\t\t\t\t\t{ label ?? '' }\n\t\t\t\t</Text>\n\n\t\t\t\t{ dropdownContent && (\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tanchorRef: titleRef.current,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"edit-site-document-actions__get-info\"\n\t\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: the entity to see details about, like \"template\"*/\n\t\t\t\t\t\t\t\t\t__( 'Show %s details' ),\n\t\t\t\t\t\t\t\t\tentityLabel\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tcontentClassName=\"edit-site-document-actions__info-dropdown\"\n\t\t\t\t\t\trenderContent={ dropdownContent }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -12,7 +12,7 @@ import { __experimentalHStack as HStack, Icon, Tooltip } from '@wordpress/compon
12
12
  import { store as coreStore } from '@wordpress/core-data';
13
13
  import { useSelect } from '@wordpress/data';
14
14
  import { useState } from '@wordpress/element';
15
- import { layout as themeIcon, plugins as pluginIcon } from '@wordpress/icons';
15
+ import { commentAuthorAvatar as authorIcon, layout as themeIcon, plugins as pluginIcon } from '@wordpress/icons';
16
16
  import { __ } from '@wordpress/i18n';
17
17
  const TEMPLATE_POST_TYPE_NAMES = ['wp_template', 'wp_template_part'];
18
18
 
@@ -70,21 +70,27 @@ function AddedByPlugin(_ref3) {
70
70
  }
71
71
 
72
72
  function AddedByAuthor(_ref4) {
73
+ var _user$avatar_urls;
74
+
73
75
  let {
74
76
  id
75
77
  } = _ref4;
76
78
  const user = useSelect(select => select(coreStore).getUser(id), [id]);
77
79
  const [isImageLoaded, setIsImageLoaded] = useState(false);
80
+ const avatarURL = user === null || user === void 0 ? void 0 : (_user$avatar_urls = user.avatar_urls) === null || _user$avatar_urls === void 0 ? void 0 : _user$avatar_urls[48];
81
+ const hasAvatar = !!avatarURL;
78
82
  return createElement(HStack, {
79
83
  alignment: "left"
80
84
  }, createElement("div", {
81
- className: classnames('edit-site-list-added-by__avatar', {
85
+ className: classnames(hasAvatar ? 'edit-site-list-added-by__avatar' : 'edit-site-list-added-by__icon', {
82
86
  'is-loaded': isImageLoaded
83
87
  })
84
- }, createElement("img", {
88
+ }, hasAvatar ? createElement("img", {
85
89
  onLoad: () => setIsImageLoaded(true),
86
90
  alt: "",
87
- src: user === null || user === void 0 ? void 0 : user.avatar_urls[48]
91
+ src: avatarURL
92
+ }) : createElement(Icon, {
93
+ icon: authorIcon
88
94
  })), createElement("span", null, user === null || user === void 0 ? void 0 : user.nickname));
89
95
  }
90
96
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/list/added-by.js"],"names":["classnames","__experimentalHStack","HStack","Icon","Tooltip","store","coreStore","useSelect","useState","layout","themeIcon","plugins","pluginIcon","__","TEMPLATE_POST_TYPE_NAMES","CustomizedTooltip","isCustomized","children","AddedByTheme","slug","theme","select","getTheme","name","rendered","AddedByPlugin","plugin","getPlugin","AddedByAuthor","id","user","getUser","isImageLoaded","setIsImageLoaded","avatar_urls","nickname","AddedBySite","logoURL","getEntityRecord","getMedia","siteData","site_logo","source_url","undefined","AddedBy","templateType","template","includes","has_theme_file","origin","source","author"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tIcon,\n\tTooltip,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { layout as themeIcon, plugins as pluginIcon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nconst TEMPLATE_POST_TYPE_NAMES = [ 'wp_template', 'wp_template_part' ];\n\nfunction CustomizedTooltip( { isCustomized, children } ) {\n\tif ( ! isCustomized ) {\n\t\treturn children;\n\t}\n\n\treturn (\n\t\t<Tooltip text={ __( 'This template has been customized' ) }>\n\t\t\t{ children }\n\t\t</Tooltip>\n\t);\n}\n\nfunction AddedByTheme( { slug, isCustomized } ) {\n\tconst theme = useSelect(\n\t\t( select ) => select( coreStore ).getTheme( slug ),\n\t\t[ slug ]\n\t);\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<CustomizedTooltip isCustomized={ isCustomized }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames( 'edit-site-list-added-by__icon', {\n\t\t\t\t\t\t'is-customized': isCustomized,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ themeIcon } />\n\t\t\t\t</div>\n\t\t\t</CustomizedTooltip>\n\t\t\t<span>{ theme?.name?.rendered || slug }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction AddedByPlugin( { slug, isCustomized } ) {\n\tconst plugin = useSelect(\n\t\t( select ) => select( coreStore ).getPlugin( slug ),\n\t\t[ slug ]\n\t);\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<CustomizedTooltip isCustomized={ isCustomized }>\n\t\t\t\t<div className=\"edit-site-list-added-by__icon\">\n\t\t\t\t\t<Icon icon={ pluginIcon } />\n\t\t\t\t</div>\n\t\t\t</CustomizedTooltip>\n\t\t\t<span>{ plugin?.name || slug }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction AddedByAuthor( { id } ) {\n\tconst user = useSelect( ( select ) => select( coreStore ).getUser( id ), [\n\t\tid,\n\t] );\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'edit-site-list-added-by__avatar', {\n\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tsrc={ user?.avatar_urls[ 48 ] }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<span>{ user?.nickname }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction AddedBySite() {\n\tconst { name, logoURL } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, getMedia } = select( coreStore );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\n\t\treturn {\n\t\t\tname: siteData.name,\n\t\t\tlogoURL: siteData?.site_logo\n\t\t\t\t? getMedia( siteData.site_logo )?.source_url\n\t\t\t\t: undefined,\n\t\t};\n\t}, [] );\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'edit-site-list-added-by__avatar', {\n\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tsrc={ logoURL }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<span>{ name }</span>\n\t\t</HStack>\n\t);\n}\n\nexport default function AddedBy( { templateType, template } ) {\n\tif ( ! template ) {\n\t\treturn;\n\t}\n\n\tif ( TEMPLATE_POST_TYPE_NAMES.includes( templateType ) ) {\n\t\t// Template originally provided by a theme, but customized by a user.\n\t\t// Templates originally didn't have the 'origin' field so identify\n\t\t// older customized templates by checking for no origin and a 'theme'\n\t\t// or 'custom' source.\n\t\tif (\n\t\t\ttemplate.has_theme_file &&\n\t\t\t( template.origin === 'theme' ||\n\t\t\t\t( ! template.origin &&\n\t\t\t\t\t[ 'theme', 'custom' ].includes( template.source ) ) )\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<AddedByTheme\n\t\t\t\t\tslug={ template.theme }\n\t\t\t\t\tisCustomized={ template.source === 'custom' }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// Template originally provided by a plugin, but customized by a user.\n\t\tif ( template.has_theme_file && template.origin === 'plugin' ) {\n\t\t\treturn (\n\t\t\t\t<AddedByPlugin\n\t\t\t\t\tslug={ template.theme }\n\t\t\t\t\tisCustomized={ template.source === 'custom' }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// Template was created from scratch, but has no author. Author support\n\t\t// was only added to templates in WordPress 5.9. Fallback to showing the\n\t\t// site logo and title.\n\t\tif (\n\t\t\t! template.has_theme_file &&\n\t\t\ttemplate.source === 'custom' &&\n\t\t\t! template.author\n\t\t) {\n\t\t\treturn <AddedBySite />;\n\t\t}\n\t}\n\n\t// Simply show the author for templates created from scratch that have an\n\t// author or for any other post type.\n\treturn <AddedByAuthor id={ template.author } />;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/list/added-by.js"],"names":["classnames","__experimentalHStack","HStack","Icon","Tooltip","store","coreStore","useSelect","useState","commentAuthorAvatar","authorIcon","layout","themeIcon","plugins","pluginIcon","__","TEMPLATE_POST_TYPE_NAMES","CustomizedTooltip","isCustomized","children","AddedByTheme","slug","theme","select","getTheme","name","rendered","AddedByPlugin","plugin","getPlugin","AddedByAuthor","id","user","getUser","isImageLoaded","setIsImageLoaded","avatarURL","avatar_urls","hasAvatar","nickname","AddedBySite","logoURL","getEntityRecord","getMedia","siteData","site_logo","source_url","undefined","AddedBy","templateType","template","includes","has_theme_file","origin","source","author"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,oBAAoB,IAAIC,MADzB,EAECC,IAFD,EAGCC,OAHD,QAIO,uBAJP;AAKA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SACCC,mBAAmB,IAAIC,UADxB,EAECC,MAAM,IAAIC,SAFX,EAGCC,OAAO,IAAIC,UAHZ,QAIO,kBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,MAAMC,wBAAwB,GAAG,CAAE,aAAF,EAAiB,kBAAjB,CAAjC;;AAEA,SAASC,iBAAT,OAAyD;AAAA,MAA7B;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,GAA6B;;AACxD,MAAK,CAAED,YAAP,EAAsB;AACrB,WAAOC,QAAP;AACA;;AAED,SACC,cAAC,OAAD;AAAS,IAAA,IAAI,EAAGJ,EAAE,CAAE,mCAAF;AAAlB,KACGI,QADH,CADD;AAKA;;AAED,SAASC,YAAT,QAAgD;AAAA;;AAAA,MAAzB;AAAEC,IAAAA,IAAF;AAAQH,IAAAA;AAAR,GAAyB;AAC/C,QAAMI,KAAK,GAAGf,SAAS,CACpBgB,MAAF,IAAcA,MAAM,CAAEjB,SAAF,CAAN,CAAoBkB,QAApB,CAA8BH,IAA9B,CADQ,EAEtB,CAAEA,IAAF,CAFsB,CAAvB;AAKA,SACC,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC,cAAC,iBAAD;AAAmB,IAAA,YAAY,EAAGH;AAAlC,KACC;AACC,IAAA,SAAS,EAAGlB,UAAU,CAAE,+BAAF,EAAmC;AACxD,uBAAiBkB;AADuC,KAAnC;AADvB,KAKC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGN;AAAb,IALD,CADD,CADD,EAUC,4BAAQ,CAAAU,KAAK,SAAL,IAAAA,KAAK,WAAL,2BAAAA,KAAK,CAAEG,IAAP,4DAAaC,QAAb,KAAyBL,IAAjC,CAVD,CADD;AAcA;;AAED,SAASM,aAAT,QAAiD;AAAA,MAAzB;AAAEN,IAAAA,IAAF;AAAQH,IAAAA;AAAR,GAAyB;AAChD,QAAMU,MAAM,GAAGrB,SAAS,CACrBgB,MAAF,IAAcA,MAAM,CAAEjB,SAAF,CAAN,CAAoBuB,SAApB,CAA+BR,IAA/B,CADS,EAEvB,CAAEA,IAAF,CAFuB,CAAxB;AAKA,SACC,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC,cAAC,iBAAD;AAAmB,IAAA,YAAY,EAAGH;AAAlC,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGJ;AAAb,IADD,CADD,CADD,EAMC,4BAAQ,CAAAc,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEH,IAAR,KAAgBJ,IAAxB,CAND,CADD;AAUA;;AAED,SAASS,aAAT,QAAiC;AAAA;;AAAA,MAAT;AAAEC,IAAAA;AAAF,GAAS;AAChC,QAAMC,IAAI,GAAGzB,SAAS,CAAIgB,MAAF,IAAcA,MAAM,CAAEjB,SAAF,CAAN,CAAoB2B,OAApB,CAA6BF,EAA7B,CAAhB,EAAmD,CACxEA,EADwE,CAAnD,CAAtB;AAGA,QAAM,CAAEG,aAAF,EAAiBC,gBAAjB,IAAsC3B,QAAQ,CAAE,KAAF,CAApD;AAEA,QAAM4B,SAAS,GAAGJ,IAAH,aAAGA,IAAH,4CAAGA,IAAI,CAAEK,WAAT,sDAAG,kBAAqB,EAArB,CAAlB;AACA,QAAMC,SAAS,GAAG,CAAC,CAAEF,SAArB;AAEA,SACC,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC;AACC,IAAA,SAAS,EAAGpC,UAAU,CACrBsC,SAAS,GACN,iCADM,GAEN,+BAHkB,EAIrB;AACC,mBAAaJ;AADd,KAJqB;AADvB,KAUGI,SAAS,GACV;AACC,IAAA,MAAM,EAAG,MAAMH,gBAAgB,CAAE,IAAF,CADhC;AAEC,IAAA,GAAG,EAAC,EAFL;AAGC,IAAA,GAAG,EAAGC;AAHP,IADU,GAOV,cAAC,IAAD;AAAM,IAAA,IAAI,EAAG1B;AAAb,IAjBF,CADD,EAqBC,4BAAQsB,IAAR,aAAQA,IAAR,uBAAQA,IAAI,CAAEO,QAAd,CArBD,CADD;AAyBA;;AAED,SAASC,WAAT,GAAuB;AACtB,QAAM;AAAEf,IAAAA,IAAF;AAAQgB,IAAAA;AAAR,MAAoBlC,SAAS,CAAIgB,MAAF,IAAc;AAAA;;AAClD,UAAM;AAAEmB,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAAgCpB,MAAM,CAAEjB,SAAF,CAA5C;AACA,UAAMsC,QAAQ,GAAGF,eAAe,CAAE,MAAF,EAAU,gBAAV,CAAhC;AAEA,WAAO;AACNjB,MAAAA,IAAI,EAAEmB,QAAQ,CAACnB,IADT;AAENgB,MAAAA,OAAO,EAAEG,QAAQ,SAAR,IAAAA,QAAQ,WAAR,IAAAA,QAAQ,CAAEC,SAAV,gBACNF,QAAQ,CAAEC,QAAQ,CAACC,SAAX,CADF,8CACN,UAAgCC,UAD1B,GAENC;AAJG,KAAP;AAMA,GAVkC,EAUhC,EAVgC,CAAnC;AAWA,QAAM,CAAEb,aAAF,EAAiBC,gBAAjB,IAAsC3B,QAAQ,CAAE,KAAF,CAApD;AAEA,SACC,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC;AACC,IAAA,SAAS,EAAGR,UAAU,CAAE,iCAAF,EAAqC;AAC1D,mBAAakC;AAD6C,KAArC;AADvB,KAKC;AACC,IAAA,MAAM,EAAG,MAAMC,gBAAgB,CAAE,IAAF,CADhC;AAEC,IAAA,GAAG,EAAC,EAFL;AAGC,IAAA,GAAG,EAAGM;AAHP,IALD,CADD,EAYC,4BAAQhB,IAAR,CAZD,CADD;AAgBA;;AAED,eAAe,SAASuB,OAAT,QAA+C;AAAA,MAA7B;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,GAA6B;;AAC7D,MAAK,CAAEA,QAAP,EAAkB;AACjB;AACA;;AAED,MAAKlC,wBAAwB,CAACmC,QAAzB,CAAmCF,YAAnC,CAAL,EAAyD;AACxD;AACA;AACA;AACA;AACA,QACCC,QAAQ,CAACE,cAAT,KACEF,QAAQ,CAACG,MAAT,KAAoB,OAApB,IACC,CAAEH,QAAQ,CAACG,MAAX,IACD,CAAE,OAAF,EAAW,QAAX,EAAsBF,QAAtB,CAAgCD,QAAQ,CAACI,MAAzC,CAHF,CADD,EAKE;AACD,aACC,cAAC,YAAD;AACC,QAAA,IAAI,EAAGJ,QAAQ,CAAC5B,KADjB;AAEC,QAAA,YAAY,EAAG4B,QAAQ,CAACI,MAAT,KAAoB;AAFpC,QADD;AAMA,KAjBuD,CAmBxD;;;AACA,QAAKJ,QAAQ,CAACE,cAAT,IAA2BF,QAAQ,CAACG,MAAT,KAAoB,QAApD,EAA+D;AAC9D,aACC,cAAC,aAAD;AACC,QAAA,IAAI,EAAGH,QAAQ,CAAC5B,KADjB;AAEC,QAAA,YAAY,EAAG4B,QAAQ,CAACI,MAAT,KAAoB;AAFpC,QADD;AAMA,KA3BuD,CA6BxD;AACA;AACA;;;AACA,QACC,CAAEJ,QAAQ,CAACE,cAAX,IACAF,QAAQ,CAACI,MAAT,KAAoB,QADpB,IAEA,CAAEJ,QAAQ,CAACK,MAHZ,EAIE;AACD,aAAO,cAAC,WAAD,OAAP;AACA;AACD,GA5C4D,CA8C7D;AACA;;;AACA,SAAO,cAAC,aAAD;AAAe,IAAA,EAAE,EAAGL,QAAQ,CAACK;AAA7B,IAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tIcon,\n\tTooltip,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport {\n\tcommentAuthorAvatar as authorIcon,\n\tlayout as themeIcon,\n\tplugins as pluginIcon,\n} from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\nconst TEMPLATE_POST_TYPE_NAMES = [ 'wp_template', 'wp_template_part' ];\n\nfunction CustomizedTooltip( { isCustomized, children } ) {\n\tif ( ! isCustomized ) {\n\t\treturn children;\n\t}\n\n\treturn (\n\t\t<Tooltip text={ __( 'This template has been customized' ) }>\n\t\t\t{ children }\n\t\t</Tooltip>\n\t);\n}\n\nfunction AddedByTheme( { slug, isCustomized } ) {\n\tconst theme = useSelect(\n\t\t( select ) => select( coreStore ).getTheme( slug ),\n\t\t[ slug ]\n\t);\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<CustomizedTooltip isCustomized={ isCustomized }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames( 'edit-site-list-added-by__icon', {\n\t\t\t\t\t\t'is-customized': isCustomized,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ themeIcon } />\n\t\t\t\t</div>\n\t\t\t</CustomizedTooltip>\n\t\t\t<span>{ theme?.name?.rendered || slug }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction AddedByPlugin( { slug, isCustomized } ) {\n\tconst plugin = useSelect(\n\t\t( select ) => select( coreStore ).getPlugin( slug ),\n\t\t[ slug ]\n\t);\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<CustomizedTooltip isCustomized={ isCustomized }>\n\t\t\t\t<div className=\"edit-site-list-added-by__icon\">\n\t\t\t\t\t<Icon icon={ pluginIcon } />\n\t\t\t\t</div>\n\t\t\t</CustomizedTooltip>\n\t\t\t<span>{ plugin?.name || slug }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction AddedByAuthor( { id } ) {\n\tconst user = useSelect( ( select ) => select( coreStore ).getUser( id ), [\n\t\tid,\n\t] );\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\n\tconst avatarURL = user?.avatar_urls?.[ 48 ];\n\tconst hasAvatar = !! avatarURL;\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\thasAvatar\n\t\t\t\t\t\t? 'edit-site-list-added-by__avatar'\n\t\t\t\t\t\t: 'edit-site-list-added-by__icon',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ hasAvatar ? (\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ avatarURL }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<Icon icon={ authorIcon } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<span>{ user?.nickname }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction AddedBySite() {\n\tconst { name, logoURL } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, getMedia } = select( coreStore );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\n\t\treturn {\n\t\t\tname: siteData.name,\n\t\t\tlogoURL: siteData?.site_logo\n\t\t\t\t? getMedia( siteData.site_logo )?.source_url\n\t\t\t\t: undefined,\n\t\t};\n\t}, [] );\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'edit-site-list-added-by__avatar', {\n\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\talt=\"\"\n\t\t\t\t\tsrc={ logoURL }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<span>{ name }</span>\n\t\t</HStack>\n\t);\n}\n\nexport default function AddedBy( { templateType, template } ) {\n\tif ( ! template ) {\n\t\treturn;\n\t}\n\n\tif ( TEMPLATE_POST_TYPE_NAMES.includes( templateType ) ) {\n\t\t// Template originally provided by a theme, but customized by a user.\n\t\t// Templates originally didn't have the 'origin' field so identify\n\t\t// older customized templates by checking for no origin and a 'theme'\n\t\t// or 'custom' source.\n\t\tif (\n\t\t\ttemplate.has_theme_file &&\n\t\t\t( template.origin === 'theme' ||\n\t\t\t\t( ! template.origin &&\n\t\t\t\t\t[ 'theme', 'custom' ].includes( template.source ) ) )\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<AddedByTheme\n\t\t\t\t\tslug={ template.theme }\n\t\t\t\t\tisCustomized={ template.source === 'custom' }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// Template originally provided by a plugin, but customized by a user.\n\t\tif ( template.has_theme_file && template.origin === 'plugin' ) {\n\t\t\treturn (\n\t\t\t\t<AddedByPlugin\n\t\t\t\t\tslug={ template.theme }\n\t\t\t\t\tisCustomized={ template.source === 'custom' }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\t// Template was created from scratch, but has no author. Author support\n\t\t// was only added to templates in WordPress 5.9. Fallback to showing the\n\t\t// site logo and title.\n\t\tif (\n\t\t\t! template.has_theme_file &&\n\t\t\ttemplate.source === 'custom' &&\n\t\t\t! template.author\n\t\t) {\n\t\t\treturn <AddedBySite />;\n\t\t}\n\t}\n\n\t// Simply show the author for templates created from scratch that have an\n\t// author or for any other post type.\n\treturn <AddedByAuthor id={ template.author } />;\n}\n"]}
@@ -23,12 +23,16 @@ import Header from './header';
23
23
  import NavigationSidebar from '../navigation-sidebar';
24
24
  import Table from './table';
25
25
  import { store as editSiteStore } from '../../store';
26
- export default function List(_ref) {
27
- var _postType$labels;
26
+ import { useLocation } from '../routes';
27
+ import useTitle from '../routes/use-title';
28
+ export default function List() {
29
+ var _postType$labels, _postType$labels2;
28
30
 
29
- let {
30
- templateType
31
- } = _ref;
31
+ const {
32
+ params: {
33
+ postType: templateType
34
+ }
35
+ } = useLocation();
32
36
  useRegisterShortcuts();
33
37
  const {
34
38
  previousShortcut,
@@ -41,10 +45,11 @@ export default function List(_ref) {
41
45
  isNavigationOpen: select(editSiteStore).isNavigationOpened()
42
46
  };
43
47
  }, []);
44
- const postType = useSelect(select => select(coreStore).getPostType(templateType), [templateType]); // `postType` could load in asynchronously. Only provide the detailed region labels if
48
+ const postType = useSelect(select => select(coreStore).getPostType(templateType), [templateType]);
49
+ useTitle(postType === null || postType === void 0 ? void 0 : (_postType$labels = postType.labels) === null || _postType$labels === void 0 ? void 0 : _postType$labels.name); // `postType` could load in asynchronously. Only provide the detailed region labels if
45
50
  // the postType has loaded, otherwise `InterfaceSkeleton` will fallback to the defaults.
46
51
 
47
- const itemsListLabel = postType === null || postType === void 0 ? void 0 : (_postType$labels = postType.labels) === null || _postType$labels === void 0 ? void 0 : _postType$labels.items_list;
52
+ const itemsListLabel = postType === null || postType === void 0 ? void 0 : (_postType$labels2 = postType.labels) === null || _postType$labels2 === void 0 ? void 0 : _postType$labels2.items_list;
48
53
  const detailedRegionLabels = postType ? {
49
54
  header: sprintf( // translators: %s - the name of the page, 'Header' as in the header area of that page.
50
55
  __('%s - Header'), itemsListLabel),
@@ -62,16 +67,11 @@ export default function List(_ref) {
62
67
  header: createElement(Header, {
63
68
  templateType: templateType
64
69
  }),
65
- drawer: createElement(NavigationSidebar, {
66
- activeTemplateType: templateType,
67
- isDefaultOpen: true
68
- }),
70
+ drawer: createElement(NavigationSidebar.Slot, null),
69
71
  notices: createElement(EditorSnackbars, null),
70
- content: createElement("main", {
71
- className: "edit-site-list-main"
72
- }, createElement(Table, {
72
+ content: createElement(Table, {
73
73
  templateType: templateType
74
- })),
74
+ }),
75
75
  shortcuts: {
76
76
  previous: previousShortcut,
77
77
  next: nextShortcut
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/list/index.js"],"names":["classnames","store","coreStore","useSelect","InterfaceSkeleton","__","sprintf","keyboardShortcutsStore","EditorSnackbars","useRegisterShortcuts","Header","NavigationSidebar","Table","editSiteStore","List","templateType","previousShortcut","nextShortcut","isNavigationOpen","select","getAllShortcutKeyCombinations","isNavigationOpened","postType","getPostType","itemsListLabel","labels","items_list","detailedRegionLabels","header","body","undefined","drawer","previous","next"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,iBAAT,QAAkC,sBAAlC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASL,KAAK,IAAIM,sBAAlB,QAAgD,+BAAhD;AACA,SAASC,eAAT,QAAgC,mBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,0BAAjC;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,iBAAP,MAA8B,uBAA9B;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,SAASX,KAAK,IAAIY,aAAlB,QAAuC,aAAvC;AAEA,eAAe,SAASC,IAAT,OAAkC;AAAA;;AAAA,MAAnB;AAAEC,IAAAA;AAAF,GAAmB;AAChDN,EAAAA,oBAAoB;AAEpB,QAAM;AAAEO,IAAAA,gBAAF;AAAoBC,IAAAA,YAApB;AAAkCC,IAAAA;AAAlC,MAAuDf,SAAS,CACnEgB,MAAF,IAAc;AACb,WAAO;AACNH,MAAAA,gBAAgB,EAAEG,MAAM,CACvBZ,sBADuB,CAAN,CAEhBa,6BAFgB,CAGjB,gCAHiB,CADZ;AAMNH,MAAAA,YAAY,EAAEE,MAAM,CACnBZ,sBADmB,CAAN,CAEZa,6BAFY,CAEmB,4BAFnB,CANR;AASNF,MAAAA,gBAAgB,EAAEC,MAAM,CAAEN,aAAF,CAAN,CAAwBQ,kBAAxB;AATZ,KAAP;AAWA,GAboE,EAcrE,EAdqE,CAAtE;AAiBA,QAAMC,QAAQ,GAAGnB,SAAS,CACvBgB,MAAF,IAAcA,MAAM,CAAEjB,SAAF,CAAN,CAAoBqB,WAApB,CAAiCR,YAAjC,CADW,EAEzB,CAAEA,YAAF,CAFyB,CAA1B,CApBgD,CAyBhD;AACA;;AACA,QAAMS,cAAc,GAAGF,QAAH,aAAGA,QAAH,2CAAGA,QAAQ,CAAEG,MAAb,qDAAG,iBAAkBC,UAAzC;AACA,QAAMC,oBAAoB,GAAGL,QAAQ,GAClC;AACAM,IAAAA,MAAM,EAAEtB,OAAO,EACd;AACAD,IAAAA,EAAE,CAAE,aAAF,CAFY,EAGdmB,cAHc,CADf;AAMAK,IAAAA,IAAI,EAAEvB,OAAO,EACZ;AACAD,IAAAA,EAAE,CAAE,cAAF,CAFU,EAGZmB,cAHY;AANb,GADkC,GAalCM,SAbH;AAeA,SACC,cAAC,iBAAD;AACC,IAAA,SAAS,EAAG9B,UAAU,CAAE,gBAAF,EAAoB;AACzC,4BAAsBkB;AADmB,KAApB,CADvB;AAIC,IAAA,MAAM,EAAG;AACRa,MAAAA,MAAM,EAAE1B,EAAE,CAAE,oBAAF,CADF;AAER,SAAGsB;AAFK,KAJV;AAQC,IAAA,MAAM,EAAG,cAAC,MAAD;AAAQ,MAAA,YAAY,EAAGZ;AAAvB,MARV;AASC,IAAA,MAAM,EACL,cAAC,iBAAD;AACC,MAAA,kBAAkB,EAAGA,YADtB;AAEC,MAAA,aAAa;AAFd,MAVF;AAeC,IAAA,OAAO,EAAG,cAAC,eAAD,OAfX;AAgBC,IAAA,OAAO,EACN;AAAM,MAAA,SAAS,EAAC;AAAhB,OACC,cAAC,KAAD;AAAO,MAAA,YAAY,EAAGA;AAAtB,MADD,CAjBF;AAqBC,IAAA,SAAS,EAAG;AACXiB,MAAAA,QAAQ,EAAEhB,gBADC;AAEXiB,MAAAA,IAAI,EAAEhB;AAFK;AArBb,IADD;AA4BA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { InterfaceSkeleton } from '@wordpress/interface';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { EditorSnackbars } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport useRegisterShortcuts from './use-register-shortcuts';\nimport Header from './header';\nimport NavigationSidebar from '../navigation-sidebar';\nimport Table from './table';\nimport { store as editSiteStore } from '../../store';\n\nexport default function List( { templateType } ) {\n\tuseRegisterShortcuts();\n\n\tconst { previousShortcut, nextShortcut, isNavigationOpen } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tpreviousShortcut: select(\n\t\t\t\t\tkeyboardShortcutsStore\n\t\t\t\t).getAllShortcutKeyCombinations(\n\t\t\t\t\t'core/edit-site/previous-region'\n\t\t\t\t),\n\t\t\t\tnextShortcut: select(\n\t\t\t\t\tkeyboardShortcutsStore\n\t\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),\n\t\t\t\tisNavigationOpen: select( editSiteStore ).isNavigationOpened(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) => select( coreStore ).getPostType( templateType ),\n\t\t[ templateType ]\n\t);\n\n\t// `postType` could load in asynchronously. Only provide the detailed region labels if\n\t// the postType has loaded, otherwise `InterfaceSkeleton` will fallback to the defaults.\n\tconst itemsListLabel = postType?.labels?.items_list;\n\tconst detailedRegionLabels = postType\n\t\t? {\n\t\t\t\theader: sprintf(\n\t\t\t\t\t// translators: %s - the name of the page, 'Header' as in the header area of that page.\n\t\t\t\t\t__( '%s - Header' ),\n\t\t\t\t\titemsListLabel\n\t\t\t\t),\n\t\t\t\tbody: sprintf(\n\t\t\t\t\t// translators: %s - the name of the page, 'Content' as in the content area of that page.\n\t\t\t\t\t__( '%s - Content' ),\n\t\t\t\t\titemsListLabel\n\t\t\t\t),\n\t\t }\n\t\t: undefined;\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tclassName={ classnames( 'edit-site-list', {\n\t\t\t\t'is-navigation-open': isNavigationOpen,\n\t\t\t} ) }\n\t\t\tlabels={ {\n\t\t\t\tdrawer: __( 'Navigation Sidebar' ),\n\t\t\t\t...detailedRegionLabels,\n\t\t\t} }\n\t\t\theader={ <Header templateType={ templateType } /> }\n\t\t\tdrawer={\n\t\t\t\t<NavigationSidebar\n\t\t\t\t\tactiveTemplateType={ templateType }\n\t\t\t\t\tisDefaultOpen\n\t\t\t\t/>\n\t\t\t}\n\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\tcontent={\n\t\t\t\t<main className=\"edit-site-list-main\">\n\t\t\t\t\t<Table templateType={ templateType } />\n\t\t\t\t</main>\n\t\t\t}\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/list/index.js"],"names":["classnames","store","coreStore","useSelect","InterfaceSkeleton","__","sprintf","keyboardShortcutsStore","EditorSnackbars","useRegisterShortcuts","Header","NavigationSidebar","Table","editSiteStore","useLocation","useTitle","List","params","postType","templateType","previousShortcut","nextShortcut","isNavigationOpen","select","getAllShortcutKeyCombinations","isNavigationOpened","getPostType","labels","name","itemsListLabel","items_list","detailedRegionLabels","header","body","undefined","drawer","previous","next"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { InterfaceSkeleton } from '@wordpress/interface';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { EditorSnackbars } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport useRegisterShortcuts from './use-register-shortcuts';\nimport Header from './header';\nimport NavigationSidebar from '../navigation-sidebar';\nimport Table from './table';\nimport { store as editSiteStore } from '../../store';\nimport { useLocation } from '../routes';\nimport useTitle from '../routes/use-title';\n\nexport default function List() {\n\tconst {\n\t\tparams: { postType: templateType },\n\t} = useLocation();\n\n\tuseRegisterShortcuts();\n\n\tconst { previousShortcut, nextShortcut, isNavigationOpen } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tpreviousShortcut: select(\n\t\t\t\t\tkeyboardShortcutsStore\n\t\t\t\t).getAllShortcutKeyCombinations(\n\t\t\t\t\t'core/edit-site/previous-region'\n\t\t\t\t),\n\t\t\t\tnextShortcut: select(\n\t\t\t\t\tkeyboardShortcutsStore\n\t\t\t\t).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),\n\t\t\t\tisNavigationOpen: select( editSiteStore ).isNavigationOpened(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) => select( coreStore ).getPostType( templateType ),\n\t\t[ templateType ]\n\t);\n\n\tuseTitle( postType?.labels?.name );\n\n\t// `postType` could load in asynchronously. Only provide the detailed region labels if\n\t// the postType has loaded, otherwise `InterfaceSkeleton` will fallback to the defaults.\n\tconst itemsListLabel = postType?.labels?.items_list;\n\tconst detailedRegionLabels = postType\n\t\t? {\n\t\t\t\theader: sprintf(\n\t\t\t\t\t// translators: %s - the name of the page, 'Header' as in the header area of that page.\n\t\t\t\t\t__( '%s - Header' ),\n\t\t\t\t\titemsListLabel\n\t\t\t\t),\n\t\t\t\tbody: sprintf(\n\t\t\t\t\t// translators: %s - the name of the page, 'Content' as in the content area of that page.\n\t\t\t\t\t__( '%s - Content' ),\n\t\t\t\t\titemsListLabel\n\t\t\t\t),\n\t\t }\n\t\t: undefined;\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tclassName={ classnames( 'edit-site-list', {\n\t\t\t\t'is-navigation-open': isNavigationOpen,\n\t\t\t} ) }\n\t\t\tlabels={ {\n\t\t\t\tdrawer: __( 'Navigation Sidebar' ),\n\t\t\t\t...detailedRegionLabels,\n\t\t\t} }\n\t\t\theader={ <Header templateType={ templateType } /> }\n\t\t\tdrawer={ <NavigationSidebar.Slot /> }\n\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\tcontent={ <Table templateType={ templateType } /> }\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
@@ -7,11 +7,11 @@ import { useSelect } from '@wordpress/data';
7
7
  import { store as coreStore } from '@wordpress/core-data';
8
8
  import { __, sprintf } from '@wordpress/i18n';
9
9
  import { VisuallyHidden, __experimentalHeading as Heading } from '@wordpress/components';
10
- import { addQueryArgs } from '@wordpress/url';
11
10
  /**
12
11
  * Internal dependencies
13
12
  */
14
13
 
14
+ import Link from '../routes/link';
15
15
  import Actions from './actions';
16
16
  import AddedBy from './added-by';
17
17
  export default function Table(_ref) {
@@ -79,11 +79,11 @@ export default function Table(_ref) {
79
79
  role: "cell"
80
80
  }, createElement(Heading, {
81
81
  level: 4
82
- }, createElement("a", {
83
- href: addQueryArgs(window.location.href, {
82
+ }, createElement(Link, {
83
+ params: {
84
84
  postId: template.id,
85
85
  postType: template.type
86
- })
86
+ }
87
87
  }, ((_template$title = template.title) === null || _template$title === void 0 ? void 0 : _template$title.rendered) || template.slug)), template.description), createElement("td", {
88
88
  className: "edit-site-list-table-column",
89
89
  role: "cell"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/list/table.js"],"names":["useSelect","store","coreStore","__","sprintf","VisuallyHidden","__experimentalHeading","Heading","addQueryArgs","Actions","AddedBy","Table","templateType","templates","isLoading","postType","select","getEntityRecords","hasFinishedResolution","getPostType","per_page","length","labels","name","toLowerCase","map","template","id","window","location","href","postId","type","title","rendered","slug","description"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport Actions from './actions';\nimport AddedBy from './added-by';\n\nexport default function Table( { templateType } ) {\n\tconst { templates, isLoading, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tgetPostType,\n\t\t\t} = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\ttemplates: getEntityRecords( 'postType', templateType, {\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} ),\n\t\t\t\tisLoading: ! hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplateType,\n\t\t\t\t\t{ per_page: -1 },\n\t\t\t\t] ),\n\t\t\t\tpostType: getPostType( templateType ),\n\t\t\t};\n\t\t},\n\t\t[ templateType ]\n\t);\n\n\tif ( ! templates || isLoading ) {\n\t\treturn null;\n\t}\n\n\tif ( ! templates.length ) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: The template type name, should be either \"templates\" or \"template parts\".\n\t\t\t\t\t__( 'No %s found.' ),\n\t\t\t\t\tpostType?.labels?.name?.toLowerCase()\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t// These explicit aria roles are needed for Safari.\n\t\t// See https://developer.mozilla.org/en-US/docs/Web/CSS/display#tables\n\t\t<table className=\"edit-site-list-table\" role=\"table\">\n\t\t\t<thead>\n\t\t\t\t<tr className=\"edit-site-list-table-head\" role=\"row\">\n\t\t\t\t\t<th\n\t\t\t\t\t\tclassName=\"edit-site-list-table-column\"\n\t\t\t\t\t\trole=\"columnheader\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Template' ) }\n\t\t\t\t\t</th>\n\t\t\t\t\t<th\n\t\t\t\t\t\tclassName=\"edit-site-list-table-column\"\n\t\t\t\t\t\trole=\"columnheader\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Added by' ) }\n\t\t\t\t\t</th>\n\t\t\t\t\t<th\n\t\t\t\t\t\tclassName=\"edit-site-list-table-column\"\n\t\t\t\t\t\trole=\"columnheader\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\n\t\t\t<tbody>\n\t\t\t\t{ templates.map( ( template ) => (\n\t\t\t\t\t<tr\n\t\t\t\t\t\tkey={ template.id }\n\t\t\t\t\t\tclassName=\"edit-site-list-table-row\"\n\t\t\t\t\t\trole=\"row\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<td className=\"edit-site-list-table-column\" role=\"cell\">\n\t\t\t\t\t\t\t<Heading level={ 4 }>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref={ addQueryArgs( window.location.href, {\n\t\t\t\t\t\t\t\t\t\tpostId: template.id,\n\t\t\t\t\t\t\t\t\t\tpostType: template.type,\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{ template.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\ttemplate.slug }\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t{ template.description }\n\t\t\t\t\t\t</td>\n\n\t\t\t\t\t\t<td className=\"edit-site-list-table-column\" role=\"cell\">\n\t\t\t\t\t\t\t<AddedBy\n\t\t\t\t\t\t\t\ttemplateType={ templateType }\n\t\t\t\t\t\t\t\ttemplate={ template }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td className=\"edit-site-list-table-column\" role=\"cell\">\n\t\t\t\t\t\t\t<Actions template={ template } />\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t) ) }\n\t\t\t</tbody>\n\t\t</table>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/list/table.js"],"names":["useSelect","store","coreStore","__","sprintf","VisuallyHidden","__experimentalHeading","Heading","Link","Actions","AddedBy","Table","templateType","templates","isLoading","postType","select","getEntityRecords","hasFinishedResolution","getPostType","per_page","length","labels","name","toLowerCase","map","template","id","postId","type","title","rendered","slug","description"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport Link from '../routes/link';\nimport Actions from './actions';\nimport AddedBy from './added-by';\n\nexport default function Table( { templateType } ) {\n\tconst { templates, isLoading, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tgetPostType,\n\t\t\t} = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\ttemplates: getEntityRecords( 'postType', templateType, {\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} ),\n\t\t\t\tisLoading: ! hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplateType,\n\t\t\t\t\t{ per_page: -1 },\n\t\t\t\t] ),\n\t\t\t\tpostType: getPostType( templateType ),\n\t\t\t};\n\t\t},\n\t\t[ templateType ]\n\t);\n\n\tif ( ! templates || isLoading ) {\n\t\treturn null;\n\t}\n\n\tif ( ! templates.length ) {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: The template type name, should be either \"templates\" or \"template parts\".\n\t\t\t\t\t__( 'No %s found.' ),\n\t\t\t\t\tpostType?.labels?.name?.toLowerCase()\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t// These explicit aria roles are needed for Safari.\n\t\t// See https://developer.mozilla.org/en-US/docs/Web/CSS/display#tables\n\t\t<table className=\"edit-site-list-table\" role=\"table\">\n\t\t\t<thead>\n\t\t\t\t<tr className=\"edit-site-list-table-head\" role=\"row\">\n\t\t\t\t\t<th\n\t\t\t\t\t\tclassName=\"edit-site-list-table-column\"\n\t\t\t\t\t\trole=\"columnheader\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Template' ) }\n\t\t\t\t\t</th>\n\t\t\t\t\t<th\n\t\t\t\t\t\tclassName=\"edit-site-list-table-column\"\n\t\t\t\t\t\trole=\"columnheader\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Added by' ) }\n\t\t\t\t\t</th>\n\t\t\t\t\t<th\n\t\t\t\t\t\tclassName=\"edit-site-list-table-column\"\n\t\t\t\t\t\trole=\"columnheader\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\n\t\t\t<tbody>\n\t\t\t\t{ templates.map( ( template ) => (\n\t\t\t\t\t<tr\n\t\t\t\t\t\tkey={ template.id }\n\t\t\t\t\t\tclassName=\"edit-site-list-table-row\"\n\t\t\t\t\t\trole=\"row\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<td className=\"edit-site-list-table-column\" role=\"cell\">\n\t\t\t\t\t\t\t<Heading level={ 4 }>\n\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\t\t\tpostId: template.id,\n\t\t\t\t\t\t\t\t\t\tpostType: template.type,\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{ template.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\ttemplate.slug }\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t{ template.description }\n\t\t\t\t\t\t</td>\n\n\t\t\t\t\t\t<td className=\"edit-site-list-table-column\" role=\"cell\">\n\t\t\t\t\t\t\t<AddedBy\n\t\t\t\t\t\t\t\ttemplateType={ templateType }\n\t\t\t\t\t\t\t\ttemplate={ template }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td className=\"edit-site-list-table-column\" role=\"cell\">\n\t\t\t\t\t\t\t<Actions template={ template } />\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t) ) }\n\t\t\t</tbody>\n\t\t</table>\n\t);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "@wordpress/element";
1
+ import { createElement } from "@wordpress/element";
2
2
 
3
3
  /**
4
4
  * WordPress dependencies
@@ -18,7 +18,12 @@ export const {
18
18
  Fill: NavigationPanelPreviewFill,
19
19
  Slot: NavigationPanelPreviewSlot
20
20
  } = createSlotFill('EditSiteNavigationPanelPreview');
21
- export default function NavigationSidebar(_ref) {
21
+ const {
22
+ Fill: NavigationSidebarFill,
23
+ Slot: NavigationSidebarSlot
24
+ } = createSlotFill('EditSiteNavigationSidebar');
25
+
26
+ function NavigationSidebar(_ref) {
22
27
  let {
23
28
  isDefaultOpen = false,
24
29
  activeTemplateType
@@ -27,19 +32,14 @@ export default function NavigationSidebar(_ref) {
27
32
  const {
28
33
  setIsNavigationPanelOpened
29
34
  } = useDispatch(editSiteStore);
30
- useEffect(() => {
31
- // When transitioning to desktop open the navigation if `isDefaultOpen` is true.
32
- if (isDefaultOpen && isDesktopViewport) {
33
- setIsNavigationPanelOpened(true);
34
- } // When transitioning to mobile/tablet, close the navigation.
35
-
36
-
37
- if (!isDesktopViewport) {
38
- setIsNavigationPanelOpened(false);
39
- }
35
+ useEffect(function autoOpenNavigationPanelOnViewportChange() {
36
+ setIsNavigationPanelOpened(isDefaultOpen && isDesktopViewport);
40
37
  }, [isDefaultOpen, isDesktopViewport, setIsNavigationPanelOpened]);
41
- return createElement(Fragment, null, createElement(NavigationToggle, null), createElement(NavigationPanel, {
38
+ return createElement(NavigationSidebarFill, null, createElement(NavigationToggle, null), createElement(NavigationPanel, {
42
39
  activeItem: activeTemplateType
43
40
  }), createElement(NavigationPanelPreviewSlot, null));
44
41
  }
42
+
43
+ NavigationSidebar.Slot = NavigationSidebarSlot;
44
+ export default NavigationSidebar;
45
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/index.js"],"names":["useEffect","createSlotFill","useViewportMatch","useDispatch","store","editSiteStore","NavigationPanel","NavigationToggle","Fill","NavigationPanelPreviewFill","Slot","NavigationPanelPreviewSlot","NavigationSidebar","isDefaultOpen","activeTemplateType","isDesktopViewport","setIsNavigationPanelOpened"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,cAAT,QAA+B,uBAA/B;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AAEA,OAAO,MAAM;AACZC,EAAAA,IAAI,EAAEC,0BADM;AAEZC,EAAAA,IAAI,EAAEC;AAFM,IAGTV,cAAc,CAAE,gCAAF,CAHX;AAKP,eAAe,SAASW,iBAAT,OAGX;AAAA,MAHuC;AAC1CC,IAAAA,aAAa,GAAG,KAD0B;AAE1CC,IAAAA;AAF0C,GAGvC;AACH,QAAMC,iBAAiB,GAAGb,gBAAgB,CAAE,QAAF,CAA1C;AACA,QAAM;AAAEc,IAAAA;AAAF,MAAiCb,WAAW,CAAEE,aAAF,CAAlD;AAEAL,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA,QAAKa,aAAa,IAAIE,iBAAtB,EAA0C;AACzCC,MAAAA,0BAA0B,CAAE,IAAF,CAA1B;AACA,KAJe,CAMhB;;;AACA,QAAK,CAAED,iBAAP,EAA2B;AAC1BC,MAAAA,0BAA0B,CAAE,KAAF,CAA1B;AACA;AACD,GAVQ,EAUN,CAAEH,aAAF,EAAiBE,iBAAjB,EAAoCC,0BAApC,CAVM,CAAT;AAYA,SACC,8BACC,cAAC,gBAAD,OADD,EAEC,cAAC,eAAD;AAAiB,IAAA,UAAU,EAAGF;AAA9B,IAFD,EAGC,cAAC,0BAAD,OAHD,CADD;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { createSlotFill } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport NavigationPanel from './navigation-panel';\nimport NavigationToggle from './navigation-toggle';\n\nexport const {\n\tFill: NavigationPanelPreviewFill,\n\tSlot: NavigationPanelPreviewSlot,\n} = createSlotFill( 'EditSiteNavigationPanelPreview' );\n\nexport default function NavigationSidebar( {\n\tisDefaultOpen = false,\n\tactiveTemplateType,\n} ) {\n\tconst isDesktopViewport = useViewportMatch( 'medium' );\n\tconst { setIsNavigationPanelOpened } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\t// When transitioning to desktop open the navigation if `isDefaultOpen` is true.\n\t\tif ( isDefaultOpen && isDesktopViewport ) {\n\t\t\tsetIsNavigationPanelOpened( true );\n\t\t}\n\n\t\t// When transitioning to mobile/tablet, close the navigation.\n\t\tif ( ! isDesktopViewport ) {\n\t\t\tsetIsNavigationPanelOpened( false );\n\t\t}\n\t}, [ isDefaultOpen, isDesktopViewport, setIsNavigationPanelOpened ] );\n\n\treturn (\n\t\t<>\n\t\t\t<NavigationToggle />\n\t\t\t<NavigationPanel activeItem={ activeTemplateType } />\n\t\t\t<NavigationPanelPreviewSlot />\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/index.js"],"names":["useEffect","createSlotFill","useViewportMatch","useDispatch","store","editSiteStore","NavigationPanel","NavigationToggle","Fill","NavigationPanelPreviewFill","Slot","NavigationPanelPreviewSlot","NavigationSidebarFill","NavigationSidebarSlot","NavigationSidebar","isDefaultOpen","activeTemplateType","isDesktopViewport","setIsNavigationPanelOpened","autoOpenNavigationPanelOnViewportChange"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,cAAT,QAA+B,uBAA/B;AACA,SAASC,gBAAT,QAAiC,oBAAjC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AAEA,OAAO,MAAM;AACZC,EAAAA,IAAI,EAAEC,0BADM;AAEZC,EAAAA,IAAI,EAAEC;AAFM,IAGTV,cAAc,CAAE,gCAAF,CAHX;AAKP,MAAM;AACLO,EAAAA,IAAI,EAAEI,qBADD;AAELF,EAAAA,IAAI,EAAEG;AAFD,IAGFZ,cAAc,CAAE,2BAAF,CAHlB;;AAKA,SAASa,iBAAT,OAA4E;AAAA,MAAhD;AAAEC,IAAAA,aAAa,GAAG,KAAlB;AAAyBC,IAAAA;AAAzB,GAAgD;AAC3E,QAAMC,iBAAiB,GAAGf,gBAAgB,CAAE,QAAF,CAA1C;AACA,QAAM;AAAEgB,IAAAA;AAAF,MAAiCf,WAAW,CAAEE,aAAF,CAAlD;AAEAL,EAAAA,SAAS,CACR,SAASmB,uCAAT,GAAmD;AAClDD,IAAAA,0BAA0B,CAAEH,aAAa,IAAIE,iBAAnB,CAA1B;AACA,GAHO,EAIR,CAAEF,aAAF,EAAiBE,iBAAjB,EAAoCC,0BAApC,CAJQ,CAAT;AAOA,SACC,cAAC,qBAAD,QACC,cAAC,gBAAD,OADD,EAEC,cAAC,eAAD;AAAiB,IAAA,UAAU,EAAGF;AAA9B,IAFD,EAGC,cAAC,0BAAD,OAHD,CADD;AAOA;;AAEDF,iBAAiB,CAACJ,IAAlB,GAAyBG,qBAAzB;AAEA,eAAeC,iBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { createSlotFill } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport NavigationPanel from './navigation-panel';\nimport NavigationToggle from './navigation-toggle';\n\nexport const {\n\tFill: NavigationPanelPreviewFill,\n\tSlot: NavigationPanelPreviewSlot,\n} = createSlotFill( 'EditSiteNavigationPanelPreview' );\n\nconst {\n\tFill: NavigationSidebarFill,\n\tSlot: NavigationSidebarSlot,\n} = createSlotFill( 'EditSiteNavigationSidebar' );\n\nfunction NavigationSidebar( { isDefaultOpen = false, activeTemplateType } ) {\n\tconst isDesktopViewport = useViewportMatch( 'medium' );\n\tconst { setIsNavigationPanelOpened } = useDispatch( editSiteStore );\n\n\tuseEffect(\n\t\tfunction autoOpenNavigationPanelOnViewportChange() {\n\t\t\tsetIsNavigationPanelOpened( isDefaultOpen && isDesktopViewport );\n\t\t},\n\t\t[ isDefaultOpen, isDesktopViewport, setIsNavigationPanelOpened ]\n\t);\n\n\treturn (\n\t\t<NavigationSidebarFill>\n\t\t\t<NavigationToggle />\n\t\t\t<NavigationPanel activeItem={ activeTemplateType } />\n\t\t\t<NavigationPanelPreviewSlot />\n\t\t</NavigationSidebarFill>\n\t);\n}\n\nNavigationSidebar.Slot = NavigationSidebarSlot;\n\nexport default NavigationSidebar;\n"]}
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  import { createElement } from "@wordpress/element";
2
3
 
3
4
  /**
@@ -11,24 +12,33 @@ import classnames from 'classnames';
11
12
  import { __experimentalNavigation as Navigation, __experimentalNavigationBackButton as NavigationBackButton, __experimentalNavigationGroup as NavigationGroup, __experimentalNavigationItem as NavigationItem, __experimentalNavigationMenu as NavigationMenu } from '@wordpress/components';
12
13
  import { store as coreDataStore } from '@wordpress/core-data';
13
14
  import { useSelect, useDispatch } from '@wordpress/data';
14
- import { useEffect, useRef } from '@wordpress/element';
15
15
  import { __ } from '@wordpress/i18n';
16
16
  import { ESCAPE } from '@wordpress/keycodes';
17
17
  import { decodeEntities } from '@wordpress/html-entities';
18
- import { addQueryArgs } from '@wordpress/url';
19
18
  import { home as siteIcon, layout as templateIcon, symbolFilled as templatePartIcon } from '@wordpress/icons';
20
19
  /**
21
20
  * Internal dependencies
22
21
  */
23
22
 
23
+ import { useLink } from '../../routes/link';
24
24
  import MainDashboardButton from '../../main-dashboard-button';
25
25
  import { store as editSiteStore } from '../../../store';
26
26
  const SITE_EDITOR_KEY = 'site-editor';
27
27
 
28
- const NavigationPanel = _ref => {
28
+ function NavLink(_ref) {
29
29
  let {
30
- activeItem = SITE_EDITOR_KEY
30
+ params,
31
+ replace,
32
+ ...props
31
33
  } = _ref;
34
+ const linkProps = useLink(params, replace);
35
+ return createElement(NavigationItem, _extends({}, linkProps, props));
36
+ }
37
+
38
+ const NavigationPanel = _ref2 => {
39
+ let {
40
+ activeItem = SITE_EDITOR_KEY
41
+ } = _ref2;
32
42
  const {
33
43
  isNavigationOpen,
34
44
  siteTitle
@@ -44,15 +54,7 @@ const NavigationPanel = _ref => {
44
54
  }, []);
45
55
  const {
46
56
  setIsNavigationPanelOpened
47
- } = useDispatch(editSiteStore); // Ensures focus is moved to the panel area when it is activated
48
- // from a separate component (such as document actions in the header).
49
-
50
- const panelRef = useRef();
51
- useEffect(() => {
52
- if (isNavigationOpen) {
53
- panelRef.current.focus();
54
- }
55
- }, [activeItem, isNavigationOpen]);
57
+ } = useDispatch(editSiteStore);
56
58
 
57
59
  const closeOnEscape = event => {
58
60
  if (event.keyCode === ESCAPE && !event.defaultPrevented) {
@@ -66,8 +68,6 @@ const NavigationPanel = _ref => {
66
68
  className: classnames(`edit-site-navigation-panel`, {
67
69
  'is-open': isNavigationOpen
68
70
  }),
69
- ref: panelRef,
70
- tabIndex: "-1",
71
71
  onKeyDown: closeOnEscape
72
72
  }, createElement("div", {
73
73
  className: "edit-site-navigation-panel__inner"
@@ -85,30 +85,30 @@ const NavigationPanel = _ref => {
85
85
  href: "index.php"
86
86
  })), createElement(NavigationMenu, null, createElement(NavigationGroup, {
87
87
  title: __('Editor')
88
- }, createElement(NavigationItem, {
88
+ }, createElement(NavLink, {
89
89
  icon: siteIcon,
90
90
  title: __('Site'),
91
91
  item: SITE_EDITOR_KEY,
92
- href: addQueryArgs(window.location.href, {
92
+ params: {
93
93
  postId: undefined,
94
94
  postType: undefined
95
- })
96
- }), createElement(NavigationItem, {
95
+ }
96
+ }), createElement(NavLink, {
97
97
  icon: templateIcon,
98
98
  title: __('Templates'),
99
99
  item: "wp_template",
100
- href: addQueryArgs(window.location.href, {
100
+ params: {
101
101
  postId: undefined,
102
102
  postType: 'wp_template'
103
- })
104
- }), createElement(NavigationItem, {
103
+ }
104
+ }), createElement(NavLink, {
105
105
  icon: templatePartIcon,
106
106
  title: __('Template Parts'),
107
107
  item: "wp_template_part",
108
- href: addQueryArgs(window.location.href, {
108
+ params: {
109
109
  postId: undefined,
110
110
  postType: 'wp_template_part'
111
- })
111
+ }
112
112
  })))))))
113
113
  );
114
114
  };