@wordpress/edit-site 6.4.0 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +6 -1
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-post/index.js +2 -1
  5. package/build/components/add-new-post/index.js.map +1 -1
  6. package/build/components/add-new-template/utils.js +2 -2
  7. package/build/components/add-new-template/utils.js.map +1 -1
  8. package/build/components/editor/index.js +71 -20
  9. package/build/components/editor/index.js.map +1 -1
  10. package/build/components/global-styles/font-families.js +3 -4
  11. package/build/components/global-styles/font-families.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/context.js +0 -5
  13. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/font-collection.js +25 -5
  15. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  16. package/build/components/global-styles/font-library-modal/index.js +1 -8
  17. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/installed-fonts.js +21 -6
  19. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/upload-fonts.js +2 -3
  21. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  22. package/build/components/global-styles/screen-typeset.js +40 -0
  23. package/build/components/global-styles/screen-typeset.js.map +1 -0
  24. package/build/components/global-styles/screen-typography-element.js +14 -0
  25. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  26. package/build/components/global-styles/screen-typography.js +4 -6
  27. package/build/components/global-styles/screen-typography.js.map +1 -1
  28. package/build/components/global-styles/shadows-edit-panel.js +50 -59
  29. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  30. package/build/components/global-styles/typeset-button.js +97 -0
  31. package/build/components/global-styles/typeset-button.js.map +1 -0
  32. package/build/components/global-styles/typeset.js +80 -0
  33. package/build/components/global-styles/typeset.js.map +1 -0
  34. package/build/components/global-styles/ui.js +4 -0
  35. package/build/components/global-styles/ui.js.map +1 -1
  36. package/build/components/global-styles/utils.js +10 -1
  37. package/build/components/global-styles/utils.js.map +1 -1
  38. package/build/components/page-patterns/fields.js +230 -0
  39. package/build/components/page-patterns/fields.js.map +1 -0
  40. package/build/components/page-patterns/index.js +8 -226
  41. package/build/components/page-patterns/index.js.map +1 -1
  42. package/build/components/page-patterns/use-patterns.js +26 -1
  43. package/build/components/page-patterns/use-patterns.js.map +1 -1
  44. package/build/components/page-templates/fields.js +169 -0
  45. package/build/components/page-templates/fields.js.map +1 -0
  46. package/build/components/page-templates/index.js +10 -177
  47. package/build/components/page-templates/index.js.map +1 -1
  48. package/build/components/post-edit/index.js +18 -6
  49. package/build/components/post-edit/index.js.map +1 -1
  50. package/build/components/post-fields/index.js +19 -15
  51. package/build/components/post-fields/index.js.map +1 -1
  52. package/build/components/post-list/index.js +125 -67
  53. package/build/components/post-list/index.js.map +1 -1
  54. package/build/components/sidebar-dataviews/add-new-view.js +2 -2
  55. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  56. package/build/components/sidebar-dataviews/dataview-item.js +2 -3
  57. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  58. package/build/components/sidebar-dataviews/default-views.js +81 -81
  59. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  60. package/build/components/sidebar-dataviews/index.js +3 -42
  61. package/build/components/sidebar-dataviews/index.js.map +1 -1
  62. package/build/components/site-hub/index.js +6 -3
  63. package/build/components/site-hub/index.js.map +1 -1
  64. package/build/components/style-book/index.js +22 -25
  65. package/build/components/style-book/index.js.map +1 -1
  66. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  67. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  68. package/build/hooks/push-changes-to-global-styles/index.js +2 -3
  69. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  70. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -4
  71. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  72. package/build/index.js +0 -2
  73. package/build/index.js.map +1 -1
  74. package/build-module/components/add-new-pattern/index.js +6 -1
  75. package/build-module/components/add-new-pattern/index.js.map +1 -1
  76. package/build-module/components/add-new-post/index.js +2 -1
  77. package/build-module/components/add-new-post/index.js.map +1 -1
  78. package/build-module/components/add-new-template/utils.js +2 -2
  79. package/build-module/components/add-new-template/utils.js.map +1 -1
  80. package/build-module/components/editor/index.js +73 -22
  81. package/build-module/components/editor/index.js.map +1 -1
  82. package/build-module/components/global-styles/font-families.js +3 -4
  83. package/build-module/components/global-styles/font-families.js.map +1 -1
  84. package/build-module/components/global-styles/font-library-modal/context.js +0 -5
  85. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  86. package/build-module/components/global-styles/font-library-modal/font-collection.js +26 -6
  87. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  88. package/build-module/components/global-styles/font-library-modal/index.js +1 -8
  89. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  90. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +21 -6
  91. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  92. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +2 -3
  93. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  94. package/build-module/components/global-styles/screen-typeset.js +34 -0
  95. package/build-module/components/global-styles/screen-typeset.js.map +1 -0
  96. package/build-module/components/global-styles/screen-typography-element.js +14 -0
  97. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  98. package/build-module/components/global-styles/screen-typography.js +4 -6
  99. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  100. package/build-module/components/global-styles/shadows-edit-panel.js +51 -60
  101. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  102. package/build-module/components/global-styles/typeset-button.js +89 -0
  103. package/build-module/components/global-styles/typeset-button.js.map +1 -0
  104. package/build-module/components/global-styles/typeset.js +71 -0
  105. package/build-module/components/global-styles/typeset.js.map +1 -0
  106. package/build-module/components/global-styles/ui.js +4 -0
  107. package/build-module/components/global-styles/ui.js.map +1 -1
  108. package/build-module/components/global-styles/utils.js +10 -1
  109. package/build-module/components/global-styles/utils.js.map +1 -1
  110. package/build-module/components/page-patterns/fields.js +223 -0
  111. package/build-module/components/page-patterns/fields.js.map +1 -0
  112. package/build-module/components/page-patterns/index.js +11 -229
  113. package/build-module/components/page-patterns/index.js.map +1 -1
  114. package/build-module/components/page-patterns/use-patterns.js +26 -1
  115. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  116. package/build-module/components/page-templates/fields.js +160 -0
  117. package/build-module/components/page-templates/fields.js.map +1 -0
  118. package/build-module/components/page-templates/index.js +12 -178
  119. package/build-module/components/page-templates/index.js.map +1 -1
  120. package/build-module/components/post-edit/index.js +20 -8
  121. package/build-module/components/post-edit/index.js.map +1 -1
  122. package/build-module/components/post-fields/index.js +19 -15
  123. package/build-module/components/post-fields/index.js.map +1 -1
  124. package/build-module/components/post-list/index.js +127 -69
  125. package/build-module/components/post-list/index.js.map +1 -1
  126. package/build-module/components/sidebar-dataviews/add-new-view.js +2 -2
  127. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  128. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -3
  129. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  130. package/build-module/components/sidebar-dataviews/default-views.js +81 -81
  131. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  132. package/build-module/components/sidebar-dataviews/index.js +3 -42
  133. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  134. package/build-module/components/site-hub/index.js +7 -4
  135. package/build-module/components/site-hub/index.js.map +1 -1
  136. package/build-module/components/style-book/index.js +23 -26
  137. package/build-module/components/style-book/index.js.map +1 -1
  138. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  139. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  140. package/build-module/hooks/push-changes-to-global-styles/index.js +2 -3
  141. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  142. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
  143. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  144. package/build-module/index.js +0 -2
  145. package/build-module/index.js.map +1 -1
  146. package/build-style/posts-rtl.css +190 -11
  147. package/build-style/posts.css +190 -11
  148. package/build-style/style-rtl.css +296 -55
  149. package/build-style/style.css +296 -55
  150. package/package.json +41 -41
  151. package/src/components/add-new-pattern/index.js +8 -3
  152. package/src/components/add-new-post/index.js +2 -1
  153. package/src/components/add-new-template/utils.js +10 -6
  154. package/src/components/editor/index.js +80 -22
  155. package/src/components/editor/style.scss +59 -1
  156. package/src/components/global-styles/font-families.js +3 -5
  157. package/src/components/global-styles/font-library-modal/context.js +0 -5
  158. package/src/components/global-styles/font-library-modal/font-collection.js +34 -10
  159. package/src/components/global-styles/font-library-modal/index.js +2 -7
  160. package/src/components/global-styles/font-library-modal/installed-fonts.js +23 -5
  161. package/src/components/global-styles/font-library-modal/style.scss +1 -1
  162. package/src/components/global-styles/font-library-modal/upload-fonts.js +2 -2
  163. package/src/components/global-styles/screen-typeset.js +42 -0
  164. package/src/components/global-styles/screen-typography-element.js +14 -0
  165. package/src/components/global-styles/screen-typography.js +4 -4
  166. package/src/components/global-styles/shadows-edit-panel.js +66 -73
  167. package/src/components/global-styles/style.scss +4 -7
  168. package/src/components/global-styles/typeset-button.js +93 -0
  169. package/src/components/global-styles/typeset.js +73 -0
  170. package/src/components/global-styles/ui.js +5 -0
  171. package/src/components/global-styles/utils.js +13 -1
  172. package/src/components/layout/style.scss +8 -0
  173. package/src/components/page-patterns/fields.js +251 -0
  174. package/src/components/page-patterns/index.js +15 -244
  175. package/src/components/page-patterns/style.scss +82 -85
  176. package/src/components/page-patterns/use-patterns.js +31 -1
  177. package/src/components/page-templates/fields.js +157 -0
  178. package/src/components/page-templates/index.js +19 -170
  179. package/src/components/page-templates/style.scss +14 -5
  180. package/src/components/post-edit/index.js +27 -8
  181. package/src/components/post-fields/index.js +29 -17
  182. package/src/components/post-list/index.js +134 -74
  183. package/src/components/sidebar-dataviews/add-new-view.js +2 -4
  184. package/src/components/sidebar-dataviews/dataview-item.js +2 -2
  185. package/src/components/sidebar-dataviews/default-views.js +95 -95
  186. package/src/components/sidebar-dataviews/index.js +3 -37
  187. package/src/components/site-hub/index.js +11 -2
  188. package/src/components/site-icon/style.scss +4 -1
  189. package/src/components/style-book/index.js +27 -32
  190. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  191. package/src/hooks/push-changes-to-global-styles/index.js +2 -3
  192. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
  193. package/src/index.js +0 -2
  194. package/build/utils/clone-deep.js +0 -15
  195. package/build/utils/clone-deep.js.map +0 -1
  196. package/build-module/utils/clone-deep.js +0 -9
  197. package/build-module/utils/clone-deep.js.map +0 -1
  198. package/src/utils/clone-deep.js +0 -8
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","privateApis","blockEditorPrivateApis","editorPrivateApis","useContext","FontLibraryProvider","FontLibraryContext","FontLibraryModal","FontFamilyItem","Subtitle","getFontFamilies","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GlobalStylesContext","mergeBaseAndUserConfigs","Typesets","modalTabOpen","setModalTabOpen","base","user","userConfig","config","allFontFamilies","hasFonts","filter","font","length","children","onRequestClose","defaultTabId","spacing","justify","level","isBordered","isSeparated","map","slug","props"],"sources":["@wordpress/edit-site/src/components/global-styles/typeset.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontLibraryProvider, {\n\tFontLibraryContext,\n} from './font-library-modal/context';\nimport FontLibraryModal from './font-library-modal';\nimport FontFamilyItem from './font-family-item';\nimport Subtitle from './subtitle';\nimport { getFontFamilies } from './utils';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\nfunction Typesets() {\n\tconst { modalTabOpen, setModalTabOpen } = useContext( FontLibraryContext );\n\tconst { base } = useContext( GlobalStylesContext );\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst config = mergeBaseAndUserConfigs( base, userConfig );\n\tconst allFontFamilies = getFontFamilies( config );\n\tconst hasFonts =\n\t\tallFontFamilies.filter( ( font ) => font !== null ).length > 0;\n\n\treturn (\n\t\thasFonts && (\n\t\t\t<>\n\t\t\t\t{ !! modalTabOpen && (\n\t\t\t\t\t<FontLibraryModal\n\t\t\t\t\t\tonRequestClose={ () => setModalTabOpen( null ) }\n\t\t\t\t\t\tdefaultTabId={ modalTabOpen }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Fonts' ) }</Subtitle>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ allFontFamilies.map(\n\t\t\t\t\t\t\t( font ) =>\n\t\t\t\t\t\t\t\tfont && (\n\t\t\t\t\t\t\t\t\t<FontFamilyItem\n\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\tfont={ font }\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) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</VStack>\n\t\t\t</>\n\t\t)\n\t);\n}\n\nexport default ( { ...props } ) => (\n\t<FontLibraryProvider>\n\t\t<Typesets { ...props } />\n\t</FontLibraryProvider>\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,uBAAuB,IAAIC,SAAS,EACpCC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;AAC/E,SAASD,WAAW,IAAIE,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,mBAAmB,IACzBC,kBAAkB,QACZ,8BAA8B;AACrC,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,cAAc,MAAM,oBAAoB;AAC/C,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,eAAe,QAAQ,SAAS;AACzC,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAE3C,MAAM;EAAEC;AAAoB,CAAC,GAAGP,MAAM,CAAET,sBAAuB,CAAC;AAChE,MAAM;EAAEiB;AAAwB,CAAC,GAAGR,MAAM,CAAER,iBAAkB,CAAC;AAE/D,SAASiB,QAAQA,CAAA,EAAG;EACnB,MAAM;IAAEC,YAAY;IAAEC;EAAgB,CAAC,GAAGlB,UAAU,CAAEE,kBAAmB,CAAC;EAC1E,MAAM;IAAEiB;EAAK,CAAC,GAAGnB,UAAU,CAAEc,mBAAoB,CAAC;EAClD,MAAM;IAAEM,IAAI,EAAEC;EAAW,CAAC,GAAGrB,UAAU,CAAEc,mBAAoB,CAAC;EAC9D,MAAMQ,MAAM,GAAGP,uBAAuB,CAAEI,IAAI,EAAEE,UAAW,CAAC;EAC1D,MAAME,eAAe,GAAGjB,eAAe,CAAEgB,MAAO,CAAC;EACjD,MAAME,QAAQ,GACbD,eAAe,CAACE,MAAM,CAAIC,IAAI,IAAMA,IAAI,KAAK,IAAK,CAAC,CAACC,MAAM,GAAG,CAAC;EAE/D,OACCH,QAAQ,iBACPb,KAAA,CAAAE,SAAA;IAAAe,QAAA,GACG,CAAC,CAAEX,YAAY,iBAChBR,IAAA,CAACN,gBAAgB;MAChB0B,cAAc,EAAGA,CAAA,KAAMX,eAAe,CAAE,IAAK,CAAG;MAChDY,YAAY,EAAGb;IAAc,CAC7B,CACD,eAEDN,KAAA,CAACjB,MAAM;MAACqC,OAAO,EAAG,CAAG;MAAAH,QAAA,gBACpBnB,IAAA,CAACb,MAAM;QAACoC,OAAO,EAAC,eAAe;QAAAJ,QAAA,eAC9BnB,IAAA,CAACJ,QAAQ;UAAC4B,KAAK,EAAG,CAAG;UAAAL,QAAA,EAAGtC,EAAE,CAAE,OAAQ;QAAC,CAAY;MAAC,CAC3C,CAAC,eACTmB,IAAA,CAACjB,SAAS;QAAC0C,UAAU;QAACC,WAAW;QAAAP,QAAA,EAC9BL,eAAe,CAACa,GAAG,CAClBV,IAAI,IACLA,IAAI,iBACHjB,IAAA,CAACL,cAAc;UAEdsB,IAAI,EAAGA;QAAM,GADPA,IAAI,CAACW,IAEX,CAEJ;MAAC,CACS,CAAC;IAAA,CACL,CAAC;EAAA,CACR,CACF;AAEH;AAEA,gBAAe,CAAE;EAAE,GAAGC;AAAM,CAAC,kBAC5B7B,IAAA,CAACR,mBAAmB;EAAA2B,QAAA,eACnBnB,IAAA,CAACO,QAAQ;IAAA,GAAMsB;EAAK,CAAI;AAAC,CACL,CACrB","ignoreList":[]}
@@ -18,6 +18,7 @@ import ScreenRoot from './screen-root';
18
18
  import { useBlockHasGlobalStyles, default as ScreenBlockList } from './screen-block-list';
19
19
  import ScreenBlock from './screen-block';
20
20
  import ScreenTypography from './screen-typography';
21
+ import ScreenTypeset from './screen-typeset';
21
22
  import ScreenTypographyElement from './screen-typography-element';
22
23
  import FontSize from './font-sizes/font-size';
23
24
  import FontSizes from './font-sizes/font-sizes';
@@ -276,6 +277,9 @@ function GlobalStylesUI() {
276
277
  }), /*#__PURE__*/_jsx(GlobalStylesNavigationScreen, {
277
278
  path: "/typography/font-sizes/:origin/:slug",
278
279
  children: /*#__PURE__*/_jsx(FontSize, {})
280
+ }), /*#__PURE__*/_jsx(GlobalStylesNavigationScreen, {
281
+ path: "/typography/typeset",
282
+ children: /*#__PURE__*/_jsx(ScreenTypeset, {})
279
283
  }), /*#__PURE__*/_jsx(GlobalStylesNavigationScreen, {
280
284
  path: "/typography/text",
281
285
  children: /*#__PURE__*/_jsx(ScreenTypographyElement, {
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalUseNavigator","useNavigator","createSlotFill","DropdownMenu","MenuGroup","MenuItem","getBlockTypes","store","blocksStore","useSelect","useDispatch","privateApis","blockEditorPrivateApis","blockEditorStore","__","preferencesStore","moreVertical","coreStore","useEffect","ScreenRoot","useBlockHasGlobalStyles","default","ScreenBlockList","ScreenBlock","ScreenTypography","ScreenTypographyElement","FontSize","FontSizes","ScreenColors","ScreenColorPalette","ScreenShadows","ScreenShadowsEdit","ScreenLayout","ScreenStyleVariations","StyleBook","ScreenCSS","ScreenRevisions","unlock","editSiteStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SLOT_FILL_NAME","useGlobalStylesReset","Slot","GlobalStylesMenuSlot","Fill","GlobalStylesMenuFill","GlobalStylesActionMenu","canReset","onReset","toggle","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","setEditorCanvasContainerView","goTo","loadCustomCSS","children","icon","label","toggleProps","size","onClose","onClick","disabled","GlobalStylesNavigationScreen","className","props","filter","Boolean","join","BlockStylesNavigationScreens","parentMenu","blockStyles","blockName","map","style","index","path","name","variation","ContextScreens","blockStyleVariations","getBlockStyles","length","GlobalStylesStyleBook","navigator","location","isSelected","encodeURIComponent","startsWith","onSelect","GlobalStylesBlockLink","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getBlockName","clientId","blockHasGlobalStyles","currentPath","newPath","skipFocus","GlobalStylesEditorCanvasContainerLink","editorCanvasContainerView","getEditorCanvasContainerView","isRevisionsOpen","GlobalStylesUI","blocks","initialPath","element","block"],"sources":["@wordpress/edit-site/src/components/global-styles/ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalUseNavigator as useNavigator,\n\tcreateSlotFill,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { getBlockTypes, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ScreenRoot from './screen-root';\nimport {\n\tuseBlockHasGlobalStyles,\n\tdefault as ScreenBlockList,\n} from './screen-block-list';\nimport ScreenBlock from './screen-block';\nimport ScreenTypography from './screen-typography';\nimport ScreenTypographyElement from './screen-typography-element';\nimport FontSize from './font-sizes/font-size';\nimport FontSizes from './font-sizes/font-sizes';\nimport ScreenColors from './screen-colors';\nimport ScreenColorPalette from './screen-color-palette';\nimport { ScreenShadows, ScreenShadowsEdit } from './screen-shadows';\nimport ScreenLayout from './screen-layout';\nimport ScreenStyleVariations from './screen-style-variations';\nimport StyleBook from '../style-book';\nimport ScreenCSS from './screen-css';\nimport ScreenRevisions from './screen-revisions';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nconst SLOT_FILL_NAME = 'GlobalStylesMenu';\nconst { useGlobalStylesReset } = unlock( blockEditorPrivateApis );\nconst { Slot: GlobalStylesMenuSlot, Fill: GlobalStylesMenuFill } =\n\tcreateSlotFill( SLOT_FILL_NAME );\n\nfunction GlobalStylesActionMenu() {\n\tconst [ canReset, onReset ] = useGlobalStylesReset();\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst { goTo } = useNavigator();\n\tconst loadCustomCSS = () => {\n\t\tsetEditorCanvasContainerView( 'global-styles-css' );\n\t\tgoTo( '/css' );\n\t};\n\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t<DropdownMenu\n\t\t\t\ticon={ moreVertical }\n\t\t\t\tlabel={ __( 'More' ) }\n\t\t\t\ttoggleProps={ { size: 'compact' } }\n\t\t\t>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ canEditCSS && (\n\t\t\t\t\t\t\t\t<MenuItem onClick={ loadCustomCSS }>\n\t\t\t\t\t\t\t\t\t{ __( 'Additional CSS' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\ttoggle(\n\t\t\t\t\t\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t\t\t\t\t\t'welcomeGuideStyles'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Welcome Guide' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ ! canReset }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset styles' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction GlobalStylesNavigationScreen( { className, ...props } ) {\n\treturn (\n\t\t<NavigatorScreen\n\t\t\tclassName={ [\n\t\t\t\t'edit-site-global-styles-sidebar__navigator-screen',\n\t\t\t\tclassName,\n\t\t\t]\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.join( ' ' ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction BlockStylesNavigationScreens( {\n\tparentMenu,\n\tblockStyles,\n\tblockName,\n} ) {\n\treturn blockStyles.map( ( style, index ) => (\n\t\t<GlobalStylesNavigationScreen\n\t\t\tkey={ index }\n\t\t\tpath={ parentMenu + '/variations/' + style.name }\n\t\t>\n\t\t\t<ScreenBlock name={ blockName } variation={ style.name } />\n\t\t</GlobalStylesNavigationScreen>\n\t) );\n}\n\nfunction ContextScreens( { name, parentMenu = '' } ) {\n\tconst blockStyleVariations = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn getBlockStyles( name );\n\t\t},\n\t\t[ name ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/colors/palette' }\n\t\t\t>\n\t\t\t\t<ScreenColorPalette name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ !! blockStyleVariations?.length && (\n\t\t\t\t<BlockStylesNavigationScreens\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\tblockStyles={ blockStyleVariations }\n\t\t\t\t\tblockName={ name }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction GlobalStylesStyleBook() {\n\tconst navigator = useNavigator();\n\tconst { path } = navigator.location;\n\treturn (\n\t\t<StyleBook\n\t\t\tisSelected={ ( blockName ) =>\n\t\t\t\t// Match '/blocks/core%2Fbutton' and\n\t\t\t\t// '/blocks/core%2Fbutton/typography', but not\n\t\t\t\t// '/blocks/core%2Fbuttons'.\n\t\t\t\tpath === `/blocks/${ encodeURIComponent( blockName ) }` ||\n\t\t\t\tpath.startsWith(\n\t\t\t\t\t`/blocks/${ encodeURIComponent( blockName ) }/`\n\t\t\t\t)\n\t\t\t}\n\t\t\tonSelect={ ( blockName ) => {\n\t\t\t\t// Now go to the selected block.\n\t\t\t\tnavigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction GlobalStylesBlockLink() {\n\tconst navigator = useNavigator();\n\tconst { selectedBlockName, selectedBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSelectedBlockClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\tselectedBlockName: getBlockName( clientId ),\n\t\t\t\tselectedBlockClientId: clientId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst blockHasGlobalStyles = useBlockHasGlobalStyles( selectedBlockName );\n\t// When we're in the `Blocks` screen enable deep linking to the selected block.\n\tuseEffect( () => {\n\t\tif ( ! selectedBlockClientId || ! blockHasGlobalStyles ) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentPath = navigator.location.path;\n\t\tif (\n\t\t\tcurrentPath !== '/blocks' &&\n\t\t\t! currentPath.startsWith( '/blocks/' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst newPath = '/blocks/' + encodeURIComponent( selectedBlockName );\n\t\t// Avoid navigating to the same path. This can happen when selecting\n\t\t// a new block of the same type.\n\t\tif ( newPath !== currentPath ) {\n\t\t\tnavigator.goTo( newPath, { skipFocus: true } );\n\t\t}\n\t}, [ selectedBlockClientId, selectedBlockName, blockHasGlobalStyles ] );\n}\n\nfunction GlobalStylesEditorCanvasContainerLink() {\n\tconst { goTo, location } = useNavigator();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\tconst path = location?.path;\n\tconst isRevisionsOpen = path === '/revisions';\n\n\t// If the user switches the editor canvas container view, redirect\n\t// to the appropriate screen. This effectively allows deep linking to the\n\t// desired screens from outside the global styles navigation provider.\n\tuseEffect( () => {\n\t\tswitch ( editorCanvasContainerView ) {\n\t\t\tcase 'global-styles-revisions':\n\t\t\tcase 'global-styles-revisions:style-book':\n\t\t\t\tgoTo( '/revisions' );\n\t\t\t\tbreak;\n\t\t\tcase 'global-styles-css':\n\t\t\t\tgoTo( '/css' );\n\t\t\t\tbreak;\n\t\t\tcase 'style-book':\n\t\t\t\t/*\n\t\t\t\t * The stand-alone style book is open\n\t\t\t\t * and the revisions panel is open,\n\t\t\t\t * close the revisions panel.\n\t\t\t\t * Otherwise keep the style book open while\n\t\t\t\t * browsing global styles panel.\n\t\t\t\t */\n\t\t\t\tif ( isRevisionsOpen ) {\n\t\t\t\t\tgoTo( '/' );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t/*\n\t\t\t\t * Example: the user has navigated to \"Browse styles\" or elsewhere\n\t\t\t\t * and changes the editorCanvasContainerView, e.g., closes the style book.\n\t\t\t\t * The panel should not be affected.\n\t\t\t\t * Exclude revisions panel from this behavior,\n\t\t\t\t * as it should close when the editorCanvasContainerView doesn't correspond.\n\t\t\t\t */\n\t\t\t\tif ( path !== '/' && ! isRevisionsOpen ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tgoTo( '/' );\n\t\t\t\tbreak;\n\t\t}\n\t}, [ editorCanvasContainerView, isRevisionsOpen, goTo ] );\n}\n\nfunction GlobalStylesUI() {\n\tconst blocks = getBlockTypes();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tclassName=\"edit-site-global-styles-sidebar__navigator-provider\"\n\t\t\tinitialPath=\"/\"\n\t\t>\n\t\t\t<GlobalStylesNavigationScreen path=\"/\">\n\t\t\t\t<ScreenRoot />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/variations\">\n\t\t\t\t<ScreenStyleVariations />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/blocks\">\n\t\t\t\t<ScreenBlockList />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography\">\n\t\t\t\t<ScreenTypography />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/font-sizes/\">\n\t\t\t\t<FontSizes />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/font-sizes/:origin/:slug\">\n\t\t\t\t<FontSize />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/text\">\n\t\t\t\t<ScreenTypographyElement element=\"text\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/link\">\n\t\t\t\t<ScreenTypographyElement element=\"link\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/heading\">\n\t\t\t\t<ScreenTypographyElement element=\"heading\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/caption\">\n\t\t\t\t<ScreenTypographyElement element=\"caption\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/button\">\n\t\t\t\t<ScreenTypographyElement element=\"button\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/colors\">\n\t\t\t\t<ScreenColors />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/shadows\">\n\t\t\t\t<ScreenShadows />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/shadows/edit/:category/:slug\">\n\t\t\t\t<ScreenShadowsEdit />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/layout\">\n\t\t\t\t<ScreenLayout />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/css\">\n\t\t\t\t<ScreenCSS />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/revisions\">\n\t\t\t\t<ScreenRevisions />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\t\tkey={ 'menu-block-' + block.name }\n\t\t\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t>\n\t\t\t\t\t<ScreenBlock name={ block.name } />\n\t\t\t\t</GlobalStylesNavigationScreen>\n\t\t\t) ) }\n\n\t\t\t<ContextScreens />\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<ContextScreens\n\t\t\t\t\tkey={ 'screens-block-' + block.name }\n\t\t\t\t\tname={ block.name }\n\t\t\t\t\tparentMenu={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t/>\n\t\t\t) ) }\n\n\t\t\t{ 'style-book' === editorCanvasContainerView && (\n\t\t\t\t<GlobalStylesStyleBook />\n\t\t\t) }\n\n\t\t\t<GlobalStylesActionMenu />\n\t\t\t<GlobalStylesBlockLink />\n\t\t\t<GlobalStylesEditorCanvasContainerLink />\n\t\t</NavigatorProvider>\n\t);\n}\nexport { GlobalStylesMenuSlot };\nexport default GlobalStylesUI;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","__experimentalUseNavigator","useNavigator","createSlotFill","DropdownMenu","MenuGroup","MenuItem","getBlockTypes","store","blocksStore","useSelect","useDispatch","privateApis","blockEditorPrivateApis","blockEditorStore","__","preferencesStore","moreVertical","coreStore","useEffect","ScreenRoot","useBlockHasGlobalStyles","default","ScreenBlockList","ScreenBlock","ScreenTypography","ScreenTypeset","ScreenTypographyElement","FontSize","FontSizes","ScreenColors","ScreenColorPalette","ScreenShadows","ScreenShadowsEdit","ScreenLayout","ScreenStyleVariations","StyleBook","ScreenCSS","ScreenRevisions","unlock","editSiteStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SLOT_FILL_NAME","useGlobalStylesReset","Slot","GlobalStylesMenuSlot","Fill","GlobalStylesMenuFill","GlobalStylesActionMenu","canReset","onReset","toggle","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","setEditorCanvasContainerView","goTo","loadCustomCSS","children","icon","label","toggleProps","size","onClose","onClick","disabled","GlobalStylesNavigationScreen","className","props","filter","Boolean","join","BlockStylesNavigationScreens","parentMenu","blockStyles","blockName","map","style","index","path","name","variation","ContextScreens","blockStyleVariations","getBlockStyles","length","GlobalStylesStyleBook","navigator","location","isSelected","encodeURIComponent","startsWith","onSelect","GlobalStylesBlockLink","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getBlockName","clientId","blockHasGlobalStyles","currentPath","newPath","skipFocus","GlobalStylesEditorCanvasContainerLink","editorCanvasContainerView","getEditorCanvasContainerView","isRevisionsOpen","GlobalStylesUI","blocks","initialPath","element","block"],"sources":["@wordpress/edit-site/src/components/global-styles/ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalUseNavigator as useNavigator,\n\tcreateSlotFill,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { getBlockTypes, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ScreenRoot from './screen-root';\nimport {\n\tuseBlockHasGlobalStyles,\n\tdefault as ScreenBlockList,\n} from './screen-block-list';\nimport ScreenBlock from './screen-block';\nimport ScreenTypography from './screen-typography';\nimport ScreenTypeset from './screen-typeset';\nimport ScreenTypographyElement from './screen-typography-element';\nimport FontSize from './font-sizes/font-size';\nimport FontSizes from './font-sizes/font-sizes';\nimport ScreenColors from './screen-colors';\nimport ScreenColorPalette from './screen-color-palette';\nimport { ScreenShadows, ScreenShadowsEdit } from './screen-shadows';\nimport ScreenLayout from './screen-layout';\nimport ScreenStyleVariations from './screen-style-variations';\nimport StyleBook from '../style-book';\nimport ScreenCSS from './screen-css';\nimport ScreenRevisions from './screen-revisions';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nconst SLOT_FILL_NAME = 'GlobalStylesMenu';\nconst { useGlobalStylesReset } = unlock( blockEditorPrivateApis );\nconst { Slot: GlobalStylesMenuSlot, Fill: GlobalStylesMenuFill } =\n\tcreateSlotFill( SLOT_FILL_NAME );\n\nfunction GlobalStylesActionMenu() {\n\tconst [ canReset, onReset ] = useGlobalStylesReset();\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst { goTo } = useNavigator();\n\tconst loadCustomCSS = () => {\n\t\tsetEditorCanvasContainerView( 'global-styles-css' );\n\t\tgoTo( '/css' );\n\t};\n\n\treturn (\n\t\t<GlobalStylesMenuFill>\n\t\t\t<DropdownMenu\n\t\t\t\ticon={ moreVertical }\n\t\t\t\tlabel={ __( 'More' ) }\n\t\t\t\ttoggleProps={ { size: 'compact' } }\n\t\t\t>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ canEditCSS && (\n\t\t\t\t\t\t\t\t<MenuItem onClick={ loadCustomCSS }>\n\t\t\t\t\t\t\t\t\t{ __( 'Additional CSS' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\ttoggle(\n\t\t\t\t\t\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t\t\t\t\t\t'welcomeGuideStyles'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Welcome Guide' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ ! canReset }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset styles' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</GlobalStylesMenuFill>\n\t);\n}\n\nfunction GlobalStylesNavigationScreen( { className, ...props } ) {\n\treturn (\n\t\t<NavigatorScreen\n\t\t\tclassName={ [\n\t\t\t\t'edit-site-global-styles-sidebar__navigator-screen',\n\t\t\t\tclassName,\n\t\t\t]\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.join( ' ' ) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction BlockStylesNavigationScreens( {\n\tparentMenu,\n\tblockStyles,\n\tblockName,\n} ) {\n\treturn blockStyles.map( ( style, index ) => (\n\t\t<GlobalStylesNavigationScreen\n\t\t\tkey={ index }\n\t\t\tpath={ parentMenu + '/variations/' + style.name }\n\t\t>\n\t\t\t<ScreenBlock name={ blockName } variation={ style.name } />\n\t\t</GlobalStylesNavigationScreen>\n\t) );\n}\n\nfunction ContextScreens( { name, parentMenu = '' } ) {\n\tconst blockStyleVariations = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn getBlockStyles( name );\n\t\t},\n\t\t[ name ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\tpath={ parentMenu + '/colors/palette' }\n\t\t\t>\n\t\t\t\t<ScreenColorPalette name={ name } />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ !! blockStyleVariations?.length && (\n\t\t\t\t<BlockStylesNavigationScreens\n\t\t\t\t\tparentMenu={ parentMenu }\n\t\t\t\t\tblockStyles={ blockStyleVariations }\n\t\t\t\t\tblockName={ name }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction GlobalStylesStyleBook() {\n\tconst navigator = useNavigator();\n\tconst { path } = navigator.location;\n\treturn (\n\t\t<StyleBook\n\t\t\tisSelected={ ( blockName ) =>\n\t\t\t\t// Match '/blocks/core%2Fbutton' and\n\t\t\t\t// '/blocks/core%2Fbutton/typography', but not\n\t\t\t\t// '/blocks/core%2Fbuttons'.\n\t\t\t\tpath === `/blocks/${ encodeURIComponent( blockName ) }` ||\n\t\t\t\tpath.startsWith(\n\t\t\t\t\t`/blocks/${ encodeURIComponent( blockName ) }/`\n\t\t\t\t)\n\t\t\t}\n\t\t\tonSelect={ ( blockName ) => {\n\t\t\t\t// Now go to the selected block.\n\t\t\t\tnavigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction GlobalStylesBlockLink() {\n\tconst navigator = useNavigator();\n\tconst { selectedBlockName, selectedBlockClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSelectedBlockClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\tselectedBlockName: getBlockName( clientId ),\n\t\t\t\tselectedBlockClientId: clientId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst blockHasGlobalStyles = useBlockHasGlobalStyles( selectedBlockName );\n\t// When we're in the `Blocks` screen enable deep linking to the selected block.\n\tuseEffect( () => {\n\t\tif ( ! selectedBlockClientId || ! blockHasGlobalStyles ) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentPath = navigator.location.path;\n\t\tif (\n\t\t\tcurrentPath !== '/blocks' &&\n\t\t\t! currentPath.startsWith( '/blocks/' )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst newPath = '/blocks/' + encodeURIComponent( selectedBlockName );\n\t\t// Avoid navigating to the same path. This can happen when selecting\n\t\t// a new block of the same type.\n\t\tif ( newPath !== currentPath ) {\n\t\t\tnavigator.goTo( newPath, { skipFocus: true } );\n\t\t}\n\t}, [ selectedBlockClientId, selectedBlockName, blockHasGlobalStyles ] );\n}\n\nfunction GlobalStylesEditorCanvasContainerLink() {\n\tconst { goTo, location } = useNavigator();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\tconst path = location?.path;\n\tconst isRevisionsOpen = path === '/revisions';\n\n\t// If the user switches the editor canvas container view, redirect\n\t// to the appropriate screen. This effectively allows deep linking to the\n\t// desired screens from outside the global styles navigation provider.\n\tuseEffect( () => {\n\t\tswitch ( editorCanvasContainerView ) {\n\t\t\tcase 'global-styles-revisions':\n\t\t\tcase 'global-styles-revisions:style-book':\n\t\t\t\tgoTo( '/revisions' );\n\t\t\t\tbreak;\n\t\t\tcase 'global-styles-css':\n\t\t\t\tgoTo( '/css' );\n\t\t\t\tbreak;\n\t\t\tcase 'style-book':\n\t\t\t\t/*\n\t\t\t\t * The stand-alone style book is open\n\t\t\t\t * and the revisions panel is open,\n\t\t\t\t * close the revisions panel.\n\t\t\t\t * Otherwise keep the style book open while\n\t\t\t\t * browsing global styles panel.\n\t\t\t\t */\n\t\t\t\tif ( isRevisionsOpen ) {\n\t\t\t\t\tgoTo( '/' );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t/*\n\t\t\t\t * Example: the user has navigated to \"Browse styles\" or elsewhere\n\t\t\t\t * and changes the editorCanvasContainerView, e.g., closes the style book.\n\t\t\t\t * The panel should not be affected.\n\t\t\t\t * Exclude revisions panel from this behavior,\n\t\t\t\t * as it should close when the editorCanvasContainerView doesn't correspond.\n\t\t\t\t */\n\t\t\t\tif ( path !== '/' && ! isRevisionsOpen ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tgoTo( '/' );\n\t\t\t\tbreak;\n\t\t}\n\t}, [ editorCanvasContainerView, isRevisionsOpen, goTo ] );\n}\n\nfunction GlobalStylesUI() {\n\tconst blocks = getBlockTypes();\n\tconst editorCanvasContainerView = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( editSiteStore ) ).getEditorCanvasContainerView(),\n\t\t[]\n\t);\n\treturn (\n\t\t<NavigatorProvider\n\t\t\tclassName=\"edit-site-global-styles-sidebar__navigator-provider\"\n\t\t\tinitialPath=\"/\"\n\t\t>\n\t\t\t<GlobalStylesNavigationScreen path=\"/\">\n\t\t\t\t<ScreenRoot />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/variations\">\n\t\t\t\t<ScreenStyleVariations />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/blocks\">\n\t\t\t\t<ScreenBlockList />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography\">\n\t\t\t\t<ScreenTypography />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/font-sizes/\">\n\t\t\t\t<FontSizes />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/font-sizes/:origin/:slug\">\n\t\t\t\t<FontSize />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/typeset\">\n\t\t\t\t<ScreenTypeset />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/text\">\n\t\t\t\t<ScreenTypographyElement element=\"text\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/link\">\n\t\t\t\t<ScreenTypographyElement element=\"link\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/heading\">\n\t\t\t\t<ScreenTypographyElement element=\"heading\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/caption\">\n\t\t\t\t<ScreenTypographyElement element=\"caption\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/typography/button\">\n\t\t\t\t<ScreenTypographyElement element=\"button\" />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/colors\">\n\t\t\t\t<ScreenColors />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/shadows\">\n\t\t\t\t<ScreenShadows />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/shadows/edit/:category/:slug\">\n\t\t\t\t<ScreenShadowsEdit />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/layout\">\n\t\t\t\t<ScreenLayout />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/css\">\n\t\t\t\t<ScreenCSS />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t<GlobalStylesNavigationScreen path=\"/revisions\">\n\t\t\t\t<ScreenRevisions />\n\t\t\t</GlobalStylesNavigationScreen>\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<GlobalStylesNavigationScreen\n\t\t\t\t\tkey={ 'menu-block-' + block.name }\n\t\t\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t>\n\t\t\t\t\t<ScreenBlock name={ block.name } />\n\t\t\t\t</GlobalStylesNavigationScreen>\n\t\t\t) ) }\n\n\t\t\t<ContextScreens />\n\n\t\t\t{ blocks.map( ( block ) => (\n\t\t\t\t<ContextScreens\n\t\t\t\t\tkey={ 'screens-block-' + block.name }\n\t\t\t\t\tname={ block.name }\n\t\t\t\t\tparentMenu={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\t\t/>\n\t\t\t) ) }\n\n\t\t\t{ 'style-book' === editorCanvasContainerView && (\n\t\t\t\t<GlobalStylesStyleBook />\n\t\t\t) }\n\n\t\t\t<GlobalStylesActionMenu />\n\t\t\t<GlobalStylesBlockLink />\n\t\t\t<GlobalStylesEditorCanvasContainerLink />\n\t\t</NavigatorProvider>\n\t);\n}\nexport { GlobalStylesMenuSlot };\nexport default GlobalStylesUI;\n"],"mappings":"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","ignoreList":[]}
@@ -46,7 +46,16 @@ function getFontFamilyFromSetting(fontFamilies, setting) {
46
46
  return fontFamilies.find(fontFamily => fontFamily.slug === fontFamilySlug);
47
47
  }
48
48
  export function getFontFamilies(themeJson) {
49
- const fontFamilies = themeJson?.settings?.typography?.fontFamilies?.theme; // TODO this could not be under theme.
49
+ const themeFontFamilies = themeJson?.settings?.typography?.fontFamilies?.theme;
50
+ const customFontFamilies = themeJson?.settings?.typography?.fontFamilies?.custom;
51
+ let fontFamilies = [];
52
+ if (themeFontFamilies && customFontFamilies) {
53
+ fontFamilies = [...themeFontFamilies, ...customFontFamilies];
54
+ } else if (themeFontFamilies) {
55
+ fontFamilies = themeFontFamilies;
56
+ } else if (customFontFamilies) {
57
+ fontFamilies = customFontFamilies;
58
+ }
50
59
  const bodyFontFamilySetting = themeJson?.styles?.typography?.fontFamily;
51
60
  const bodyFontFamily = getFontFamilyFromSetting(fontFamilies, bodyFontFamilySetting);
52
61
  const headingFontFamilySetting = themeJson?.styles?.elements?.heading?.typography?.fontFamily;
@@ -1 +1 @@
1
- {"version":3,"names":["getVariationClassName","variation","getNewIndexFromPresets","presets","slugPrefix","nameRegex","RegExp","highestPresetValue","reduce","currentHighest","preset","slug","matches","match","id","parseInt","getFontFamilyFromSetting","fontFamilies","setting","Array","isArray","fontFamilyVariable","replace","fontFamilySlug","split","slice","find","fontFamily","getFontFamilies","themeJson","settings","typography","theme","bodyFontFamilySetting","styles","bodyFontFamily","headingFontFamilySetting","elements","heading","headingFontFamily"],"sources":["@wordpress/edit-site/src/components/global-styles/utils.js"],"sourcesContent":["/**\n *\n * @param {string} variation The variation name.\n *\n * @return {string} The variation class name.\n */\nexport function getVariationClassName( variation ) {\n\tif ( ! variation ) {\n\t\treturn '';\n\t}\n\treturn `is-style-${ variation }`;\n}\n\n/**\n * Iterates through the presets array and searches for slugs that start with the specified\n * slugPrefix followed by a numerical suffix. It identifies the highest numerical suffix found\n * and returns one greater than the highest found suffix, ensuring that the new index is unique.\n *\n * @param {Array} presets The array of preset objects, each potentially containing a slug property.\n * @param {string} slugPrefix The prefix to look for in the preset slugs.\n *\n * @return {number} The next available index for a preset with the specified slug prefix, or 1 if no matching slugs are found.\n */\nexport function getNewIndexFromPresets( presets, slugPrefix ) {\n\tconst nameRegex = new RegExp( `^${ slugPrefix }([\\\\d]+)$` );\n\tconst highestPresetValue = presets.reduce( ( currentHighest, preset ) => {\n\t\tif ( typeof preset?.slug === 'string' ) {\n\t\t\tconst matches = preset?.slug.match( nameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id > currentHighest ) {\n\t\t\t\t\treturn id;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn currentHighest;\n\t}, 0 );\n\treturn highestPresetValue + 1;\n}\n\nfunction getFontFamilyFromSetting( fontFamilies, setting ) {\n\tif ( ! Array.isArray( fontFamilies ) || ! setting ) {\n\t\treturn null;\n\t}\n\n\tconst fontFamilyVariable = setting.replace( 'var(', '' ).replace( ')', '' );\n\tconst fontFamilySlug = fontFamilyVariable?.split( '--' ).slice( -1 )[ 0 ];\n\n\treturn fontFamilies.find(\n\t\t( fontFamily ) => fontFamily.slug === fontFamilySlug\n\t);\n}\n\nexport function getFontFamilies( themeJson ) {\n\tconst fontFamilies = themeJson?.settings?.typography?.fontFamilies?.theme; // TODO this could not be under theme.\n\tconst bodyFontFamilySetting = themeJson?.styles?.typography?.fontFamily;\n\tconst bodyFontFamily = getFontFamilyFromSetting(\n\t\tfontFamilies,\n\t\tbodyFontFamilySetting\n\t);\n\n\tconst headingFontFamilySetting =\n\t\tthemeJson?.styles?.elements?.heading?.typography?.fontFamily;\n\n\tlet headingFontFamily;\n\tif ( ! headingFontFamilySetting ) {\n\t\theadingFontFamily = bodyFontFamily;\n\t} else {\n\t\theadingFontFamily = getFontFamilyFromSetting(\n\t\t\tfontFamilies,\n\t\t\tthemeJson?.styles?.elements?.heading?.typography?.fontFamily\n\t\t);\n\t}\n\n\treturn [ bodyFontFamily, headingFontFamily ];\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,qBAAqBA,CAAEC,SAAS,EAAG;EAClD,IAAK,CAAEA,SAAS,EAAG;IAClB,OAAO,EAAE;EACV;EACA,OAAQ,YAAYA,SAAW,EAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAEC,OAAO,EAAEC,UAAU,EAAG;EAC7D,MAAMC,SAAS,GAAG,IAAIC,MAAM,CAAG,IAAIF,UAAY,WAAW,CAAC;EAC3D,MAAMG,kBAAkB,GAAGJ,OAAO,CAACK,MAAM,CAAE,CAAEC,cAAc,EAAEC,MAAM,KAAM;IACxE,IAAK,OAAOA,MAAM,EAAEC,IAAI,KAAK,QAAQ,EAAG;MACvC,MAAMC,OAAO,GAAGF,MAAM,EAAEC,IAAI,CAACE,KAAK,CAAER,SAAU,CAAC;MAC/C,IAAKO,OAAO,EAAG;QACd,MAAME,EAAE,GAAGC,QAAQ,CAAEH,OAAO,CAAE,CAAC,CAAE,EAAE,EAAG,CAAC;QACvC,IAAKE,EAAE,GAAGL,cAAc,EAAG;UAC1B,OAAOK,EAAE;QACV;MACD;IACD;IACA,OAAOL,cAAc;EACtB,CAAC,EAAE,CAAE,CAAC;EACN,OAAOF,kBAAkB,GAAG,CAAC;AAC9B;AAEA,SAASS,wBAAwBA,CAAEC,YAAY,EAAEC,OAAO,EAAG;EAC1D,IAAK,CAAEC,KAAK,CAACC,OAAO,CAAEH,YAAa,CAAC,IAAI,CAAEC,OAAO,EAAG;IACnD,OAAO,IAAI;EACZ;EAEA,MAAMG,kBAAkB,GAAGH,OAAO,CAACI,OAAO,CAAE,MAAM,EAAE,EAAG,CAAC,CAACA,OAAO,CAAE,GAAG,EAAE,EAAG,CAAC;EAC3E,MAAMC,cAAc,GAAGF,kBAAkB,EAAEG,KAAK,CAAE,IAAK,CAAC,CAACC,KAAK,CAAE,CAAC,CAAE,CAAC,CAAE,CAAC,CAAE;EAEzE,OAAOR,YAAY,CAACS,IAAI,CACrBC,UAAU,IAAMA,UAAU,CAAChB,IAAI,KAAKY,cACvC,CAAC;AACF;AAEA,OAAO,SAASK,eAAeA,CAAEC,SAAS,EAAG;EAC5C,MAAMZ,YAAY,GAAGY,SAAS,EAAEC,QAAQ,EAAEC,UAAU,EAAEd,YAAY,EAAEe,KAAK,CAAC,CAAC;EAC3E,MAAMC,qBAAqB,GAAGJ,SAAS,EAAEK,MAAM,EAAEH,UAAU,EAAEJ,UAAU;EACvE,MAAMQ,cAAc,GAAGnB,wBAAwB,CAC9CC,YAAY,EACZgB,qBACD,CAAC;EAED,MAAMG,wBAAwB,GAC7BP,SAAS,EAAEK,MAAM,EAAEG,QAAQ,EAAEC,OAAO,EAAEP,UAAU,EAAEJ,UAAU;EAE7D,IAAIY,iBAAiB;EACrB,IAAK,CAAEH,wBAAwB,EAAG;IACjCG,iBAAiB,GAAGJ,cAAc;EACnC,CAAC,MAAM;IACNI,iBAAiB,GAAGvB,wBAAwB,CAC3CC,YAAY,EACZY,SAAS,EAAEK,MAAM,EAAEG,QAAQ,EAAEC,OAAO,EAAEP,UAAU,EAAEJ,UACnD,CAAC;EACF;EAEA,OAAO,CAAEQ,cAAc,EAAEI,iBAAiB,CAAE;AAC7C","ignoreList":[]}
1
+ {"version":3,"names":["getVariationClassName","variation","getNewIndexFromPresets","presets","slugPrefix","nameRegex","RegExp","highestPresetValue","reduce","currentHighest","preset","slug","matches","match","id","parseInt","getFontFamilyFromSetting","fontFamilies","setting","Array","isArray","fontFamilyVariable","replace","fontFamilySlug","split","slice","find","fontFamily","getFontFamilies","themeJson","themeFontFamilies","settings","typography","theme","customFontFamilies","custom","bodyFontFamilySetting","styles","bodyFontFamily","headingFontFamilySetting","elements","heading","headingFontFamily"],"sources":["@wordpress/edit-site/src/components/global-styles/utils.js"],"sourcesContent":["/**\n *\n * @param {string} variation The variation name.\n *\n * @return {string} The variation class name.\n */\nexport function getVariationClassName( variation ) {\n\tif ( ! variation ) {\n\t\treturn '';\n\t}\n\treturn `is-style-${ variation }`;\n}\n\n/**\n * Iterates through the presets array and searches for slugs that start with the specified\n * slugPrefix followed by a numerical suffix. It identifies the highest numerical suffix found\n * and returns one greater than the highest found suffix, ensuring that the new index is unique.\n *\n * @param {Array} presets The array of preset objects, each potentially containing a slug property.\n * @param {string} slugPrefix The prefix to look for in the preset slugs.\n *\n * @return {number} The next available index for a preset with the specified slug prefix, or 1 if no matching slugs are found.\n */\nexport function getNewIndexFromPresets( presets, slugPrefix ) {\n\tconst nameRegex = new RegExp( `^${ slugPrefix }([\\\\d]+)$` );\n\tconst highestPresetValue = presets.reduce( ( currentHighest, preset ) => {\n\t\tif ( typeof preset?.slug === 'string' ) {\n\t\t\tconst matches = preset?.slug.match( nameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id > currentHighest ) {\n\t\t\t\t\treturn id;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn currentHighest;\n\t}, 0 );\n\treturn highestPresetValue + 1;\n}\n\nfunction getFontFamilyFromSetting( fontFamilies, setting ) {\n\tif ( ! Array.isArray( fontFamilies ) || ! setting ) {\n\t\treturn null;\n\t}\n\n\tconst fontFamilyVariable = setting.replace( 'var(', '' ).replace( ')', '' );\n\tconst fontFamilySlug = fontFamilyVariable?.split( '--' ).slice( -1 )[ 0 ];\n\n\treturn fontFamilies.find(\n\t\t( fontFamily ) => fontFamily.slug === fontFamilySlug\n\t);\n}\n\nexport function getFontFamilies( themeJson ) {\n\tconst themeFontFamilies =\n\t\tthemeJson?.settings?.typography?.fontFamilies?.theme;\n\tconst customFontFamilies =\n\t\tthemeJson?.settings?.typography?.fontFamilies?.custom;\n\n\tlet fontFamilies = [];\n\tif ( themeFontFamilies && customFontFamilies ) {\n\t\tfontFamilies = [ ...themeFontFamilies, ...customFontFamilies ];\n\t} else if ( themeFontFamilies ) {\n\t\tfontFamilies = themeFontFamilies;\n\t} else if ( customFontFamilies ) {\n\t\tfontFamilies = customFontFamilies;\n\t}\n\tconst bodyFontFamilySetting = themeJson?.styles?.typography?.fontFamily;\n\tconst bodyFontFamily = getFontFamilyFromSetting(\n\t\tfontFamilies,\n\t\tbodyFontFamilySetting\n\t);\n\n\tconst headingFontFamilySetting =\n\t\tthemeJson?.styles?.elements?.heading?.typography?.fontFamily;\n\n\tlet headingFontFamily;\n\tif ( ! headingFontFamilySetting ) {\n\t\theadingFontFamily = bodyFontFamily;\n\t} else {\n\t\theadingFontFamily = getFontFamilyFromSetting(\n\t\t\tfontFamilies,\n\t\t\tthemeJson?.styles?.elements?.heading?.typography?.fontFamily\n\t\t);\n\t}\n\n\treturn [ bodyFontFamily, headingFontFamily ];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,223 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import clsx from 'clsx';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import { __experimentalHStack as HStack, Button, Tooltip, Flex } from '@wordpress/components';
10
+ import { __, _x } from '@wordpress/i18n';
11
+ import { useState, useMemo, useId } from '@wordpress/element';
12
+ import { BlockPreview, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
13
+ import { Icon, lockSmall } from '@wordpress/icons';
14
+ import { parse } from '@wordpress/blocks';
15
+ import { decodeEntities } from '@wordpress/html-entities';
16
+
17
+ /**
18
+ * Internal dependencies
19
+ */
20
+ import { Async } from '../async';
21
+ import { PATTERN_TYPES, TEMPLATE_PART_POST_TYPE, PATTERN_SYNC_TYPES, OPERATOR_IS } from '../../utils/constants';
22
+ import { unlock } from '../../lock-unlock';
23
+ import { useLink } from '../routes/link';
24
+ import { useAddedBy } from '../page-templates/hooks';
25
+ import { defaultGetTitle } from './search-items';
26
+ import { jsx as _jsx } from "react/jsx-runtime";
27
+ import { jsxs as _jsxs } from "react/jsx-runtime";
28
+ const {
29
+ useGlobalStyle
30
+ } = unlock(blockEditorPrivateApis);
31
+ function PreviewWrapper({
32
+ item,
33
+ onClick,
34
+ ariaDescribedBy,
35
+ children
36
+ }) {
37
+ return /*#__PURE__*/_jsx("button", {
38
+ className: "page-patterns-preview-field__button",
39
+ type: "button",
40
+ onClick: item.type !== PATTERN_TYPES.theme ? onClick : undefined,
41
+ "aria-label": item.title,
42
+ "aria-describedby": ariaDescribedBy,
43
+ "aria-disabled": item.type === PATTERN_TYPES.theme,
44
+ children: children
45
+ });
46
+ }
47
+ function PreviewField({
48
+ item
49
+ }) {
50
+ const descriptionId = useId();
51
+ const description = item.description || item?.excerpt?.raw;
52
+ const isUserPattern = item.type === PATTERN_TYPES.user;
53
+ const isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;
54
+ const [backgroundColor] = useGlobalStyle('color.background');
55
+ const {
56
+ onClick
57
+ } = useLink({
58
+ postType: item.type,
59
+ postId: isUserPattern || isTemplatePart ? item.id : item.name,
60
+ canvas: 'edit'
61
+ });
62
+ const blocks = useMemo(() => {
63
+ var _item$blocks;
64
+ return (_item$blocks = item.blocks) !== null && _item$blocks !== void 0 ? _item$blocks : parse(item.content.raw, {
65
+ __unstableSkipMigrationLogs: true
66
+ });
67
+ }, [item?.content?.raw, item.blocks]);
68
+ const isEmpty = !blocks?.length;
69
+ return /*#__PURE__*/_jsxs("div", {
70
+ className: "page-patterns-preview-field",
71
+ style: {
72
+ backgroundColor
73
+ },
74
+ children: [/*#__PURE__*/_jsxs(PreviewWrapper, {
75
+ item: item,
76
+ onClick: onClick,
77
+ ariaDescribedBy: !!description ? descriptionId : undefined,
78
+ children: [isEmpty && isTemplatePart && __('Empty template part'), isEmpty && !isTemplatePart && __('Empty pattern'), !isEmpty && /*#__PURE__*/_jsx(Async, {
79
+ children: /*#__PURE__*/_jsx(BlockPreview, {
80
+ blocks: blocks,
81
+ viewportWidth: item.viewportWidth
82
+ })
83
+ })]
84
+ }), !!description && /*#__PURE__*/_jsx("div", {
85
+ hidden: true,
86
+ id: descriptionId,
87
+ children: description
88
+ })]
89
+ });
90
+ }
91
+ export const previewField = {
92
+ label: __('Preview'),
93
+ id: 'preview',
94
+ render: PreviewField,
95
+ enableSorting: false
96
+ };
97
+ function TitleField({
98
+ item
99
+ }) {
100
+ const isUserPattern = item.type === PATTERN_TYPES.user;
101
+ const isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;
102
+ const {
103
+ onClick
104
+ } = useLink({
105
+ postType: item.type,
106
+ postId: isUserPattern || isTemplatePart ? item.id : item.name,
107
+ canvas: 'edit'
108
+ });
109
+ const title = decodeEntities(defaultGetTitle(item));
110
+ return /*#__PURE__*/_jsxs(HStack, {
111
+ alignment: "center",
112
+ justify: "flex-start",
113
+ spacing: 2,
114
+ children: [/*#__PURE__*/_jsx(Flex, {
115
+ as: "div",
116
+ gap: 0,
117
+ justify: "left",
118
+ className: "edit-site-patterns__pattern-title",
119
+ children: item.type === PATTERN_TYPES.theme ? title : /*#__PURE__*/_jsx(Button, {
120
+ variant: "link",
121
+ onClick: onClick
122
+ // Required for the grid's roving tab index system.
123
+ // See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.
124
+ ,
125
+ tabIndex: "-1",
126
+ children: title
127
+ })
128
+ }), item.type === PATTERN_TYPES.theme && /*#__PURE__*/_jsx(Tooltip, {
129
+ placement: "top",
130
+ text: __('This pattern cannot be edited.'),
131
+ children: /*#__PURE__*/_jsx(Icon, {
132
+ className: "edit-site-patterns__pattern-lock-icon",
133
+ icon: lockSmall,
134
+ size: 24
135
+ })
136
+ })]
137
+ });
138
+ }
139
+ export const titleField = {
140
+ label: __('Title'),
141
+ id: 'title',
142
+ getValue: ({
143
+ item
144
+ }) => item.title?.raw || item.title,
145
+ render: TitleField,
146
+ enableHiding: false
147
+ };
148
+ const SYNC_FILTERS = [{
149
+ value: PATTERN_SYNC_TYPES.full,
150
+ label: _x('Synced', 'pattern (singular)'),
151
+ description: __('Patterns that are kept in sync across the site.')
152
+ }, {
153
+ value: PATTERN_SYNC_TYPES.unsynced,
154
+ label: _x('Not synced', 'pattern (singular)'),
155
+ description: __('Patterns that can be changed freely without affecting the site.')
156
+ }];
157
+ export const patternStatusField = {
158
+ label: __('Sync status'),
159
+ id: 'sync-status',
160
+ render: ({
161
+ item
162
+ }) => {
163
+ const syncStatus = 'wp_pattern_sync_status' in item ? item.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full : PATTERN_SYNC_TYPES.unsynced;
164
+ // User patterns can have their sync statuses checked directly.
165
+ // Non-user patterns are all unsynced for the time being.
166
+ return /*#__PURE__*/_jsx("span", {
167
+ className: `edit-site-patterns__field-sync-status-${syncStatus}`,
168
+ children: SYNC_FILTERS.find(({
169
+ value
170
+ }) => value === syncStatus).label
171
+ });
172
+ },
173
+ elements: SYNC_FILTERS,
174
+ filterBy: {
175
+ operators: [OPERATOR_IS],
176
+ isPrimary: true
177
+ },
178
+ enableSorting: false
179
+ };
180
+ function AuthorField({
181
+ item
182
+ }) {
183
+ const [isImageLoaded, setIsImageLoaded] = useState(false);
184
+ const {
185
+ text,
186
+ icon,
187
+ imageUrl
188
+ } = useAddedBy(item.type, item.id);
189
+ return /*#__PURE__*/_jsxs(HStack, {
190
+ alignment: "left",
191
+ spacing: 0,
192
+ children: [imageUrl && /*#__PURE__*/_jsx("div", {
193
+ className: clsx('page-templates-author-field__avatar', {
194
+ 'is-loaded': isImageLoaded
195
+ }),
196
+ children: /*#__PURE__*/_jsx("img", {
197
+ onLoad: () => setIsImageLoaded(true),
198
+ alt: "",
199
+ src: imageUrl
200
+ })
201
+ }), !imageUrl && /*#__PURE__*/_jsx("div", {
202
+ className: "page-templates-author-field__icon",
203
+ children: /*#__PURE__*/_jsx(Icon, {
204
+ icon: icon
205
+ })
206
+ }), /*#__PURE__*/_jsx("span", {
207
+ className: "page-templates-author-field__name",
208
+ children: text
209
+ })]
210
+ });
211
+ }
212
+ export const templatePartAuthorField = {
213
+ label: __('Author'),
214
+ id: 'author',
215
+ getValue: ({
216
+ item
217
+ }) => item.author_text,
218
+ render: AuthorField,
219
+ filterBy: {
220
+ isPrimary: true
221
+ }
222
+ };
223
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["clsx","__experimentalHStack","HStack","Button","Tooltip","Flex","__","_x","useState","useMemo","useId","BlockPreview","privateApis","blockEditorPrivateApis","Icon","lockSmall","parse","decodeEntities","Async","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","OPERATOR_IS","unlock","useLink","useAddedBy","defaultGetTitle","jsx","_jsx","jsxs","_jsxs","useGlobalStyle","PreviewWrapper","item","onClick","ariaDescribedBy","children","className","type","theme","undefined","title","PreviewField","descriptionId","description","excerpt","raw","isUserPattern","user","isTemplatePart","backgroundColor","postType","postId","id","name","canvas","blocks","_item$blocks","content","__unstableSkipMigrationLogs","isEmpty","length","style","viewportWidth","hidden","previewField","label","render","enableSorting","TitleField","alignment","justify","spacing","as","gap","variant","tabIndex","placement","text","icon","size","titleField","getValue","enableHiding","SYNC_FILTERS","value","full","unsynced","patternStatusField","syncStatus","wp_pattern_sync_status","find","elements","filterBy","operators","isPrimary","AuthorField","isImageLoaded","setIsImageLoaded","imageUrl","onLoad","alt","src","templatePartAuthorField","author_text"],"sources":["@wordpress/edit-site/src/components/page-patterns/fields.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useId } from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Icon, lockSmall } from '@wordpress/icons';\nimport { parse } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tOPERATOR_IS,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useLink } from '../routes/link';\nimport { useAddedBy } from '../page-templates/hooks';\nimport { defaultGetTitle } from './search-items';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {\n\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ item.type !== PATTERN_TYPES.theme ? onClick : undefined }\n\t\t\taria-label={ item.title }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-disabled={ item.type === PATTERN_TYPES.theme }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction PreviewField( { item } ) {\n\tconst descriptionId = useId();\n\tconst description = item.description || item?.excerpt?.raw;\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern || isTemplatePart ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\tconst blocks = useMemo( () => {\n\t\treturn (\n\t\t\titem.blocks ??\n\t\t\tparse( item.content.raw, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} )\n\t\t);\n\t}, [ item?.content?.raw, item.blocks ] );\n\tconst isEmpty = ! blocks?.length;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"page-patterns-preview-field\"\n\t\t\tstyle={ { backgroundColor } }\n\t\t>\n\t\t\t<PreviewWrapper\n\t\t\t\titem={ item }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tariaDescribedBy={ !! description ? descriptionId : undefined }\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<Async>\n\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Async>\n\t\t\t\t) }\n\t\t\t</PreviewWrapper>\n\t\t\t{ !! description && (\n\t\t\t\t<div hidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nfunction TitleField( { item } ) {\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern || isTemplatePart ? item.id : item.name,\n\t\tcanvas: 'edit',\n\t} );\n\tconst title = decodeEntities( defaultGetTitle( item ) );\n\treturn (\n\t\t<HStack alignment=\"center\" justify=\"flex-start\" spacing={ 2 }>\n\t\t\t<Flex\n\t\t\t\tas=\"div\"\n\t\t\t\tgap={ 0 }\n\t\t\t\tjustify=\"left\"\n\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t>\n\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\ttitle\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nexport const titleField = {\n\tlabel: __( 'Title' ),\n\tid: 'title',\n\tgetValue: ( { item } ) => item.title?.raw || item.title,\n\trender: TitleField,\n\tenableHiding: false,\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'pattern (singular)' ),\n\t\tdescription: __( 'Patterns that are kept in sync across the site.' ),\n\t},\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.unsynced,\n\t\tlabel: _x( 'Not synced', 'pattern (singular)' ),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nexport const patternStatusField = {\n\tlabel: __( 'Sync status' ),\n\tid: 'sync-status',\n\trender: ( { item } ) => {\n\t\tconst syncStatus =\n\t\t\t'wp_pattern_sync_status' in item\n\t\t\t\t? item.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full\n\t\t\t\t: PATTERN_SYNC_TYPES.unsynced;\n\t\t// User patterns can have their sync statuses checked directly.\n\t\t// Non-user patterns are all unsynced for the time being.\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={ `edit-site-patterns__field-sync-status-${ syncStatus }` }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tSYNC_FILTERS.find( ( { value } ) => value === syncStatus )\n\t\t\t\t\t\t.label\n\t\t\t\t}\n\t\t\t</span>\n\t\t);\n\t},\n\telements: SYNC_FILTERS,\n\tfilterBy: {\n\t\toperators: [ OPERATOR_IS ],\n\t\tisPrimary: true,\n\t},\n\tenableSorting: false,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\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\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={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const templatePartAuthorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text,\n\trender: AuthorField,\n\tfilterBy: {\n\t\tisPrimary: true,\n\t},\n};\n"],"mappings":"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","ignoreList":[]}