@wordpress/edit-site 6.11.0 → 6.12.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 (190) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/app/index.js +0 -2
  3. package/build/components/app/index.js.map +1 -1
  4. package/build/components/block-editor/use-editor-iframe-props.js +6 -8
  5. package/build/components/block-editor/use-editor-iframe-props.js.map +1 -1
  6. package/build/components/editor/index.js +9 -4
  7. package/build/components/editor/index.js.map +1 -1
  8. package/build/components/editor/use-editor-title.js +29 -12
  9. package/build/components/editor/use-editor-title.js.map +1 -1
  10. package/build/components/global-styles/screen-revisions/revisions-buttons.js +24 -22
  11. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  12. package/build/components/global-styles/shadows-edit-panel.js +2 -3
  13. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  14. package/build/components/global-styles/ui.js +42 -2
  15. package/build/components/global-styles/ui.js.map +1 -1
  16. package/build/components/global-styles-renderer/index.js +6 -8
  17. package/build/components/global-styles-renderer/index.js.map +1 -1
  18. package/build/components/layout/hooks.js +1 -10
  19. package/build/components/layout/hooks.js.map +1 -1
  20. package/build/components/layout/index.js +1 -0
  21. package/build/components/layout/index.js.map +1 -1
  22. package/build/components/page-patterns/fields.js +3 -7
  23. package/build/components/page-patterns/fields.js.map +1 -1
  24. package/build/components/page-templates/fields.js +1 -2
  25. package/build/components/page-templates/fields.js.map +1 -1
  26. package/build/components/post-edit/index.js +14 -8
  27. package/build/components/post-edit/index.js.map +1 -1
  28. package/build/components/post-fields/index.js +3 -197
  29. package/build/components/post-fields/index.js.map +1 -1
  30. package/build/components/post-list/index.js +11 -1
  31. package/build/components/post-list/index.js.map +1 -1
  32. package/build/components/sidebar/index.js +11 -3
  33. package/build/components/sidebar/index.js.map +1 -1
  34. package/build/components/sidebar-global-styles-wrapper/index.js +129 -0
  35. package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -0
  36. package/build/components/sidebar-navigation-screen-global-styles/index.js +14 -72
  37. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  38. package/build/components/sidebar-navigation-screen-main/index.js +43 -42
  39. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  40. package/build/components/site-editor-routes/styles-edit.js +6 -1
  41. package/build/components/site-editor-routes/styles-edit.js.map +1 -1
  42. package/build/components/site-editor-routes/styles-view.js +8 -2
  43. package/build/components/site-editor-routes/styles-view.js.map +1 -1
  44. package/build/components/site-hub/index.js +19 -6
  45. package/build/components/site-hub/index.js.map +1 -1
  46. package/build/components/style-book/constants.js +10 -3
  47. package/build/components/style-book/constants.js.map +1 -1
  48. package/build/components/style-book/examples.js +71 -1
  49. package/build/components/style-book/examples.js.map +1 -1
  50. package/build/components/style-book/index.js +70 -11
  51. package/build/components/style-book/index.js.map +1 -1
  52. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +32 -32
  53. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  54. package/build/components/welcome-guide/index.js +4 -2
  55. package/build/components/welcome-guide/index.js.map +1 -1
  56. package/build/components/welcome-guide/page.js +1 -9
  57. package/build/components/welcome-guide/page.js.map +1 -1
  58. package/build/components/welcome-guide/template.js +1 -12
  59. package/build/components/welcome-guide/template.js.map +1 -1
  60. package/build/hooks/commands/use-common-commands.js +15 -15
  61. package/build/hooks/commands/use-common-commands.js.map +1 -1
  62. package/build/index.js +1 -0
  63. package/build/index.js.map +1 -1
  64. package/build/posts.js +1 -0
  65. package/build/posts.js.map +1 -1
  66. package/build-module/components/app/index.js +0 -2
  67. package/build-module/components/app/index.js.map +1 -1
  68. package/build-module/components/block-editor/use-editor-iframe-props.js +6 -8
  69. package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -1
  70. package/build-module/components/editor/index.js +9 -4
  71. package/build-module/components/editor/index.js.map +1 -1
  72. package/build-module/components/editor/use-editor-title.js +29 -12
  73. package/build-module/components/editor/use-editor-title.js.map +1 -1
  74. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +25 -23
  75. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  76. package/build-module/components/global-styles/shadows-edit-panel.js +2 -3
  77. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  78. package/build-module/components/global-styles/ui.js +43 -3
  79. package/build-module/components/global-styles/ui.js.map +1 -1
  80. package/build-module/components/global-styles-renderer/index.js +6 -8
  81. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  82. package/build-module/components/layout/hooks.js +1 -9
  83. package/build-module/components/layout/hooks.js.map +1 -1
  84. package/build-module/components/layout/index.js +1 -0
  85. package/build-module/components/layout/index.js.map +1 -1
  86. package/build-module/components/page-patterns/fields.js +4 -8
  87. package/build-module/components/page-patterns/fields.js.map +1 -1
  88. package/build-module/components/page-templates/fields.js +1 -2
  89. package/build-module/components/page-templates/fields.js.map +1 -1
  90. package/build-module/components/post-edit/index.js +14 -8
  91. package/build-module/components/post-edit/index.js.map +1 -1
  92. package/build-module/components/post-fields/index.js +7 -202
  93. package/build-module/components/post-fields/index.js.map +1 -1
  94. package/build-module/components/post-list/index.js +11 -1
  95. package/build-module/components/post-list/index.js.map +1 -1
  96. package/build-module/components/sidebar/index.js +11 -3
  97. package/build-module/components/sidebar/index.js.map +1 -1
  98. package/build-module/components/sidebar-global-styles-wrapper/index.js +121 -0
  99. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -0
  100. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +15 -73
  101. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  102. package/build-module/components/sidebar-navigation-screen-main/index.js +43 -43
  103. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  104. package/build-module/components/site-editor-routes/styles-edit.js +6 -1
  105. package/build-module/components/site-editor-routes/styles-edit.js.map +1 -1
  106. package/build-module/components/site-editor-routes/styles-view.js +8 -2
  107. package/build-module/components/site-editor-routes/styles-view.js.map +1 -1
  108. package/build-module/components/site-hub/index.js +19 -6
  109. package/build-module/components/site-hub/index.js.map +1 -1
  110. package/build-module/components/style-book/constants.js +10 -3
  111. package/build-module/components/style-book/constants.js.map +1 -1
  112. package/build-module/components/style-book/examples.js +71 -1
  113. package/build-module/components/style-book/examples.js.map +1 -1
  114. package/build-module/components/style-book/index.js +71 -12
  115. package/build-module/components/style-book/index.js.map +1 -1
  116. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +32 -32
  117. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  118. package/build-module/components/welcome-guide/index.js +4 -2
  119. package/build-module/components/welcome-guide/index.js.map +1 -1
  120. package/build-module/components/welcome-guide/page.js +1 -9
  121. package/build-module/components/welcome-guide/page.js.map +1 -1
  122. package/build-module/components/welcome-guide/template.js +1 -11
  123. package/build-module/components/welcome-guide/template.js.map +1 -1
  124. package/build-module/hooks/commands/use-common-commands.js +15 -15
  125. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  126. package/build-module/index.js +1 -0
  127. package/build-module/index.js.map +1 -1
  128. package/build-module/posts.js +1 -0
  129. package/build-module/posts.js.map +1 -1
  130. package/build-style/posts-rtl.css +54 -5
  131. package/build-style/posts.css +54 -5
  132. package/build-style/style-rtl.css +109 -28
  133. package/build-style/style.css +109 -28
  134. package/package.json +3 -4
  135. package/src/components/app/index.js +0 -2
  136. package/src/components/block-editor/use-editor-iframe-props.js +2 -3
  137. package/src/components/editor/index.js +16 -4
  138. package/src/components/editor/use-editor-title.js +37 -13
  139. package/src/components/editor-canvas-container/style.scss +0 -1
  140. package/src/components/global-styles/screen-revisions/revisions-buttons.js +28 -31
  141. package/src/components/global-styles/screen-revisions/style.scss +11 -17
  142. package/src/components/global-styles/shadows-edit-panel.js +4 -2
  143. package/src/components/global-styles/ui.js +42 -2
  144. package/src/components/global-styles-renderer/index.js +4 -10
  145. package/src/components/layout/hooks.js +1 -7
  146. package/src/components/layout/index.js +6 -1
  147. package/src/components/page-patterns/fields.js +6 -12
  148. package/src/components/page-patterns/style.scss +0 -5
  149. package/src/components/page-templates/fields.js +2 -3
  150. package/src/components/post-edit/index.js +38 -30
  151. package/src/components/post-edit/style.scss +7 -0
  152. package/src/components/post-fields/index.js +19 -273
  153. package/src/components/post-list/index.js +9 -3
  154. package/src/components/post-list/style.scss +29 -3
  155. package/src/components/sidebar/index.js +23 -7
  156. package/src/components/sidebar-global-styles-wrapper/index.js +150 -0
  157. package/src/components/sidebar-global-styles-wrapper/style.scss +35 -0
  158. package/src/components/sidebar-navigation-item/style.scss +2 -2
  159. package/src/components/sidebar-navigation-screen-global-styles/index.js +13 -88
  160. package/src/components/sidebar-navigation-screen-main/index.js +46 -45
  161. package/src/components/site-editor-routes/styles-edit.js +10 -1
  162. package/src/components/site-editor-routes/styles-view.js +11 -1
  163. package/src/components/site-hub/index.js +33 -16
  164. package/src/components/site-icon/style.scss +16 -0
  165. package/src/components/style-book/constants.ts +11 -3
  166. package/src/components/style-book/examples.tsx +105 -1
  167. package/src/components/style-book/index.js +86 -8
  168. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +54 -64
  169. package/src/components/welcome-guide/index.js +3 -3
  170. package/src/components/welcome-guide/page.js +1 -7
  171. package/src/components/welcome-guide/template.js +1 -8
  172. package/src/hooks/commands/use-common-commands.js +253 -246
  173. package/src/index.js +1 -0
  174. package/src/posts.js +1 -0
  175. package/src/style.scss +2 -3
  176. package/build/components/async/index.js +0 -51
  177. package/build/components/async/index.js.map +0 -1
  178. package/build/components/use-edited-entity-record/index.js +0 -60
  179. package/build/components/use-edited-entity-record/index.js.map +0 -1
  180. package/build/hooks/commands/use-edit-mode-commands.js +0 -179
  181. package/build/hooks/commands/use-edit-mode-commands.js.map +0 -1
  182. package/build-module/components/async/index.js +0 -44
  183. package/build-module/components/async/index.js.map +0 -1
  184. package/build-module/components/use-edited-entity-record/index.js +0 -53
  185. package/build-module/components/use-edited-entity-record/index.js.map +0 -1
  186. package/build-module/hooks/commands/use-edit-mode-commands.js +0 -171
  187. package/build-module/hooks/commands/use-edit-mode-commands.js.map +0 -1
  188. package/src/components/async/index.js +0 -43
  189. package/src/components/use-edited-entity-record/index.js +0 -58
  190. package/src/hooks/commands/use-edit-mode-commands.js +0 -168
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useSelect","useDispatch","Button","__experimentalHStack","HStack","VisuallyHidden","__","store","coreStore","decodeEntities","memo","forwardRef","useContext","search","commandsStore","displayShortcut","filterURLForDisplay","privateApis","routerPrivateApis","editSiteStore","SiteIcon","unlock","useHistory","SidebarNavigationContext","jsx","_jsx","jsxs","_jsxs","SiteHub","isTransparent","ref","dashboardLink","homeUrl","siteTitle","select","getSettings","getEntityRecord","_site","__experimentalDashboardLink","home","title","url","open","openCommandCenter","className","children","justify","spacing","__next40pxDefaultSize","href","label","style","transform","borderRadius","variant","target","as","expanded","size","icon","onClick","shortcut","primary","SiteHubMobile","history","navigate","push"],"sources":["@wordpress/edit-site/src/components/site-hub/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { memo, forwardRef, useContext } from '@wordpress/element';\nimport { search } from '@wordpress/icons';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { filterURLForDisplay } from '@wordpress/url';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport SiteIcon from '../site-icon';\nimport { unlock } from '../../lock-unlock';\nconst { useHistory } = unlock( routerPrivateApis );\nimport { SidebarNavigationContext } from '../sidebar';\n\nconst SiteHub = memo(\n\tforwardRef( ( { isTransparent }, ref ) => {\n\t\tconst { dashboardLink, homeUrl, siteTitle } = useSelect( ( select ) => {\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst _site = getEntityRecord( 'root', 'site' );\n\t\t\treturn {\n\t\t\t\tdashboardLink:\n\t\t\t\t\tgetSettings().__experimentalDashboardLink || 'index.php',\n\t\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\t\tsiteTitle:\n\t\t\t\t\t! _site?.title && !! _site?.url\n\t\t\t\t\t\t? filterURLForDisplay( _site?.url )\n\t\t\t\t\t\t: _site?.title,\n\t\t\t};\n\t\t}, [] );\n\t\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\t\treturn (\n\t\t\t<div className=\"edit-site-site-hub\">\n\t\t\t\t<HStack justify=\"flex-start\" spacing=\"0\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'edit-site-site-hub__view-mode-toggle-container',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-transparent-background': isTransparent,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\thref={ dashboardLink }\n\t\t\t\t\t\t\tlabel={ __( 'Go to the Dashboard' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\ttransform: 'scale(0.5333) translateX(-4px)', // Offset to position the icon 12px from viewport edge\n\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<div className=\"edit-site-site-hub__title\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__actions\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-site-hub_toggle-command-center\"\n\t\t\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t);\n\t} )\n);\n\nexport default SiteHub;\n\nexport const SiteHubMobile = memo(\n\tforwardRef( ( { isTransparent }, ref ) => {\n\t\tconst history = useHistory();\n\t\tconst { navigate } = useContext( SidebarNavigationContext );\n\n\t\tconst { homeUrl, siteTitle } = useSelect( ( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst _site = getEntityRecord( 'root', 'site' );\n\t\t\treturn {\n\t\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\t\tsiteTitle:\n\t\t\t\t\t! _site?.title && !! _site?.url\n\t\t\t\t\t\t? filterURLForDisplay( _site?.url )\n\t\t\t\t\t\t: _site?.title,\n\t\t\t};\n\t\t}, [] );\n\t\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\t\treturn (\n\t\t\t<div className=\"edit-site-site-hub\">\n\t\t\t\t<HStack justify=\"flex-start\" spacing=\"0\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'edit-site-site-hub__view-mode-toggle-container',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-transparent-background': isTransparent,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tlabel={ __( 'Go to Site Editor' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\ttransform: 'scale(0.5)',\n\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\thistory.push( {} );\n\t\t\t\t\t\t\t\tnavigate( 'back' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<div className=\"edit-site-site-hub__title\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tlabel={ __( 'View site (opens in a new tab)' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__actions\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tclassName=\"edit-site-site-hub_toggle-command-center\"\n\t\t\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t);\n\t} )\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useSelect","useDispatch","Button","__experimentalHStack","HStack","VisuallyHidden","__","store","coreStore","decodeEntities","memo","forwardRef","useContext","search","commandsStore","displayShortcut","filterURLForDisplay","privateApis","routerPrivateApis","editSiteStore","SiteIcon","unlock","useHistory","SidebarNavigationContext","jsx","_jsx","jsxs","_jsxs","SiteHub","isTransparent","ref","dashboardLink","homeUrl","siteTitle","select","getSettings","getEntityRecord","_site","__experimentalDashboardLink","home","title","url","open","openCommandCenter","className","children","justify","spacing","__next40pxDefaultSize","href","label","style","transform","borderRadius","variant","target","as","expanded","size","icon","onClick","shortcut","primary","SiteHubMobile","history","navigate","isBlockTheme","getCurrentTheme","is_block_theme","push"],"sources":["@wordpress/edit-site/src/components/site-hub/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { memo, forwardRef, useContext } from '@wordpress/element';\nimport { search } from '@wordpress/icons';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { filterURLForDisplay } from '@wordpress/url';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport SiteIcon from '../site-icon';\nimport { unlock } from '../../lock-unlock';\nconst { useHistory } = unlock( routerPrivateApis );\nimport { SidebarNavigationContext } from '../sidebar';\n\nconst SiteHub = memo(\n\tforwardRef( ( { isTransparent }, ref ) => {\n\t\tconst { dashboardLink, homeUrl, siteTitle } = useSelect( ( select ) => {\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst _site = getEntityRecord( 'root', 'site' );\n\t\t\treturn {\n\t\t\t\tdashboardLink:\n\t\t\t\t\tgetSettings().__experimentalDashboardLink || 'index.php',\n\t\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\t\tsiteTitle:\n\t\t\t\t\t! _site?.title && !! _site?.url\n\t\t\t\t\t\t? filterURLForDisplay( _site?.url )\n\t\t\t\t\t\t: _site?.title,\n\t\t\t};\n\t\t}, [] );\n\t\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\t\treturn (\n\t\t\t<div className=\"edit-site-site-hub\">\n\t\t\t\t<HStack justify=\"flex-start\" spacing=\"0\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'edit-site-site-hub__view-mode-toggle-container',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-transparent-background': isTransparent,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\thref={ dashboardLink }\n\t\t\t\t\t\t\tlabel={ __( 'Go to the Dashboard' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\ttransform: 'scale(0.5333) translateX(-4px)', // Offset to position the icon 12px from viewport edge\n\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<div className=\"edit-site-site-hub__title\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__actions\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-site-hub_toggle-command-center\"\n\t\t\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t);\n\t} )\n);\n\nexport default SiteHub;\n\nexport const SiteHubMobile = memo(\n\tforwardRef( ( { isTransparent }, ref ) => {\n\t\tconst history = useHistory();\n\t\tconst { navigate } = useContext( SidebarNavigationContext );\n\n\t\tconst { dashboardLink, isBlockTheme, homeUrl, siteTitle } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\n\t\t\t\tconst { getEntityRecord, getCurrentTheme } =\n\t\t\t\t\tselect( coreStore );\n\t\t\t\tconst _site = getEntityRecord( 'root', 'site' );\n\t\t\t\treturn {\n\t\t\t\t\tdashboardLink:\n\t\t\t\t\t\tgetSettings().__experimentalDashboardLink ||\n\t\t\t\t\t\t'index.php',\n\t\t\t\t\tisBlockTheme: getCurrentTheme()?.is_block_theme,\n\t\t\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\t\t\tsiteTitle:\n\t\t\t\t\t\t! _site?.title && !! _site?.url\n\t\t\t\t\t\t\t? filterURLForDisplay( _site?.url )\n\t\t\t\t\t\t\t: _site?.title,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\t\treturn (\n\t\t\t<div className=\"edit-site-site-hub\">\n\t\t\t\t<HStack justify=\"flex-start\" spacing=\"0\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'edit-site-site-hub__view-mode-toggle-container',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-transparent-background': isTransparent,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\ttransform: 'scale(0.5)',\n\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t{ ...( ! isBlockTheme\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\thref: dashboardLink,\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Go to the Dashboard' ),\n\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\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\thistory.push( {} );\n\t\t\t\t\t\t\t\t\t\t\tnavigate( 'back' );\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Go to Site Editor' ),\n\t\t\t\t\t\t\t\t } ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<div className=\"edit-site-site-hub__title\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tlabel={ __( 'View site (opens in a new tab)' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__actions\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tclassName=\"edit-site-site-hub_toggle-command-center\"\n\t\t\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t);\n\t} )\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,MAAM,EACNC,oBAAoB,IAAIC,MAAM,EAC9BC,cAAc,QACR,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,IAAI,EAAEC,UAAU,EAAEC,UAAU,QAAQ,oBAAoB;AACjE,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASN,KAAK,IAAIO,aAAa,QAAQ,qBAAqB;AAC5D,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASX,KAAK,IAAIY,aAAa,QAAQ,aAAa;AACpD,OAAOC,QAAQ,MAAM,cAAc;AACnC,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,MAAM;EAAEC;AAAW,CAAC,GAAGD,MAAM,CAAEH,iBAAkB,CAAC;AAClD,SAASK,wBAAwB,QAAQ,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtD,MAAMC,OAAO,GAAGlB,IAAI,CACnBC,UAAU,CAAE,CAAE;EAAEkB;AAAc,CAAC,EAAEC,GAAG,KAAM;EACzC,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC;EAAU,CAAC,GAAGjC,SAAS,CAAIkC,MAAM,IAAM;IACtE,MAAM;MAAEC;IAAY,CAAC,GAAGd,MAAM,CAAEa,MAAM,CAAEf,aAAc,CAAE,CAAC;IAEzD,MAAM;MAAEiB;IAAgB,CAAC,GAAGF,MAAM,CAAE1B,SAAU,CAAC;IAC/C,MAAM6B,KAAK,GAAGD,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC;IAC/C,OAAO;MACNL,aAAa,EACZI,WAAW,CAAC,CAAC,CAACG,2BAA2B,IAAI,WAAW;MACzDN,OAAO,EAAEI,eAAe,CAAE,MAAM,EAAE,gBAAiB,CAAC,EAAEG,IAAI;MAC1DN,SAAS,EACR,CAAEI,KAAK,EAAEG,KAAK,IAAI,CAAC,CAAEH,KAAK,EAAEI,GAAG,GAC5BzB,mBAAmB,CAAEqB,KAAK,EAAEI,GAAI,CAAC,GACjCJ,KAAK,EAAEG;IACZ,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEE,IAAI,EAAEC;EAAkB,CAAC,GAAG1C,WAAW,CAAEa,aAAc,CAAC;EAEhE,oBACCW,IAAA;IAAKmB,SAAS,EAAC,oBAAoB;IAAAC,QAAA,eAClClB,KAAA,CAACvB,MAAM;MAAC0C,OAAO,EAAC,YAAY;MAACC,OAAO,EAAC,GAAG;MAAAF,QAAA,gBACvCpB,IAAA;QACCmB,SAAS,EAAG7C,IAAI,CACf,gDAAgD,EAChD;UACC,4BAA4B,EAAE8B;QAC/B,CACD,CAAG;QAAAgB,QAAA,eAEHpB,IAAA,CAACvB,MAAM;UACN8C,qBAAqB;UACrBlB,GAAG,EAAGA,GAAK;UACXmB,IAAI,EAAGlB,aAAe;UACtBmB,KAAK,EAAG5C,EAAE,CAAE,qBAAsB,CAAG;UACrCsC,SAAS,EAAC,oCAAoC;UAC9CO,KAAK,EAAG;YACPC,SAAS,EAAE,gCAAgC;YAAE;YAC7CC,YAAY,EAAE;UACf,CAAG;UAAAR,QAAA,eAEHpB,IAAA,CAACL,QAAQ;YAACwB,SAAS,EAAC;UAAyC,CAAE;QAAC,CACzD;MAAC,CACL,CAAC,eAENjB,KAAA,CAACvB,MAAM;QAAAyC,QAAA,gBACNpB,IAAA;UAAKmB,SAAS,EAAC,2BAA2B;UAAAC,QAAA,eACzClB,KAAA,CAACzB,MAAM;YACN8C,qBAAqB;YACrBM,OAAO,EAAC,MAAM;YACdL,IAAI,EAAGjB,OAAS;YAChBuB,MAAM,EAAC,QAAQ;YAAAV,QAAA,GAEbpC,cAAc,CAAEwB,SAAU,CAAC,eAC7BR,IAAA,CAACpB,cAAc;cAACmD,EAAE,EAAC,MAAM;cAAAX,QAAA,EAEvB;cACAvC,EAAE,CAAE,sBAAuB;YAAC,CAEd,CAAC;UAAA,CACV;QAAC,CACL,CAAC,eACNmB,IAAA,CAACrB,MAAM;UACN2C,OAAO,EAAG,CAAG;UACbU,QAAQ,EAAG,KAAO;UAClBb,SAAS,EAAC,6BAA6B;UAAAC,QAAA,eAEvCpB,IAAA,CAACvB,MAAM;YACNwD,IAAI,EAAC,SAAS;YACdd,SAAS,EAAC,0CAA0C;YACpDe,IAAI,EAAG9C,MAAQ;YACf+C,OAAO,EAAGA,CAAA,KAAMjB,iBAAiB,CAAC,CAAG;YACrCO,KAAK,EAAG5C,EAAE,CAAE,sBAAuB,CAAG;YACtCuD,QAAQ,EAAG9C,eAAe,CAAC+C,OAAO,CAAE,GAAI;UAAG,CAC3C;QAAC,CACK,CAAC;MAAA,CACF,CAAC;IAAA,CACF;EAAC,CACL,CAAC;AAER,CAAE,CACH,CAAC;AAED,eAAelC,OAAO;AAEtB,OAAO,MAAMmC,aAAa,GAAGrD,IAAI,CAChCC,UAAU,CAAE,CAAE;EAAEkB;AAAc,CAAC,EAAEC,GAAG,KAAM;EACzC,MAAMkC,OAAO,GAAG1C,UAAU,CAAC,CAAC;EAC5B,MAAM;IAAE2C;EAAS,CAAC,GAAGrD,UAAU,CAAEW,wBAAyB,CAAC;EAE3D,MAAM;IAAEQ,aAAa;IAAEmC,YAAY;IAAElC,OAAO;IAAEC;EAAU,CAAC,GAAGjC,SAAS,CAClEkC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAY,CAAC,GAAGd,MAAM,CAAEa,MAAM,CAAEf,aAAc,CAAE,CAAC;IAEzD,MAAM;MAAEiB,eAAe;MAAE+B;IAAgB,CAAC,GACzCjC,MAAM,CAAE1B,SAAU,CAAC;IACpB,MAAM6B,KAAK,GAAGD,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC;IAC/C,OAAO;MACNL,aAAa,EACZI,WAAW,CAAC,CAAC,CAACG,2BAA2B,IACzC,WAAW;MACZ4B,YAAY,EAAEC,eAAe,CAAC,CAAC,EAAEC,cAAc;MAC/CpC,OAAO,EAAEI,eAAe,CAAE,MAAM,EAAE,gBAAiB,CAAC,EAAEG,IAAI;MAC1DN,SAAS,EACR,CAAEI,KAAK,EAAEG,KAAK,IAAI,CAAC,CAAEH,KAAK,EAAEI,GAAG,GAC5BzB,mBAAmB,CAAEqB,KAAK,EAAEI,GAAI,CAAC,GACjCJ,KAAK,EAAEG;IACZ,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD,MAAM;IAAEE,IAAI,EAAEC;EAAkB,CAAC,GAAG1C,WAAW,CAAEa,aAAc,CAAC;EAEhE,oBACCW,IAAA;IAAKmB,SAAS,EAAC,oBAAoB;IAAAC,QAAA,eAClClB,KAAA,CAACvB,MAAM;MAAC0C,OAAO,EAAC,YAAY;MAACC,OAAO,EAAC,GAAG;MAAAF,QAAA,gBACvCpB,IAAA;QACCmB,SAAS,EAAG7C,IAAI,CACf,gDAAgD,EAChD;UACC,4BAA4B,EAAE8B;QAC/B,CACD,CAAG;QAAAgB,QAAA,eAEHpB,IAAA,CAACvB,MAAM;UACN8C,qBAAqB;UACrBlB,GAAG,EAAGA,GAAK;UACXc,SAAS,EAAC,oCAAoC;UAC9CO,KAAK,EAAG;YACPC,SAAS,EAAE,YAAY;YACvBC,YAAY,EAAE;UACf,CAAG;UAAA,IACI,CAAEa,YAAY,GAClB;YACAjB,IAAI,EAAElB,aAAa;YACnBmB,KAAK,EAAE5C,EAAE,CAAE,qBAAsB;UACjC,CAAC,GACD;YACAsD,OAAO,EAAEA,CAAA,KAAM;cACdI,OAAO,CAACK,IAAI,CAAE,CAAC,CAAE,CAAC;cAClBJ,QAAQ,CAAE,MAAO,CAAC;YACnB,CAAC;YACDf,KAAK,EAAE5C,EAAE,CAAE,mBAAoB;UAC/B,CAAC;UAAAuC,QAAA,eAEJpB,IAAA,CAACL,QAAQ;YAACwB,SAAS,EAAC;UAAyC,CAAE;QAAC,CACzD;MAAC,CACL,CAAC,eAENjB,KAAA,CAACvB,MAAM;QAAAyC,QAAA,gBACNpB,IAAA;UAAKmB,SAAS,EAAC,2BAA2B;UAAAC,QAAA,eACzCpB,IAAA,CAACvB,MAAM;YACN8C,qBAAqB;YACrBM,OAAO,EAAC,MAAM;YACdL,IAAI,EAAGjB,OAAS;YAChBuB,MAAM,EAAC,QAAQ;YACfL,KAAK,EAAG5C,EAAE,CAAE,gCAAiC,CAAG;YAAAuC,QAAA,EAE9CpC,cAAc,CAAEwB,SAAU;UAAC,CACtB;QAAC,CACL,CAAC,eACNR,IAAA,CAACrB,MAAM;UACN2C,OAAO,EAAG,CAAG;UACbU,QAAQ,EAAG,KAAO;UAClBb,SAAS,EAAC,6BAA6B;UAAAC,QAAA,eAEvCpB,IAAA,CAACvB,MAAM;YACN8C,qBAAqB;YACrBJ,SAAS,EAAC,0CAA0C;YACpDe,IAAI,EAAG9C,MAAQ;YACf+C,OAAO,EAAGA,CAAA,KAAMjB,iBAAiB,CAAC,CAAG;YACrCO,KAAK,EAAG5C,EAAE,CAAE,sBAAuB,CAAG;YACtCuD,QAAQ,EAAG9C,eAAe,CAAC+C,OAAO,CAAE,GAAI;UAAG,CAC3C;QAAC,CACK,CAAC;MAAA,CACF,CAAC;IAAA,CACF;EAAC,CACL,CAAC;AAER,CAAE,CACH,CAAC","ignoreList":[]}
@@ -63,6 +63,10 @@ export const STYLE_BOOK_THEME_SUBCATEGORIES = [{
63
63
  blocks: ['core/comments-title', 'core/comments-pagination', 'core/comments-pagination-numbers', 'core/comments', 'core/comments-author-name', 'core/comment-content', 'core/comment-date', 'core/comment-edit-link', 'core/comment-reply-link', 'core/comment-template', 'core/post-comments-count', 'core/post-comments-link']
64
64
  }];
65
65
  export const STYLE_BOOK_CATEGORIES = [{
66
+ slug: 'overview',
67
+ title: __('Overview'),
68
+ blocks: []
69
+ }, {
66
70
  slug: 'text',
67
71
  title: __('Text'),
68
72
  blocks: ['core/post-content', 'core/home-link', 'core/navigation-link']
@@ -194,16 +198,19 @@ export const STYLE_BOOK_IFRAME_STYLES = `
194
198
  .edit-site-style-book__example-preview {
195
199
  width: 100%;
196
200
  }
201
+
202
+ .is-wide .edit-site-style-book__example-preview {
203
+ width: calc(100% - 120px);
204
+ }
197
205
 
198
206
  .edit-site-style-book__example-preview .block-editor-block-list__insertion-point,
199
207
  .edit-site-style-book__example-preview .block-list-appender {
200
208
  display: none;
201
209
  }
202
-
203
- .edit-site-style-book__example-preview .is-root-container > .wp-block:first-child {
210
+ :where(.is-root-container > .wp-block:first-child) {
204
211
  margin-top: 0;
205
212
  }
206
- .edit-site-style-book__example-preview .is-root-container > .wp-block:last-child {
213
+ :where(.is-root-container > .wp-block:last-child) {
207
214
  margin-bottom: 0;
208
215
  }
209
216
  `;
@@ -1 +1 @@
1
- {"version":3,"names":["__","STYLE_BOOK_COLOR_GROUPS","slug","title","origin","type","STYLE_BOOK_THEME_SUBCATEGORIES","blocks","exclude","STYLE_BOOK_CATEGORIES","subcategories","include","ROOT_CONTAINER","STYLE_BOOK_IFRAME_STYLES"],"sources":["@wordpress/edit-site/src/components/style-book/constants.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { StyleBookCategory, StyleBookColorGroup } from './types';\n\nexport const STYLE_BOOK_COLOR_GROUPS: StyleBookColorGroup[] = [\n\t{\n\t\tslug: 'theme-colors',\n\t\ttitle: __( 'Theme Colors' ),\n\t\torigin: 'theme',\n\t\ttype: 'colors',\n\t},\n\t{\n\t\tslug: 'theme-gradients',\n\t\ttitle: __( 'Theme Gradients' ),\n\t\torigin: 'theme',\n\t\ttype: 'gradients',\n\t},\n\t{\n\t\tslug: 'custom-colors',\n\t\ttitle: __( 'Custom Colors' ),\n\t\torigin: 'custom',\n\t\ttype: 'colors',\n\t},\n\t{\n\t\tslug: 'custom-gradients',\n\t\ttitle: __( 'Custom Gradients' ),\n\t\torigin: 'custom', // User.\n\t\ttype: 'gradients',\n\t},\n\t{\n\t\tslug: 'duotones',\n\t\ttitle: __( 'Duotones' ),\n\t\torigin: 'theme',\n\t\ttype: 'duotones',\n\t},\n\t{\n\t\tslug: 'default-colors',\n\t\ttitle: __( 'Default Colors' ),\n\t\torigin: 'default',\n\t\ttype: 'colors',\n\t},\n\t{\n\t\tslug: 'default-gradients',\n\t\ttitle: __( 'Default Gradients' ),\n\t\torigin: 'default',\n\t\ttype: 'gradients',\n\t},\n];\n\nexport const STYLE_BOOK_THEME_SUBCATEGORIES: Omit<\n\tStyleBookCategory,\n\t'subcategories'\n>[] = [\n\t{\n\t\tslug: 'site-identity',\n\t\ttitle: __( 'Site Identity' ),\n\t\tblocks: [ 'core/site-logo', 'core/site-title', 'core/site-tagline' ],\n\t},\n\t{\n\t\tslug: 'design',\n\t\ttitle: __( 'Design' ),\n\t\tblocks: [ 'core/navigation', 'core/avatar', 'core/post-time-to-read' ],\n\t\texclude: [ 'core/home-link', 'core/navigation-link' ],\n\t},\n\t{\n\t\tslug: 'posts',\n\t\ttitle: __( 'Posts' ),\n\t\tblocks: [\n\t\t\t'core/post-title',\n\t\t\t'core/post-excerpt',\n\t\t\t'core/post-author',\n\t\t\t'core/post-author-name',\n\t\t\t'core/post-author-biography',\n\t\t\t'core/post-date',\n\t\t\t'core/post-terms',\n\t\t\t'core/term-description',\n\t\t\t'core/query-title',\n\t\t\t'core/query-no-results',\n\t\t\t'core/query-pagination',\n\t\t\t'core/query-numbers',\n\t\t],\n\t},\n\t{\n\t\tslug: 'comments',\n\t\ttitle: __( 'Comments' ),\n\t\tblocks: [\n\t\t\t'core/comments-title',\n\t\t\t'core/comments-pagination',\n\t\t\t'core/comments-pagination-numbers',\n\t\t\t'core/comments',\n\t\t\t'core/comments-author-name',\n\t\t\t'core/comment-content',\n\t\t\t'core/comment-date',\n\t\t\t'core/comment-edit-link',\n\t\t\t'core/comment-reply-link',\n\t\t\t'core/comment-template',\n\t\t\t'core/post-comments-count',\n\t\t\t'core/post-comments-link',\n\t\t],\n\t},\n];\n\nexport const STYLE_BOOK_CATEGORIES: StyleBookCategory[] = [\n\t{\n\t\tslug: 'text',\n\t\ttitle: __( 'Text' ),\n\t\tblocks: [\n\t\t\t'core/post-content',\n\t\t\t'core/home-link',\n\t\t\t'core/navigation-link',\n\t\t],\n\t},\n\t{\n\t\tslug: 'colors',\n\t\ttitle: __( 'Colors' ),\n\t\tblocks: [],\n\t},\n\t{\n\t\tslug: 'theme',\n\t\ttitle: __( 'Theme' ),\n\t\tsubcategories: STYLE_BOOK_THEME_SUBCATEGORIES,\n\t},\n\t{\n\t\tslug: 'media',\n\t\ttitle: __( 'Media' ),\n\t\tblocks: [ 'core/post-featured-image' ],\n\t},\n\t{\n\t\tslug: 'widgets',\n\t\ttitle: __( 'Widgets' ),\n\t\tblocks: [],\n\t},\n\t{\n\t\tslug: 'embed',\n\t\ttitle: __( 'Embeds' ),\n\t\tinclude: [],\n\t},\n];\n\n// Forming a \"block formatting context\" to prevent margin collapsing.\n// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\nconst ROOT_CONTAINER = `\n\t.is-root-container {\n\t\tdisplay: flow-root;\n\t}\n`;\n// The content area of the Style Book is rendered within an iframe so that global styles\n// are applied to elements within the entire content area. To support elements that are\n// not part of the block previews, such as headings and layout for the block previews,\n// additional CSS rules need to be passed into the iframe. These are hard-coded below.\n// Note that button styles are unset, and then focus rules from the `Button` component are\n// applied to the `button` element, targeted via `.edit-site-style-book__example`.\n// This is to ensure that browser default styles for buttons are not applied to the previews.\nexport const STYLE_BOOK_IFRAME_STYLES = `\n\tbody {\n\t\tposition: relative;\n\t\tpadding: 32px !important;\n\t}\n\n\t${ ROOT_CONTAINER }\n\n\t.edit-site-style-book__examples {\n\t\tmax-width: 1200px;\n\t\tmargin: 0 auto;\n\t}\n\n\t.edit-site-style-book__example {\n\t max-width: 900px;\n\t\tborder-radius: 2px;\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 40px;\n\t\tpadding: 16px;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\tscroll-margin-top: 32px;\n\t\tscroll-margin-bottom: 32px;\n\t\tmargin: 0 auto 40px auto;\n\t}\n\n\t.edit-site-style-book__example.is-selected {\n\t\tbox-shadow: 0 0 0 1px var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t}\n\n\t.edit-site-style-book__example.is-disabled-example {\n\t\tpointer-events: none;\n\t}\n\n\t.edit-site-style-book__example:focus:not(:disabled) {\n\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t\toutline: 3px solid transparent;\n\t}\n\n\t.edit-site-style-book__duotone-example > div:first-child {\n\t\tdisplay: flex;\n\t\taspect-ratio: 16 / 9;\n\t\tgrid-row: span 1;\n\t\tgrid-column: span 2;\n\t}\n\t.edit-site-style-book__duotone-example img {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-fit: cover;\n\t}\n\t.edit-site-style-book__duotone-example > div:not(:first-child) {\n\t\theight: 20px;\n\t\tborder: 1px solid #ddd;\n\t}\n\n\t.edit-site-style-book__color-example {\n\t\theight: 52px;\n\t\tborder: 1px solid #ddd;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example {\n\t\tflex-direction: row;\n\t}\n\n\t.edit-site-style-book__subcategory-title,\n\t.edit-site-style-book__example-title {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\tfont-size: 11px;\n\t\tfont-weight: 500;\n\t\tline-height: normal;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\ttext-transform: uppercase;\n\t}\n\n\t.edit-site-style-book__subcategory-title {\n\t\tfont-size: 16px;\n\t\tmargin-bottom: 40px;\n \tborder-bottom: 1px solid #ddd;\n \tpadding-bottom: 8px;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example-title {\n\t\ttext-align: right;\n\t\twidth: 120px;\n\t}\n\n\t.edit-site-style-book__example-preview {\n\t\twidth: 100%;\n\t}\n\n\t.edit-site-style-book__example-preview .block-editor-block-list__insertion-point,\n\t.edit-site-style-book__example-preview .block-list-appender {\n\t\tdisplay: none;\n\t}\n\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:first-child {\n\t\tmargin-top: 0;\n\t}\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:last-child {\n\t\tmargin-bottom: 0;\n\t}\n`;\n"],"mappings":"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CA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAG;AACxC;AACA;AACA;AACA;AACA;AACA,GAAID,cAAc;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__","STYLE_BOOK_COLOR_GROUPS","slug","title","origin","type","STYLE_BOOK_THEME_SUBCATEGORIES","blocks","exclude","STYLE_BOOK_CATEGORIES","subcategories","include","ROOT_CONTAINER","STYLE_BOOK_IFRAME_STYLES"],"sources":["@wordpress/edit-site/src/components/style-book/constants.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { StyleBookCategory, StyleBookColorGroup } from './types';\n\nexport const STYLE_BOOK_COLOR_GROUPS: StyleBookColorGroup[] = [\n\t{\n\t\tslug: 'theme-colors',\n\t\ttitle: __( 'Theme Colors' ),\n\t\torigin: 'theme',\n\t\ttype: 'colors',\n\t},\n\t{\n\t\tslug: 'theme-gradients',\n\t\ttitle: __( 'Theme Gradients' ),\n\t\torigin: 'theme',\n\t\ttype: 'gradients',\n\t},\n\t{\n\t\tslug: 'custom-colors',\n\t\ttitle: __( 'Custom Colors' ),\n\t\torigin: 'custom',\n\t\ttype: 'colors',\n\t},\n\t{\n\t\tslug: 'custom-gradients',\n\t\ttitle: __( 'Custom Gradients' ),\n\t\torigin: 'custom', // User.\n\t\ttype: 'gradients',\n\t},\n\t{\n\t\tslug: 'duotones',\n\t\ttitle: __( 'Duotones' ),\n\t\torigin: 'theme',\n\t\ttype: 'duotones',\n\t},\n\t{\n\t\tslug: 'default-colors',\n\t\ttitle: __( 'Default Colors' ),\n\t\torigin: 'default',\n\t\ttype: 'colors',\n\t},\n\t{\n\t\tslug: 'default-gradients',\n\t\ttitle: __( 'Default Gradients' ),\n\t\torigin: 'default',\n\t\ttype: 'gradients',\n\t},\n];\n\nexport const STYLE_BOOK_THEME_SUBCATEGORIES: Omit<\n\tStyleBookCategory,\n\t'subcategories'\n>[] = [\n\t{\n\t\tslug: 'site-identity',\n\t\ttitle: __( 'Site Identity' ),\n\t\tblocks: [ 'core/site-logo', 'core/site-title', 'core/site-tagline' ],\n\t},\n\t{\n\t\tslug: 'design',\n\t\ttitle: __( 'Design' ),\n\t\tblocks: [ 'core/navigation', 'core/avatar', 'core/post-time-to-read' ],\n\t\texclude: [ 'core/home-link', 'core/navigation-link' ],\n\t},\n\t{\n\t\tslug: 'posts',\n\t\ttitle: __( 'Posts' ),\n\t\tblocks: [\n\t\t\t'core/post-title',\n\t\t\t'core/post-excerpt',\n\t\t\t'core/post-author',\n\t\t\t'core/post-author-name',\n\t\t\t'core/post-author-biography',\n\t\t\t'core/post-date',\n\t\t\t'core/post-terms',\n\t\t\t'core/term-description',\n\t\t\t'core/query-title',\n\t\t\t'core/query-no-results',\n\t\t\t'core/query-pagination',\n\t\t\t'core/query-numbers',\n\t\t],\n\t},\n\t{\n\t\tslug: 'comments',\n\t\ttitle: __( 'Comments' ),\n\t\tblocks: [\n\t\t\t'core/comments-title',\n\t\t\t'core/comments-pagination',\n\t\t\t'core/comments-pagination-numbers',\n\t\t\t'core/comments',\n\t\t\t'core/comments-author-name',\n\t\t\t'core/comment-content',\n\t\t\t'core/comment-date',\n\t\t\t'core/comment-edit-link',\n\t\t\t'core/comment-reply-link',\n\t\t\t'core/comment-template',\n\t\t\t'core/post-comments-count',\n\t\t\t'core/post-comments-link',\n\t\t],\n\t},\n];\n\nexport const STYLE_BOOK_CATEGORIES: StyleBookCategory[] = [\n\t{\n\t\tslug: 'overview',\n\t\ttitle: __( 'Overview' ),\n\t\tblocks: [],\n\t},\n\t{\n\t\tslug: 'text',\n\t\ttitle: __( 'Text' ),\n\t\tblocks: [\n\t\t\t'core/post-content',\n\t\t\t'core/home-link',\n\t\t\t'core/navigation-link',\n\t\t],\n\t},\n\t{\n\t\tslug: 'colors',\n\t\ttitle: __( 'Colors' ),\n\t\tblocks: [],\n\t},\n\t{\n\t\tslug: 'theme',\n\t\ttitle: __( 'Theme' ),\n\t\tsubcategories: STYLE_BOOK_THEME_SUBCATEGORIES,\n\t},\n\t{\n\t\tslug: 'media',\n\t\ttitle: __( 'Media' ),\n\t\tblocks: [ 'core/post-featured-image' ],\n\t},\n\t{\n\t\tslug: 'widgets',\n\t\ttitle: __( 'Widgets' ),\n\t\tblocks: [],\n\t},\n\t{\n\t\tslug: 'embed',\n\t\ttitle: __( 'Embeds' ),\n\t\tinclude: [],\n\t},\n];\n\n// Forming a \"block formatting context\" to prevent margin collapsing.\n// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\nconst ROOT_CONTAINER = `\n\t.is-root-container {\n\t\tdisplay: flow-root;\n\t}\n`;\n// The content area of the Style Book is rendered within an iframe so that global styles\n// are applied to elements within the entire content area. To support elements that are\n// not part of the block previews, such as headings and layout for the block previews,\n// additional CSS rules need to be passed into the iframe. These are hard-coded below.\n// Note that button styles are unset, and then focus rules from the `Button` component are\n// applied to the `button` element, targeted via `.edit-site-style-book__example`.\n// This is to ensure that browser default styles for buttons are not applied to the previews.\nexport const STYLE_BOOK_IFRAME_STYLES = `\n\tbody {\n\t\tposition: relative;\n\t\tpadding: 32px !important;\n\t}\n\n\t${ ROOT_CONTAINER }\n\n\t.edit-site-style-book__examples {\n\t\tmax-width: 1200px;\n\t\tmargin: 0 auto;\n\t}\n\n\t.edit-site-style-book__example {\n\t max-width: 900px;\n\t\tborder-radius: 2px;\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 40px;\n\t\tpadding: 16px;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\tscroll-margin-top: 32px;\n\t\tscroll-margin-bottom: 32px;\n\t\tmargin: 0 auto 40px auto;\n\t}\n\n\t.edit-site-style-book__example.is-selected {\n\t\tbox-shadow: 0 0 0 1px var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t}\n\n\t.edit-site-style-book__example.is-disabled-example {\n\t\tpointer-events: none;\n\t}\n\n\t.edit-site-style-book__example:focus:not(:disabled) {\n\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t\toutline: 3px solid transparent;\n\t}\n\n\t.edit-site-style-book__duotone-example > div:first-child {\n\t\tdisplay: flex;\n\t\taspect-ratio: 16 / 9;\n\t\tgrid-row: span 1;\n\t\tgrid-column: span 2;\n\t}\n\t.edit-site-style-book__duotone-example img {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-fit: cover;\n\t}\n\t.edit-site-style-book__duotone-example > div:not(:first-child) {\n\t\theight: 20px;\n\t\tborder: 1px solid #ddd;\n\t}\n\n\t.edit-site-style-book__color-example {\n\t\theight: 52px;\n\t\tborder: 1px solid #ddd;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example {\n\t\tflex-direction: row;\n\t}\n\n\t.edit-site-style-book__subcategory-title,\n\t.edit-site-style-book__example-title {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\tfont-size: 11px;\n\t\tfont-weight: 500;\n\t\tline-height: normal;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\ttext-transform: uppercase;\n\t}\n\n\t.edit-site-style-book__subcategory-title {\n\t\tfont-size: 16px;\n\t\tmargin-bottom: 40px;\n \tborder-bottom: 1px solid #ddd;\n \tpadding-bottom: 8px;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example-title {\n\t\ttext-align: right;\n\t\twidth: 120px;\n\t}\n\n\t.edit-site-style-book__example-preview {\n\t\twidth: 100%;\n\t}\n\t\n\t.is-wide .edit-site-style-book__example-preview {\n\t\twidth: calc(100% - 120px);\n\t}\n\n\t.edit-site-style-book__example-preview .block-editor-block-list__insertion-point,\n\t.edit-site-style-book__example-preview .block-list-appender {\n\t\tdisplay: none;\n\t}\n\t:where(.is-root-container > .wp-block:first-child) {\n\t\tmargin-top: 0;\n\t}\n\t:where(.is-root-container > .wp-block:last-child) {\n\t\tmargin-bottom: 0;\n\t}\n`;\n"],"mappings":"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AAE,QAAS,CAAC;EACrBW,OAAO,EAAE;AACV,CAAC,CACD;;AAED;AACA;AACA,MAAMC,cAAc,GAAG;AACvB;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAG;AACxC;AACA;AACA;AACA;AACA;AACA,GAAID,cAAc;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
@@ -50,6 +50,75 @@ function getColorExamples(colors) {
50
50
  return examples;
51
51
  }
52
52
 
53
+ /**
54
+ * Returns examples for the overview page.
55
+ *
56
+ * @param {MultiOriginPalettes} colors Global Styles color palettes per origin.
57
+ * @return {BlockExample[]} An array of block examples.
58
+ */
59
+ function getOverviewBlockExamples(colors) {
60
+ const examples = [];
61
+
62
+ // Get theme palette from colors.
63
+ const themePalette = colors.colors.find(origin => origin.slug === 'theme');
64
+ if (themePalette) {
65
+ const themeColorexample = {
66
+ name: 'theme-colors',
67
+ title: __('Colors'),
68
+ category: 'overview',
69
+ content: /*#__PURE__*/_jsx(ColorExamples, {
70
+ colors: themePalette.colors,
71
+ type: colors
72
+ })
73
+ };
74
+ examples.push(themeColorexample);
75
+ }
76
+ const headingBlock = createBlock('core/heading', {
77
+ content: __(`AaBbCcDdEeFfGgHhiiJjKkLIMmNnOoPpQakRrssTtUuVVWwXxxYyZzOl23356789X{(…)},2!*&:/A@HELFO™`),
78
+ level: 1
79
+ });
80
+ const firstParagraphBlock = createBlock('core/paragraph', {
81
+ content: __(`A paragraph in a website refers to a distinct block of text that is used to present and organize information. It is a fundamental unit of content in web design and is typically composed of a group of related sentences or thoughts focused on a particular topic or idea. Paragraphs play a crucial role in improving the readability and user experience of a website. They break down the text into smaller, manageable chunks, allowing readers to scan the content more easily.`)
82
+ });
83
+ const secondParagraphBlock = createBlock('core/paragraph', {
84
+ content: __(`Additionally, paragraphs help structure the flow of information and provide logical breaks between different concepts or pieces of information. In terms of formatting, paragraphs in websites are commonly denoted by a vertical gap or indentation between each block of text. This visual separation helps visually distinguish one paragraph from another, creating a clear and organized layout that guides the reader through the content smoothly.`)
85
+ });
86
+ const textExample = {
87
+ name: 'typography',
88
+ title: __('Typography'),
89
+ category: 'overview',
90
+ blocks: [headingBlock, createBlock('core/group', {
91
+ layout: {
92
+ type: 'grid',
93
+ columnCount: 2,
94
+ minimumColumnWidth: '12rem'
95
+ },
96
+ style: {
97
+ spacing: {
98
+ blockGap: '1.5rem'
99
+ }
100
+ }
101
+ }, [firstParagraphBlock, secondParagraphBlock])]
102
+ };
103
+ examples.push(textExample);
104
+ const otherBlockExamples = ['core/image', 'core/separator', 'core/buttons', 'core/pullquote', 'core/search'];
105
+
106
+ // Get examples for other blocks and put them in order of above array.
107
+ otherBlockExamples.forEach(blockName => {
108
+ const blockType = getBlockType(blockName);
109
+ if (blockType && blockType.example) {
110
+ const blockExample = {
111
+ name: blockName,
112
+ title: blockType.title,
113
+ category: 'overview',
114
+ blocks: getBlockFromExample(blockName, blockType.example)
115
+ };
116
+ examples.push(blockExample);
117
+ }
118
+ });
119
+ return examples;
120
+ }
121
+
53
122
  /**
54
123
  * Returns a list of examples for registered block types.
55
124
  *
@@ -91,6 +160,7 @@ export function getExamples(colors) {
91
160
  })
92
161
  };
93
162
  const colorExamples = getColorExamples(colors);
94
- return [headingsExample, ...colorExamples, ...nonHeadingBlockExamples];
163
+ const overviewBlockExamples = getOverviewBlockExamples(colors);
164
+ return [headingsExample, ...colorExamples, ...nonHeadingBlockExamples, ...overviewBlockExamples];
95
165
  }
96
166
  //# sourceMappingURL=examples.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","getBlockType","getBlockTypes","getBlockFromExample","createBlock","ColorExamples","DuotoneExamples","STYLE_BOOK_COLOR_GROUPS","jsx","_jsx","getColorExamples","colors","examples","forEach","group","palette","type","find","origin","slug","example","name","title","category","content","duotones","push","getExamples","nonHeadingBlockExamples","filter","blockType","supports","inserter","map","blocks","isHeadingBlockRegistered","headingsExample","level","colorExamples"],"sources":["@wordpress/edit-site/src/components/style-book/examples.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetBlockTypes,\n\tgetBlockFromExample,\n\tcreateBlock,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport type { BlockExample, ColorOrigin, MultiOriginPalettes } from './types';\nimport ColorExamples from './color-examples';\nimport DuotoneExamples from './duotone-examples';\nimport { STYLE_BOOK_COLOR_GROUPS } from './constants';\n\n/**\n * Returns examples color examples for each origin\n * e.g. Core (Default), Theme, and User.\n *\n * @param {MultiOriginPalettes} colors Global Styles color palettes per origin.\n * @return {BlockExample[]} An array of color block examples.\n */\nfunction getColorExamples( colors: MultiOriginPalettes ): BlockExample[] {\n\tif ( ! colors ) {\n\t\treturn [];\n\t}\n\n\tconst examples: BlockExample[] = [];\n\n\tSTYLE_BOOK_COLOR_GROUPS.forEach( ( group ) => {\n\t\tconst palette = colors[ group.type ].find(\n\t\t\t( origin: ColorOrigin ) => origin.slug === group.origin\n\t\t);\n\n\t\tif ( palette?.[ group.type ] ) {\n\t\t\tconst example: BlockExample = {\n\t\t\t\tname: group.slug,\n\t\t\t\ttitle: group.title,\n\t\t\t\tcategory: 'colors',\n\t\t\t};\n\t\t\tif ( group.type === 'duotones' ) {\n\t\t\t\texample.content = (\n\t\t\t\t\t<DuotoneExamples duotones={ palette[ group.type ] } />\n\t\t\t\t);\n\t\t\t\texamples.push( example );\n\t\t\t} else {\n\t\t\t\texample.content = (\n\t\t\t\t\t<ColorExamples\n\t\t\t\t\t\tcolors={ palette[ group.type ] }\n\t\t\t\t\t\ttype={ group.type }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t\texamples.push( example );\n\t\t\t}\n\t\t}\n\t} );\n\n\treturn examples;\n}\n\n/**\n * Returns a list of examples for registered block types.\n *\n * @param {MultiOriginPalettes} colors Global styles colors grouped by origin e.g. Core, Theme, and User.\n * @return {BlockExample[]} An array of block examples.\n */\nexport function getExamples( colors: MultiOriginPalettes ): BlockExample[] {\n\tconst nonHeadingBlockExamples = getBlockTypes()\n\t\t.filter( ( blockType ) => {\n\t\t\tconst { name, example, supports } = blockType;\n\t\t\treturn (\n\t\t\t\tname !== 'core/heading' &&\n\t\t\t\t!! example &&\n\t\t\t\tsupports?.inserter !== false\n\t\t\t);\n\t\t} )\n\t\t.map( ( blockType ) => ( {\n\t\t\tname: blockType.name,\n\t\t\ttitle: blockType.title,\n\t\t\tcategory: blockType.category,\n\t\t\tblocks: getBlockFromExample( blockType.name, blockType.example ),\n\t\t} ) );\n\tconst isHeadingBlockRegistered = !! getBlockType( 'core/heading' );\n\n\tif ( ! isHeadingBlockRegistered ) {\n\t\treturn nonHeadingBlockExamples;\n\t}\n\n\t// Use our own example for the Heading block so that we can show multiple\n\t// heading levels.\n\tconst headingsExample = {\n\t\tname: 'core/heading',\n\t\ttitle: __( 'Headings' ),\n\t\tcategory: 'text',\n\t\tblocks: [ 1, 2, 3, 4, 5, 6 ].map( ( level ) => {\n\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\tcontent: sprintf(\n\t\t\t\t\t// translators: %d: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\t\t\t__( 'Heading %d' ),\n\t\t\t\t\tlevel\n\t\t\t\t),\n\t\t\t\tlevel,\n\t\t\t} );\n\t\t} ),\n\t};\n\tconst colorExamples = getColorExamples( colors );\n\n\treturn [ headingsExample, ...colorExamples, ...nonHeadingBlockExamples ];\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","sprintf","getBlockType","getBlockTypes","getBlockFromExample","createBlock","ColorExamples","DuotoneExamples","STYLE_BOOK_COLOR_GROUPS","jsx","_jsx","getColorExamples","colors","examples","forEach","group","palette","type","find","origin","slug","example","name","title","category","content","duotones","push","getOverviewBlockExamples","themePalette","themeColorexample","headingBlock","level","firstParagraphBlock","secondParagraphBlock","textExample","blocks","layout","columnCount","minimumColumnWidth","style","spacing","blockGap","otherBlockExamples","blockName","blockType","blockExample","getExamples","nonHeadingBlockExamples","filter","supports","inserter","map","isHeadingBlockRegistered","headingsExample","colorExamples","overviewBlockExamples"],"sources":["@wordpress/edit-site/src/components/style-book/examples.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetBlockTypes,\n\tgetBlockFromExample,\n\tcreateBlock,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport type { BlockExample, ColorOrigin, MultiOriginPalettes } from './types';\nimport ColorExamples from './color-examples';\nimport DuotoneExamples from './duotone-examples';\nimport { STYLE_BOOK_COLOR_GROUPS } from './constants';\n\n/**\n * Returns examples color examples for each origin\n * e.g. Core (Default), Theme, and User.\n *\n * @param {MultiOriginPalettes} colors Global Styles color palettes per origin.\n * @return {BlockExample[]} An array of color block examples.\n */\nfunction getColorExamples( colors: MultiOriginPalettes ): BlockExample[] {\n\tif ( ! colors ) {\n\t\treturn [];\n\t}\n\n\tconst examples: BlockExample[] = [];\n\n\tSTYLE_BOOK_COLOR_GROUPS.forEach( ( group ) => {\n\t\tconst palette = colors[ group.type ].find(\n\t\t\t( origin: ColorOrigin ) => origin.slug === group.origin\n\t\t);\n\n\t\tif ( palette?.[ group.type ] ) {\n\t\t\tconst example: BlockExample = {\n\t\t\t\tname: group.slug,\n\t\t\t\ttitle: group.title,\n\t\t\t\tcategory: 'colors',\n\t\t\t};\n\t\t\tif ( group.type === 'duotones' ) {\n\t\t\t\texample.content = (\n\t\t\t\t\t<DuotoneExamples duotones={ palette[ group.type ] } />\n\t\t\t\t);\n\t\t\t\texamples.push( example );\n\t\t\t} else {\n\t\t\t\texample.content = (\n\t\t\t\t\t<ColorExamples\n\t\t\t\t\t\tcolors={ palette[ group.type ] }\n\t\t\t\t\t\ttype={ group.type }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t\texamples.push( example );\n\t\t\t}\n\t\t}\n\t} );\n\n\treturn examples;\n}\n\n/**\n * Returns examples for the overview page.\n *\n * @param {MultiOriginPalettes} colors Global Styles color palettes per origin.\n * @return {BlockExample[]} An array of block examples.\n */\nfunction getOverviewBlockExamples(\n\tcolors: MultiOriginPalettes\n): BlockExample[] {\n\tconst examples: BlockExample[] = [];\n\n\t// Get theme palette from colors.\n\tconst themePalette = colors.colors.find(\n\t\t( origin: ColorOrigin ) => origin.slug === 'theme'\n\t);\n\n\tif ( themePalette ) {\n\t\tconst themeColorexample: BlockExample = {\n\t\t\tname: 'theme-colors',\n\t\t\ttitle: __( 'Colors' ),\n\t\t\tcategory: 'overview',\n\t\t\tcontent: (\n\t\t\t\t<ColorExamples colors={ themePalette.colors } type={ colors } />\n\t\t\t),\n\t\t};\n\n\t\texamples.push( themeColorexample );\n\t}\n\n\tconst headingBlock = createBlock( 'core/heading', {\n\t\tcontent: __(\n\t\t\t`AaBbCcDdEeFfGgHhiiJjKkLIMmNnOoPpQakRrssTtUuVVWwXxxYyZzOl23356789X{(…)},2!*&:/A@HELFO™`\n\t\t),\n\t\tlevel: 1,\n\t} );\n\tconst firstParagraphBlock = createBlock( 'core/paragraph', {\n\t\tcontent: __(\n\t\t\t`A paragraph in a website refers to a distinct block of text that is used to present and organize information. It is a fundamental unit of content in web design and is typically composed of a group of related sentences or thoughts focused on a particular topic or idea. Paragraphs play a crucial role in improving the readability and user experience of a website. They break down the text into smaller, manageable chunks, allowing readers to scan the content more easily.`\n\t\t),\n\t} );\n\tconst secondParagraphBlock = createBlock( 'core/paragraph', {\n\t\tcontent: __(\n\t\t\t`Additionally, paragraphs help structure the flow of information and provide logical breaks between different concepts or pieces of information. In terms of formatting, paragraphs in websites are commonly denoted by a vertical gap or indentation between each block of text. This visual separation helps visually distinguish one paragraph from another, creating a clear and organized layout that guides the reader through the content smoothly.`\n\t\t),\n\t} );\n\n\tconst textExample = {\n\t\tname: 'typography',\n\t\ttitle: __( 'Typography' ),\n\t\tcategory: 'overview',\n\t\tblocks: [\n\t\t\theadingBlock,\n\t\t\tcreateBlock(\n\t\t\t\t'core/group',\n\t\t\t\t{\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\ttype: 'grid',\n\t\t\t\t\t\tcolumnCount: 2,\n\t\t\t\t\t\tminimumColumnWidth: '12rem',\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tspacing: {\n\t\t\t\t\t\t\tblockGap: '1.5rem',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t[ firstParagraphBlock, secondParagraphBlock ]\n\t\t\t),\n\t\t],\n\t};\n\texamples.push( textExample );\n\n\tconst otherBlockExamples = [\n\t\t'core/image',\n\t\t'core/separator',\n\t\t'core/buttons',\n\t\t'core/pullquote',\n\t\t'core/search',\n\t];\n\n\t// Get examples for other blocks and put them in order of above array.\n\totherBlockExamples.forEach( ( blockName ) => {\n\t\tconst blockType = getBlockType( blockName );\n\t\tif ( blockType && blockType.example ) {\n\t\t\tconst blockExample: BlockExample = {\n\t\t\t\tname: blockName,\n\t\t\t\ttitle: blockType.title,\n\t\t\t\tcategory: 'overview',\n\t\t\t\tblocks: getBlockFromExample( blockName, blockType.example ),\n\t\t\t};\n\t\t\texamples.push( blockExample );\n\t\t}\n\t} );\n\n\treturn examples;\n}\n\n/**\n * Returns a list of examples for registered block types.\n *\n * @param {MultiOriginPalettes} colors Global styles colors grouped by origin e.g. Core, Theme, and User.\n * @return {BlockExample[]} An array of block examples.\n */\nexport function getExamples( colors: MultiOriginPalettes ): BlockExample[] {\n\tconst nonHeadingBlockExamples = getBlockTypes()\n\t\t.filter( ( blockType ) => {\n\t\t\tconst { name, example, supports } = blockType;\n\t\t\treturn (\n\t\t\t\tname !== 'core/heading' &&\n\t\t\t\t!! example &&\n\t\t\t\tsupports?.inserter !== false\n\t\t\t);\n\t\t} )\n\t\t.map( ( blockType ) => ( {\n\t\t\tname: blockType.name,\n\t\t\ttitle: blockType.title,\n\t\t\tcategory: blockType.category,\n\t\t\tblocks: getBlockFromExample( blockType.name, blockType.example ),\n\t\t} ) );\n\tconst isHeadingBlockRegistered = !! getBlockType( 'core/heading' );\n\n\tif ( ! isHeadingBlockRegistered ) {\n\t\treturn nonHeadingBlockExamples;\n\t}\n\n\t// Use our own example for the Heading block so that we can show multiple\n\t// heading levels.\n\tconst headingsExample = {\n\t\tname: 'core/heading',\n\t\ttitle: __( 'Headings' ),\n\t\tcategory: 'text',\n\t\tblocks: [ 1, 2, 3, 4, 5, 6 ].map( ( level ) => {\n\t\t\treturn createBlock( 'core/heading', {\n\t\t\t\tcontent: sprintf(\n\t\t\t\t\t// translators: %d: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\t\t\t__( 'Heading %d' ),\n\t\t\t\t\tlevel\n\t\t\t\t),\n\t\t\t\tlevel,\n\t\t\t} );\n\t\t} ),\n\t};\n\tconst colorExamples = getColorExamples( colors );\n\n\tconst overviewBlockExamples = getOverviewBlockExamples( colors );\n\n\treturn [\n\t\theadingsExample,\n\t\t...colorExamples,\n\t\t...nonHeadingBlockExamples,\n\t\t...overviewBlockExamples,\n\t];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,7 @@ import { BlockList, privateApis as blockEditorPrivateApis, store as blockEditorS
12
12
  import { privateApis as editorPrivateApis } from '@wordpress/editor';
13
13
  import { useSelect } from '@wordpress/data';
14
14
  import { useResizeObserver } from '@wordpress/compose';
15
- import { useMemo, useState, memo, useContext } from '@wordpress/element';
15
+ import { useMemo, useState, memo, useContext, useRef, useLayoutEffect } from '@wordpress/element';
16
16
  import { ENTER, SPACE } from '@wordpress/keycodes';
17
17
 
18
18
  /**
@@ -40,6 +40,44 @@ function isObjectEmpty(object) {
40
40
  return !object || Object.keys(object).length === 0;
41
41
  }
42
42
 
43
+ /**
44
+ * Scrolls to a section within an iframe.
45
+ *
46
+ * @param {string} anchorId The id of the element to scroll to.
47
+ * @param {HTMLIFrameElement} iframe The target iframe.
48
+ */
49
+ const scrollToSection = (anchorId, iframe) => {
50
+ if (!iframe || !iframe?.contentDocument) {
51
+ return;
52
+ }
53
+ const element = iframe.contentDocument.getElementById(anchorId);
54
+ if (element) {
55
+ element.scrollIntoView({
56
+ behavior: 'smooth'
57
+ });
58
+ }
59
+ };
60
+
61
+ /**
62
+ * Parses a Block Editor navigation path to extract the block name and
63
+ * build a style book navigation path. The object can be extended to include a category,
64
+ * representing a style book tab/section.
65
+ *
66
+ * @param {string} path An internal Block Editor navigation path.
67
+ * @return {null|{block: string}} An object containing the example to navigate to.
68
+ */
69
+ const getStyleBookNavigationFromPath = path => {
70
+ if (path && typeof path === 'string') {
71
+ let block = path.includes('/blocks/') ? decodeURIComponent(path.split('/blocks/')[1]) : null;
72
+ // Default to theme-colors if the path ends with /colors.
73
+ block = path.endsWith('/colors') ? 'theme-colors' : block;
74
+ return {
75
+ block
76
+ };
77
+ }
78
+ return null;
79
+ };
80
+
43
81
  /**
44
82
  * Retrieves colors, gradients, and duotone filters from Global Styles.
45
83
  * The inclusion of default (Core) palettes is controlled by the relevant
@@ -94,7 +132,8 @@ function StyleBook({
94
132
  showCloseButton = true,
95
133
  onClose,
96
134
  showTabs = true,
97
- userConfig = {}
135
+ userConfig = {},
136
+ path = ''
98
137
  }) {
99
138
  const [resizeObserver, sizes] = useResizeObserver();
100
139
  const [textColor] = useGlobalStyle('color.text');
@@ -102,9 +141,19 @@ function StyleBook({
102
141
  const colors = useMultiOriginPalettes();
103
142
  const examples = useMemo(() => getExamples(colors), [colors]);
104
143
  const tabs = useMemo(() => getTopLevelStyleBookCategories().filter(category => examples.some(example => example.category === category.slug)), [examples]);
144
+ const examplesForSinglePageUse = [];
145
+ const overviewCategoryExamples = getExamplesByCategory({
146
+ slug: 'overview'
147
+ }, examples);
148
+ examplesForSinglePageUse.push(...overviewCategoryExamples.examples);
149
+ const otherExamples = examples.filter(example => {
150
+ return example.category !== 'overview' && !overviewCategoryExamples.examples.find(overviewExample => overviewExample.name === example.name);
151
+ });
152
+ examplesForSinglePageUse.push(...otherExamples);
105
153
  const {
106
154
  base: baseConfig
107
155
  } = useContext(GlobalStylesContext);
156
+ const goTo = getStyleBookNavigationFromPath(path);
108
157
  const mergedConfig = useMemo(() => {
109
158
  if (!isObjectEmpty(userConfig) && !isObjectEmpty(baseConfig)) {
110
159
  return mergeBaseAndUserConfigs(baseConfig, userConfig);
@@ -154,16 +203,18 @@ function StyleBook({
154
203
  onSelect: onSelect,
155
204
  settings: settings,
156
205
  sizes: sizes,
157
- title: tab.title
206
+ title: tab.title,
207
+ goTo: goTo
158
208
  })
159
209
  }, tab.slug))]
160
210
  }) : /*#__PURE__*/_jsx(StyleBookBody, {
161
- examples: examples,
211
+ examples: examplesForSinglePageUse,
162
212
  isSelected: isSelected,
163
213
  onClick: onClick,
164
214
  onSelect: onSelect,
165
215
  settings: settings,
166
- sizes: sizes
216
+ sizes: sizes,
217
+ goTo: goTo
167
218
  })]
168
219
  })
169
220
  });
@@ -176,10 +227,12 @@ const StyleBookBody = ({
176
227
  onSelect,
177
228
  settings,
178
229
  sizes,
179
- title
230
+ title,
231
+ goTo
180
232
  }) => {
181
233
  const [isFocused, setIsFocused] = useState(false);
182
-
234
+ const [hasIframeLoaded, setHasIframeLoaded] = useState(false);
235
+ const iframeRef = useRef(null);
183
236
  // The presence of an `onClick` prop indicates that the Style Book is being used as a button.
184
237
  // In this case, add additional props to the iframe to make it behave like a button.
185
238
  const buttonModeProps = {
@@ -209,7 +262,15 @@ const StyleBookBody = ({
209
262
  },
210
263
  readonly: true
211
264
  };
265
+ const handleLoad = () => setHasIframeLoaded(true);
266
+ useLayoutEffect(() => {
267
+ if (goTo?.block && hasIframeLoaded && iframeRef?.current) {
268
+ scrollToSection(`example-${goTo?.block}`, iframeRef?.current);
269
+ }
270
+ }, [iframeRef?.current, goTo?.block, scrollToSection, hasIframeLoaded]);
212
271
  return /*#__PURE__*/_jsxs(Iframe, {
272
+ onLoad: handleLoad,
273
+ ref: iframeRef,
213
274
  className: clsx('edit-site-style-book__iframe', {
214
275
  'is-focused': isFocused && !!onClick,
215
276
  'is-button': !!onClick
@@ -257,10 +318,8 @@ const Examples = memo(({
257
318
  title: example.title,
258
319
  content: example.content,
259
320
  blocks: example.blocks,
260
- isSelected: isSelected(example.name),
261
- onClick: () => {
262
- onSelect?.(example.name);
263
- }
321
+ isSelected: isSelected?.(example.name),
322
+ onClick: () => onSelect?.(example.name)
264
323
  }, example.name)), !!filteredExamples?.subcategories?.length && filteredExamples.subcategories.map(subcategory => /*#__PURE__*/_jsxs(Composite.Group, {
265
324
  className: "edit-site-style-book__subcategory",
266
325
  children: [/*#__PURE__*/_jsx(Composite.GroupLabel, {
@@ -286,7 +345,7 @@ const Subcategory = ({
286
345
  title: example.title,
287
346
  content: example.content,
288
347
  blocks: example.blocks,
289
- isSelected: isSelected(example.name),
348
+ isSelected: isSelected?.(example.name),
290
349
  onClick: () => {
291
350
  onSelect?.(example.name);
292
351
  }
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","Disabled","Composite","privateApis","componentsPrivateApis","__","_x","sprintf","BlockList","blockEditorPrivateApis","store","blockEditorStore","useSettings","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","editorPrivateApis","useSelect","useResizeObserver","useMemo","useState","memo","useContext","ENTER","SPACE","unlock","EditorCanvasContainer","STYLE_BOOK_IFRAME_STYLES","getExamplesByCategory","getTopLevelStyleBookCategories","getExamples","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","useGlobalStyle","GlobalStylesContext","useGlobalStylesOutputWithConfig","mergeBaseAndUserConfigs","Tabs","isObjectEmpty","object","Object","keys","length","useMultiOriginPalettes","colors","gradients","shouldDisplayDefaultDuotones","customDuotones","themeDuotones","defaultDuotones","palettes","result","duotones","push","name","slug","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","onClose","showTabs","userConfig","resizeObserver","sizes","textColor","backgroundColor","examples","tabs","filter","category","some","example","base","baseConfig","mergedConfig","originalSettings","select","getSettings","globalStyles","settings","styles","isPreviewMode","closeButtonLabel","children","className","width","style","color","background","TabList","map","tab","Tab","tabId","title","TabPanel","focusable","StyleBookBody","isFocused","setIsFocused","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","preventDefault","readonly","tabIndex","Examples","label","categoryDefinition","find","_category","filteredExamples","orientation","Example","id","content","blocks","subcategories","subcategory","Group","GroupLabel","Subcategory","disabledExamples","focusMode","renderedBlocks","Array","isArray","disabledProps","includes","disabled","accessibleWhenDisabled","Item","render","value","renderAppender"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tComposite,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tuseSettings,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo, useState, memo, useContext } from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport { STYLE_BOOK_IFRAME_STYLES } from './constants';\nimport {\n\tgetExamplesByCategory,\n\tgetTopLevelStyleBookCategories,\n} from './categories';\nimport { getExamples } from './examples';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tuseGlobalStyle,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\n/**\n * Retrieves colors, gradients, and duotone filters from Global Styles.\n * The inclusion of default (Core) palettes is controlled by the relevant\n * theme.json property e.g. defaultPalette, defaultGradients, defaultDuotone.\n *\n * @return {Object} Object containing properties for each type of palette.\n */\nfunction useMultiOriginPalettes() {\n\tconst { colors, gradients } = useMultipleOriginColorsAndGradients();\n\n\t// Add duotone filters to the palettes data.\n\tconst [\n\t\tshouldDisplayDefaultDuotones,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t] = useSettings(\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default'\n\t);\n\n\tconst palettes = useMemo( () => {\n\t\tconst result = { colors, gradients, duotones: [] };\n\n\t\tif ( themeDuotones && themeDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates these duotone filters come from the theme.'\n\t\t\t\t),\n\t\t\t\tslug: 'theme',\n\t\t\t\tduotones: themeDuotones,\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tshouldDisplayDefaultDuotones &&\n\t\t\tdefaultDuotones &&\n\t\t\tdefaultDuotones.length\n\t\t) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates these duotone filters come from WordPress.'\n\t\t\t\t),\n\t\t\t\tslug: 'default',\n\t\t\t\tduotones: defaultDuotones,\n\t\t\t} );\n\t\t}\n\t\tif ( customDuotones && customDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates these doutone filters are created by the user.'\n\t\t\t\t),\n\t\t\t\tslug: 'custom',\n\t\t\t\tduotones: customDuotones,\n\t\t\t} );\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tcolors,\n\t\tgradients,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t\tshouldDisplayDefaultDuotones,\n\t] );\n\n\treturn palettes;\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tonClose,\n\tshowTabs = true,\n\tuserConfig = {},\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst colors = useMultiOriginPalettes();\n\tconst examples = useMemo( () => getExamples( colors ), [ colors ] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetTopLevelStyleBookCategories().filter( ( category ) =>\n\t\t\t\texamples.some(\n\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t)\n\t\t\t),\n\t\t[ examples ]\n\t);\n\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\t// Copied from packages/edit-site/src/components/revisions/index.js\n\t// could we create a shared hook?\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles:\n\t\t\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t\t\t? globalStyles\n\t\t\t\t\t: originalSettings.styles,\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ globalStyles, originalSettings, userConfig ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tonClose={ onClose }\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={ showCloseButton ? __( 'Close' ) : null }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<Tabs>\n\t\t\t\t\t\t<div className=\"edit-site-style-book__tablist-container\">\n\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-style-book__tabpanel\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\t\tcategory={ tab.slug }\n\t\t\t\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tabs>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nconst StyleBookBody = ( {\n\tcategory,\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\treturn (\n\t\t<Iframe\n\t\t\tclassName={ clsx( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{ STYLE_BOOK_IFRAME_STYLES }\n\t\t\t\t{ !! onClick &&\n\t\t\t\t\t'body { cursor: pointer; } body * { pointer-events: none; }' }\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ clsx( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\texamples={ examples }\n\t\t\t\tcategory={ category }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tkey={ category }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst categoryDefinition = category\n\t\t\t? getTopLevelStyleBookCategories().find(\n\t\t\t\t\t( _category ) => _category.slug === category\n\t\t\t )\n\t\t\t: null;\n\n\t\tconst filteredExamples = categoryDefinition\n\t\t\t? getExamplesByCategory( categoryDefinition, examples )\n\t\t\t: { examples };\n\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t\trole=\"grid\"\n\t\t\t>\n\t\t\t\t{ !! filteredExamples?.examples?.length &&\n\t\t\t\t\tfilteredExamples.examples.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tcontent={ example.content }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected( example.name ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonSelect?.( example.name );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ !! filteredExamples?.subcategories?.length &&\n\t\t\t\t\tfilteredExamples.subcategories.map( ( subcategory ) => (\n\t\t\t\t\t\t<Composite.Group\n\t\t\t\t\t\t\tclassName=\"edit-site-style-book__subcategory\"\n\t\t\t\t\t\t\tkey={ `subcategory-${ subcategory.slug }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Composite.GroupLabel>\n\t\t\t\t\t\t\t\t<h2 className=\"edit-site-style-book__subcategory-title\">\n\t\t\t\t\t\t\t\t\t{ subcategory.title }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t</Composite.GroupLabel>\n\t\t\t\t\t\t\t<Subcategory\n\t\t\t\t\t\t\t\texamples={ subcategory.examples }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Composite.Group>\n\t\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t);\n\t}\n);\n\nconst Subcategory = ( { examples, isSelected, onSelect } ) => {\n\treturn (\n\t\t!! examples?.length &&\n\t\texamples.map( ( example ) => (\n\t\t\t<Example\n\t\t\t\tkey={ example.name }\n\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\ttitle={ example.title }\n\t\t\t\tcontent={ example.content }\n\t\t\t\tblocks={ example.blocks }\n\t\t\t\tisSelected={ isSelected( example.name ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonSelect?.( example.name );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) )\n\t);\n};\n\nconst disabledExamples = [ 'example-duotones' ];\n\nconst Example = ( { id, title, blocks, isSelected, onClick, content } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst disabledProps = disabledExamples.includes( id )\n\t\t? {\n\t\t\t\tdisabled: true,\n\t\t\t\taccessibleWhenDisabled: true,\n\t\t }\n\t\t: {};\n\n\treturn (\n\t\t<div role=\"row\">\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<Composite.Item\n\t\t\t\t\tclassName={ clsx( 'edit-site-style-book__example', {\n\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t'is-disabled-example': !! disabledProps?.disabled,\n\t\t\t\t\t} ) }\n\t\t\t\t\tid={ id }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t) }\n\t\t\t\t\trender={ <div /> }\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t{ ...disabledProps }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"edit-site-style-book__example-preview\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t\t\t{ content ? (\n\t\t\t\t\t\t\t\tcontent\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EditorStyles />\n\t\t\t\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Disabled>\n\t\t\t\t\t</div>\n\t\t\t\t</Composite.Item>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","Disabled","Composite","privateApis","componentsPrivateApis","__","_x","sprintf","BlockList","blockEditorPrivateApis","store","blockEditorStore","useSettings","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","editorPrivateApis","useSelect","useResizeObserver","useMemo","useState","memo","useContext","useRef","useLayoutEffect","ENTER","SPACE","unlock","EditorCanvasContainer","STYLE_BOOK_IFRAME_STYLES","getExamplesByCategory","getTopLevelStyleBookCategories","getExamples","jsx","_jsx","jsxs","_jsxs","ExperimentalBlockEditorProvider","useGlobalStyle","GlobalStylesContext","useGlobalStylesOutputWithConfig","mergeBaseAndUserConfigs","Tabs","isObjectEmpty","object","Object","keys","length","scrollToSection","anchorId","iframe","contentDocument","element","getElementById","scrollIntoView","behavior","getStyleBookNavigationFromPath","path","block","includes","decodeURIComponent","split","endsWith","useMultiOriginPalettes","colors","gradients","shouldDisplayDefaultDuotones","customDuotones","themeDuotones","defaultDuotones","palettes","result","duotones","push","name","slug","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","onClose","showTabs","userConfig","resizeObserver","sizes","textColor","backgroundColor","examples","tabs","filter","category","some","example","examplesForSinglePageUse","overviewCategoryExamples","otherExamples","find","overviewExample","base","baseConfig","goTo","mergedConfig","originalSettings","select","getSettings","globalStyles","settings","styles","isPreviewMode","closeButtonLabel","children","className","width","style","color","background","TabList","map","tab","Tab","tabId","title","TabPanel","focusable","StyleBookBody","isFocused","setIsFocused","hasIframeLoaded","setHasIframeLoaded","iframeRef","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","preventDefault","readonly","handleLoad","current","onLoad","ref","tabIndex","Examples","label","categoryDefinition","_category","filteredExamples","orientation","Example","id","content","blocks","subcategories","subcategory","Group","GroupLabel","Subcategory","disabledExamples","focusMode","renderedBlocks","Array","isArray","disabledProps","disabled","accessibleWhenDisabled","Item","render","value","renderAppender"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tComposite,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tuseSettings,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport {\n\tuseMemo,\n\tuseState,\n\tmemo,\n\tuseContext,\n\tuseRef,\n\tuseLayoutEffect,\n} from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport { STYLE_BOOK_IFRAME_STYLES } from './constants';\nimport {\n\tgetExamplesByCategory,\n\tgetTopLevelStyleBookCategories,\n} from './categories';\nimport { getExamples } from './examples';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tuseGlobalStyle,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\n/**\n * Scrolls to a section within an iframe.\n *\n * @param {string} anchorId The id of the element to scroll to.\n * @param {HTMLIFrameElement} iframe The target iframe.\n */\nconst scrollToSection = ( anchorId, iframe ) => {\n\tif ( ! iframe || ! iframe?.contentDocument ) {\n\t\treturn;\n\t}\n\n\tconst element = iframe.contentDocument.getElementById( anchorId );\n\tif ( element ) {\n\t\telement.scrollIntoView( {\n\t\t\tbehavior: 'smooth',\n\t\t} );\n\t}\n};\n\n/**\n * Parses a Block Editor navigation path to extract the block name and\n * build a style book navigation path. The object can be extended to include a category,\n * representing a style book tab/section.\n *\n * @param {string} path An internal Block Editor navigation path.\n * @return {null|{block: string}} An object containing the example to navigate to.\n */\nconst getStyleBookNavigationFromPath = ( path ) => {\n\tif ( path && typeof path === 'string' ) {\n\t\tlet block = path.includes( '/blocks/' )\n\t\t\t? decodeURIComponent( path.split( '/blocks/' )[ 1 ] )\n\t\t\t: null;\n\t\t// Default to theme-colors if the path ends with /colors.\n\t\tblock = path.endsWith( '/colors' ) ? 'theme-colors' : block;\n\n\t\treturn {\n\t\t\tblock,\n\t\t};\n\t}\n\treturn null;\n};\n\n/**\n * Retrieves colors, gradients, and duotone filters from Global Styles.\n * The inclusion of default (Core) palettes is controlled by the relevant\n * theme.json property e.g. defaultPalette, defaultGradients, defaultDuotone.\n *\n * @return {Object} Object containing properties for each type of palette.\n */\nfunction useMultiOriginPalettes() {\n\tconst { colors, gradients } = useMultipleOriginColorsAndGradients();\n\n\t// Add duotone filters to the palettes data.\n\tconst [\n\t\tshouldDisplayDefaultDuotones,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t] = useSettings(\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default'\n\t);\n\n\tconst palettes = useMemo( () => {\n\t\tconst result = { colors, gradients, duotones: [] };\n\n\t\tif ( themeDuotones && themeDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Theme',\n\t\t\t\t\t'Indicates these duotone filters come from the theme.'\n\t\t\t\t),\n\t\t\t\tslug: 'theme',\n\t\t\t\tduotones: themeDuotones,\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tshouldDisplayDefaultDuotones &&\n\t\t\tdefaultDuotones &&\n\t\t\tdefaultDuotones.length\n\t\t) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Default',\n\t\t\t\t\t'Indicates these duotone filters come from WordPress.'\n\t\t\t\t),\n\t\t\t\tslug: 'default',\n\t\t\t\tduotones: defaultDuotones,\n\t\t\t} );\n\t\t}\n\t\tif ( customDuotones && customDuotones.length ) {\n\t\t\tresult.duotones.push( {\n\t\t\t\tname: _x(\n\t\t\t\t\t'Custom',\n\t\t\t\t\t'Indicates these doutone filters are created by the user.'\n\t\t\t\t),\n\t\t\t\tslug: 'custom',\n\t\t\t\tduotones: customDuotones,\n\t\t\t} );\n\t\t}\n\n\t\treturn result;\n\t}, [\n\t\tcolors,\n\t\tgradients,\n\t\tcustomDuotones,\n\t\tthemeDuotones,\n\t\tdefaultDuotones,\n\t\tshouldDisplayDefaultDuotones,\n\t] );\n\n\treturn palettes;\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tonClose,\n\tshowTabs = true,\n\tuserConfig = {},\n\tpath = '',\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst colors = useMultiOriginPalettes();\n\tconst examples = useMemo( () => getExamples( colors ), [ colors ] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetTopLevelStyleBookCategories().filter( ( category ) =>\n\t\t\t\texamples.some(\n\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t)\n\t\t\t),\n\t\t[ examples ]\n\t);\n\n\tconst examplesForSinglePageUse = [];\n\tconst overviewCategoryExamples = getExamplesByCategory(\n\t\t{ slug: 'overview' },\n\t\texamples\n\t);\n\texamplesForSinglePageUse.push( ...overviewCategoryExamples.examples );\n\tconst otherExamples = examples.filter( ( example ) => {\n\t\treturn (\n\t\t\texample.category !== 'overview' &&\n\t\t\t! overviewCategoryExamples.examples.find(\n\t\t\t\t( overviewExample ) => overviewExample.name === example.name\n\t\t\t)\n\t\t);\n\t} );\n\texamplesForSinglePageUse.push( ...otherExamples );\n\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\tconst goTo = getStyleBookNavigationFromPath( path );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\t// Copied from packages/edit-site/src/components/revisions/index.js\n\t// could we create a shared hook?\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles:\n\t\t\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t\t\t? globalStyles\n\t\t\t\t\t: originalSettings.styles,\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ globalStyles, originalSettings, userConfig ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tonClose={ onClose }\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={ showCloseButton ? __( 'Close' ) : null }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<Tabs>\n\t\t\t\t\t\t<div className=\"edit-site-style-book__tablist-container\">\n\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\tkey={ tab.slug }\n\t\t\t\t\t\t\t\ttabId={ tab.slug }\n\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-style-book__tabpanel\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\t\tcategory={ tab.slug }\n\t\t\t\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tabs>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ examplesForSinglePageUse }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\tgoTo={ goTo }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nconst StyleBookBody = ( {\n\tcategory,\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n\tgoTo,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\tconst [ hasIframeLoaded, setHasIframeLoaded ] = useState( false );\n\tconst iframeRef = useRef( null );\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\tconst handleLoad = () => setHasIframeLoaded( true );\n\tuseLayoutEffect( () => {\n\t\tif ( goTo?.block && hasIframeLoaded && iframeRef?.current ) {\n\t\t\tscrollToSection( `example-${ goTo?.block }`, iframeRef?.current );\n\t\t}\n\t}, [ iframeRef?.current, goTo?.block, scrollToSection, hasIframeLoaded ] );\n\n\treturn (\n\t\t<Iframe\n\t\t\tonLoad={ handleLoad }\n\t\t\tref={ iframeRef }\n\t\t\tclassName={ clsx( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{ STYLE_BOOK_IFRAME_STYLES }\n\t\t\t\t{ !! onClick &&\n\t\t\t\t\t'body { cursor: pointer; } body * { pointer-events: none; }' }\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ clsx( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\texamples={ examples }\n\t\t\t\tcategory={ category }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tkey={ category }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst categoryDefinition = category\n\t\t\t? getTopLevelStyleBookCategories().find(\n\t\t\t\t\t( _category ) => _category.slug === category\n\t\t\t )\n\t\t\t: null;\n\n\t\tconst filteredExamples = categoryDefinition\n\t\t\t? getExamplesByCategory( categoryDefinition, examples )\n\t\t\t: { examples };\n\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t\trole=\"grid\"\n\t\t\t>\n\t\t\t\t{ !! filteredExamples?.examples?.length &&\n\t\t\t\t\tfilteredExamples.examples.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tcontent={ example.content }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected?.( example.name ) }\n\t\t\t\t\t\t\tonClick={ () => onSelect?.( example.name ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ !! filteredExamples?.subcategories?.length &&\n\t\t\t\t\tfilteredExamples.subcategories.map( ( subcategory ) => (\n\t\t\t\t\t\t<Composite.Group\n\t\t\t\t\t\t\tclassName=\"edit-site-style-book__subcategory\"\n\t\t\t\t\t\t\tkey={ `subcategory-${ subcategory.slug }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Composite.GroupLabel>\n\t\t\t\t\t\t\t\t<h2 className=\"edit-site-style-book__subcategory-title\">\n\t\t\t\t\t\t\t\t\t{ subcategory.title }\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t</Composite.GroupLabel>\n\t\t\t\t\t\t\t<Subcategory\n\t\t\t\t\t\t\t\texamples={ subcategory.examples }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Composite.Group>\n\t\t\t\t\t) ) }\n\t\t\t</Composite>\n\t\t);\n\t}\n);\n\nconst Subcategory = ( { examples, isSelected, onSelect } ) => {\n\treturn (\n\t\t!! examples?.length &&\n\t\texamples.map( ( example ) => (\n\t\t\t<Example\n\t\t\t\tkey={ example.name }\n\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\ttitle={ example.title }\n\t\t\t\tcontent={ example.content }\n\t\t\t\tblocks={ example.blocks }\n\t\t\t\tisSelected={ isSelected?.( example.name ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonSelect?.( example.name );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) )\n\t);\n};\n\nconst disabledExamples = [ 'example-duotones' ];\n\nconst Example = ( { id, title, blocks, isSelected, onClick, content } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\tisPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst disabledProps = disabledExamples.includes( id )\n\t\t? {\n\t\t\t\tdisabled: true,\n\t\t\t\taccessibleWhenDisabled: true,\n\t\t }\n\t\t: {};\n\n\treturn (\n\t\t<div role=\"row\">\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<Composite.Item\n\t\t\t\t\tclassName={ clsx( 'edit-site-style-book__example', {\n\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t'is-disabled-example': !! disabledProps?.disabled,\n\t\t\t\t\t} ) }\n\t\t\t\t\tid={ id }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t) }\n\t\t\t\t\trender={ <div /> }\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t{ ...disabledProps }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"edit-site-style-book__example-preview\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t\t\t{ content ? (\n\t\t\t\t\t\t\t\tcontent\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<EditorStyles />\n\t\t\t\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Disabled>\n\t\t\t\t\t</div>\n\t\t\t\t</Composite.Item>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,QAAQ,EACRC,SAAS,EACTC,WAAW,IAAIC,qBAAqB,QAC9B,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SACCC,SAAS,EACTL,WAAW,IAAIM,sBAAsB,EACrCC,KAAK,IAAIC,gBAAgB,EACzBC,WAAW,EACXC,sBAAsB,IAAIC,YAAY,EACtCC,gBAAgB,IAAIC,MAAM,EAC1BC,iDAAiD,IAAIC,mCAAmC,QAClF,yBAAyB;AAChC,SAASf,WAAW,IAAIgB,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,SACCC,OAAO,EACPC,QAAQ,EACRC,IAAI,EACJC,UAAU,EACVC,MAAM,EACNC,eAAe,QACT,oBAAoB;AAC3B,SAASC,KAAK,EAAEC,KAAK,QAAQ,qBAAqB;;AAElD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,SAASC,wBAAwB,QAAQ,aAAa;AACtD,SACCC,qBAAqB,EACrBC,8BAA8B,QACxB,cAAc;AACrB,SAASC,WAAW,QAAQ,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEzC,MAAM;EACLC,+BAA+B;EAC/BC,cAAc;EACdC,mBAAmB;EACnBC;AACD,CAAC,GAAGb,MAAM,CAAErB,sBAAuB,CAAC;AACpC,MAAM;EAAEmC;AAAwB,CAAC,GAAGd,MAAM,CAAEX,iBAAkB,CAAC;AAE/D,MAAM;EAAE0B;AAAK,CAAC,GAAGf,MAAM,CAAE1B,qBAAsB,CAAC;AAEhD,SAAS0C,aAAaA,CAAEC,MAAM,EAAG;EAChC,OAAO,CAAEA,MAAM,IAAIC,MAAM,CAACC,IAAI,CAAEF,MAAO,CAAC,CAACG,MAAM,KAAK,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAGA,CAAEC,QAAQ,EAAEC,MAAM,KAAM;EAC/C,IAAK,CAAEA,MAAM,IAAI,CAAEA,MAAM,EAAEC,eAAe,EAAG;IAC5C;EACD;EAEA,MAAMC,OAAO,GAAGF,MAAM,CAACC,eAAe,CAACE,cAAc,CAAEJ,QAAS,CAAC;EACjE,IAAKG,OAAO,EAAG;IACdA,OAAO,CAACE,cAAc,CAAE;MACvBC,QAAQ,EAAE;IACX,CAAE,CAAC;EACJ;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,8BAA8B,GAAKC,IAAI,IAAM;EAClD,IAAKA,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAG;IACvC,IAAIC,KAAK,GAAGD,IAAI,CAACE,QAAQ,CAAE,UAAW,CAAC,GACpCC,kBAAkB,CAAEH,IAAI,CAACI,KAAK,CAAE,UAAW,CAAC,CAAE,CAAC,CAAG,CAAC,GACnD,IAAI;IACP;IACAH,KAAK,GAAGD,IAAI,CAACK,QAAQ,CAAE,SAAU,CAAC,GAAG,cAAc,GAAGJ,KAAK;IAE3D,OAAO;MACNA;IACD,CAAC;EACF;EACA,OAAO,IAAI;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,sBAAsBA,CAAA,EAAG;EACjC,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAGlD,mCAAmC,CAAC,CAAC;;EAEnE;EACA,MAAM,CACLmD,4BAA4B,EAC5BC,cAAc,EACdC,aAAa,EACbC,eAAe,CACf,GAAG5D,WAAW,CACd,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBACD,CAAC;EAED,MAAM6D,QAAQ,GAAGnD,OAAO,CAAE,MAAM;IAC/B,MAAMoD,MAAM,GAAG;MAAEP,MAAM;MAAEC,SAAS;MAAEO,QAAQ,EAAE;IAAG,CAAC;IAElD,IAAKJ,aAAa,IAAIA,aAAa,CAACrB,MAAM,EAAG;MAC5CwB,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAE;QACrBC,IAAI,EAAEvE,EAAE,CACP,OAAO,EACP,sDACD,CAAC;QACDwE,IAAI,EAAE,OAAO;QACbH,QAAQ,EAAEJ;MACX,CAAE,CAAC;IACJ;IAEA,IACCF,4BAA4B,IAC5BG,eAAe,IACfA,eAAe,CAACtB,MAAM,EACrB;MACDwB,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAE;QACrBC,IAAI,EAAEvE,EAAE,CACP,SAAS,EACT,sDACD,CAAC;QACDwE,IAAI,EAAE,SAAS;QACfH,QAAQ,EAAEH;MACX,CAAE,CAAC;IACJ;IACA,IAAKF,cAAc,IAAIA,cAAc,CAACpB,MAAM,EAAG;MAC9CwB,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAE;QACrBC,IAAI,EAAEvE,EAAE,CACP,QAAQ,EACR,0DACD,CAAC;QACDwE,IAAI,EAAE,QAAQ;QACdH,QAAQ,EAAEL;MACX,CAAE,CAAC;IACJ;IAEA,OAAOI,MAAM;EACd,CAAC,EAAE,CACFP,MAAM,EACNC,SAAS,EACTE,cAAc,EACdC,aAAa,EACbC,eAAe,EACfH,4BAA4B,CAC3B,CAAC;EAEH,OAAOI,QAAQ;AAChB;AAEA,SAASM,SAASA,CAAE;EACnBC,cAAc,GAAG,IAAI;EACrBC,UAAU;EACVC,OAAO;EACPC,QAAQ;EACRC,eAAe,GAAG,IAAI;EACtBC,OAAO;EACPC,QAAQ,GAAG,IAAI;EACfC,UAAU,GAAG,CAAC,CAAC;EACf3B,IAAI,GAAG;AACR,CAAC,EAAG;EACH,MAAM,CAAE4B,cAAc,EAAEC,KAAK,CAAE,GAAGpE,iBAAiB,CAAC,CAAC;EACrD,MAAM,CAAEqE,SAAS,CAAE,GAAGjD,cAAc,CAAE,YAAa,CAAC;EACpD,MAAM,CAAEkD,eAAe,CAAE,GAAGlD,cAAc,CAAE,kBAAmB,CAAC;EAChE,MAAM0B,MAAM,GAAGD,sBAAsB,CAAC,CAAC;EACvC,MAAM0B,QAAQ,GAAGtE,OAAO,CAAE,MAAMa,WAAW,CAAEgC,MAAO,CAAC,EAAE,CAAEA,MAAM,CAAG,CAAC;EACnE,MAAM0B,IAAI,GAAGvE,OAAO,CACnB,MACCY,8BAA8B,CAAC,CAAC,CAAC4D,MAAM,CAAIC,QAAQ,IAClDH,QAAQ,CAACI,IAAI,CACVC,OAAO,IAAMA,OAAO,CAACF,QAAQ,KAAKA,QAAQ,CAACjB,IAC9C,CACD,CAAC,EACF,CAAEc,QAAQ,CACX,CAAC;EAED,MAAMM,wBAAwB,GAAG,EAAE;EACnC,MAAMC,wBAAwB,GAAGlE,qBAAqB,CACrD;IAAE6C,IAAI,EAAE;EAAW,CAAC,EACpBc,QACD,CAAC;EACDM,wBAAwB,CAACtB,IAAI,CAAE,GAAGuB,wBAAwB,CAACP,QAAS,CAAC;EACrE,MAAMQ,aAAa,GAAGR,QAAQ,CAACE,MAAM,CAAIG,OAAO,IAAM;IACrD,OACCA,OAAO,CAACF,QAAQ,KAAK,UAAU,IAC/B,CAAEI,wBAAwB,CAACP,QAAQ,CAACS,IAAI,CACrCC,eAAe,IAAMA,eAAe,CAACzB,IAAI,KAAKoB,OAAO,CAACpB,IACzD,CAAC;EAEH,CAAE,CAAC;EACHqB,wBAAwB,CAACtB,IAAI,CAAE,GAAGwB,aAAc,CAAC;EAEjD,MAAM;IAAEG,IAAI,EAAEC;EAAW,CAAC,GAAG/E,UAAU,CAAEiB,mBAAoB,CAAC;EAC9D,MAAM+D,IAAI,GAAG9C,8BAA8B,CAAEC,IAAK,CAAC;EAEnD,MAAM8C,YAAY,GAAGpF,OAAO,CAAE,MAAM;IACnC,IAAK,CAAEwB,aAAa,CAAEyC,UAAW,CAAC,IAAI,CAAEzC,aAAa,CAAE0D,UAAW,CAAC,EAAG;MACrE,OAAO5D,uBAAuB,CAAE4D,UAAU,EAAEjB,UAAW,CAAC;IACzD;IACA,OAAO,CAAC,CAAC;EACV,CAAC,EAAE,CAAEiB,UAAU,EAAEjB,UAAU,CAAG,CAAC;;EAE/B;EACA;EACA,MAAMoB,gBAAgB,GAAGvF,SAAS,CAC/BwF,MAAM,IAAMA,MAAM,CAAEjG,gBAAiB,CAAC,CAACkG,WAAW,CAAC,CAAC,EACtD,EACD,CAAC;EACD,MAAM,CAAEC,YAAY,CAAE,GAAGnE,+BAA+B,CAAE+D,YAAa,CAAC;EAExE,MAAMK,QAAQ,GAAGzF,OAAO,CACvB,OAAQ;IACP,GAAGqF,gBAAgB;IACnBK,MAAM,EACL,CAAElE,aAAa,CAAEgE,YAAa,CAAC,IAAI,CAAEhE,aAAa,CAAEyC,UAAW,CAAC,GAC7DuB,YAAY,GACZH,gBAAgB,CAACK,MAAM;IAC3BC,aAAa,EAAE;EAChB,CAAC,CAAE,EACH,CAAEH,YAAY,EAAEH,gBAAgB,EAAEpB,UAAU,CAC7C,CAAC;EAED,oBACClD,IAAA,CAACN,qBAAqB;IACrBsD,OAAO,EAAGA,OAAS;IACnBL,cAAc,EAAGA,cAAgB;IACjCkC,gBAAgB,EAAG9B,eAAe,GAAG/E,EAAE,CAAE,OAAQ,CAAC,GAAG,IAAM;IAAA8G,QAAA,eAE3D5E,KAAA;MACC6E,SAAS,EAAGpH,IAAI,CAAE,sBAAsB,EAAE;QACzC,SAAS,EAAEyF,KAAK,CAAC4B,KAAK,GAAG,GAAG;QAC5B,WAAW,EAAE,CAAC,CAAEnC;MACjB,CAAE,CAAG;MACLoC,KAAK,EAAG;QACPC,KAAK,EAAE7B,SAAS;QAChB8B,UAAU,EAAE7B;MACb,CAAG;MAAAwB,QAAA,GAED3B,cAAc,EACdF,QAAQ,gBACT/C,KAAA,CAACM,IAAI;QAAAsE,QAAA,gBACJ9E,IAAA;UAAK+E,SAAS,EAAC,yCAAyC;UAAAD,QAAA,eACvD9E,IAAA,CAACQ,IAAI,CAAC4E,OAAO;YAAAN,QAAA,EACVtB,IAAI,CAAC6B,GAAG,CAAIC,GAAG,iBAChBtF,IAAA,CAACQ,IAAI,CAAC+E,GAAG;cACRC,KAAK,EAAGF,GAAG,CAAC7C,IAAM;cAAAqC,QAAA,EAGhBQ,GAAG,CAACG;YAAK,GAFLH,GAAG,CAAC7C,IAGD,CACT;UAAC,CACU;QAAC,CACX,CAAC,EACJe,IAAI,CAAC6B,GAAG,CAAIC,GAAG,iBAChBtF,IAAA,CAACQ,IAAI,CAACkF,QAAQ;UAEbF,KAAK,EAAGF,GAAG,CAAC7C,IAAM;UAClBkD,SAAS,EAAG,KAAO;UACnBZ,SAAS,EAAC,gCAAgC;UAAAD,QAAA,eAE1C9E,IAAA,CAAC4F,aAAa;YACblC,QAAQ,EAAG4B,GAAG,CAAC7C,IAAM;YACrBc,QAAQ,EAAGA,QAAU;YACrBX,UAAU,EAAGA,UAAY;YACzBE,QAAQ,EAAGA,QAAU;YACrB4B,QAAQ,EAAGA,QAAU;YACrBtB,KAAK,EAAGA,KAAO;YACfqC,KAAK,EAAGH,GAAG,CAACG,KAAO;YACnBrB,IAAI,EAAGA;UAAM,CACb;QAAC,GAdIkB,GAAG,CAAC7C,IAeI,CACd,CAAC;MAAA,CACE,CAAC,gBAEPzC,IAAA,CAAC4F,aAAa;QACbrC,QAAQ,EAAGM,wBAA0B;QACrCjB,UAAU,EAAGA,UAAY;QACzBC,OAAO,EAAGA,OAAS;QACnBC,QAAQ,EAAGA,QAAU;QACrB4B,QAAQ,EAAGA,QAAU;QACrBtB,KAAK,EAAGA,KAAO;QACfgB,IAAI,EAAGA;MAAM,CACb,CACD;IAAA,CACG;EAAC,CACgB,CAAC;AAE1B;AAEA,MAAMwB,aAAa,GAAGA,CAAE;EACvBlC,QAAQ;EACRH,QAAQ;EACRX,UAAU;EACVC,OAAO;EACPC,QAAQ;EACR4B,QAAQ;EACRtB,KAAK;EACLqC,KAAK;EACLrB;AACD,CAAC,KAAM;EACN,MAAM,CAAEyB,SAAS,EAAEC,YAAY,CAAE,GAAG5G,QAAQ,CAAE,KAAM,CAAC;EACrD,MAAM,CAAE6G,eAAe,EAAEC,kBAAkB,CAAE,GAAG9G,QAAQ,CAAE,KAAM,CAAC;EACjE,MAAM+G,SAAS,GAAG5G,MAAM,CAAE,IAAK,CAAC;EAChC;EACA;EACA,MAAM6G,eAAe,GAAG;IACvBC,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAEA,CAAA,KAAMN,YAAY,CAAE,IAAK,CAAC;IACnCO,MAAM,EAAEA,CAAA,KAAMP,YAAY,CAAE,KAAM,CAAC;IACnCQ,SAAS,EAAIC,KAAK,IAAM;MACvB,IAAKA,KAAK,CAACC,gBAAgB,EAAG;QAC7B;MACD;MACA,MAAM;QAAEC;MAAQ,CAAC,GAAGF,KAAK;MACzB,IAAK1D,OAAO,KAAM4D,OAAO,KAAKlH,KAAK,IAAIkH,OAAO,KAAKjH,KAAK,CAAE,EAAG;QAC5D+G,KAAK,CAACG,cAAc,CAAC,CAAC;QACtB7D,OAAO,CAAE0D,KAAM,CAAC;MACjB;IACD,CAAC;IACD1D,OAAO,EAAI0D,KAAK,IAAM;MACrB,IAAKA,KAAK,CAACC,gBAAgB,EAAG;QAC7B;MACD;MACA,IAAK3D,OAAO,EAAG;QACd0D,KAAK,CAACG,cAAc,CAAC,CAAC;QACtB7D,OAAO,CAAE0D,KAAM,CAAC;MACjB;IACD,CAAC;IACDI,QAAQ,EAAE;EACX,CAAC;EAED,MAAMC,UAAU,GAAGA,CAAA,KAAMZ,kBAAkB,CAAE,IAAK,CAAC;EACnD1G,eAAe,CAAE,MAAM;IACtB,IAAK8E,IAAI,EAAE5C,KAAK,IAAIuE,eAAe,IAAIE,SAAS,EAAEY,OAAO,EAAG;MAC3D/F,eAAe,CAAE,WAAYsD,IAAI,EAAE5C,KAAK,EAAG,EAAEyE,SAAS,EAAEY,OAAQ,CAAC;IAClE;EACD,CAAC,EAAE,CAAEZ,SAAS,EAAEY,OAAO,EAAEzC,IAAI,EAAE5C,KAAK,EAAEV,eAAe,EAAEiF,eAAe,CAAG,CAAC;EAE1E,oBACC7F,KAAA,CAACvB,MAAM;IACNmI,MAAM,EAAGF,UAAY;IACrBG,GAAG,EAAGd,SAAW;IACjBlB,SAAS,EAAGpH,IAAI,CAAE,8BAA8B,EAAE;MACjD,YAAY,EAAEkI,SAAS,IAAI,CAAC,CAAEhD,OAAO;MACrC,WAAW,EAAE,CAAC,CAAEA;IACjB,CAAE,CAAG;IACLL,IAAI,EAAC,mBAAmB;IACxBwE,QAAQ,EAAG,CAAG;IAAA,IACPnE,OAAO,GAAGqD,eAAe,GAAG,CAAC,CAAC;IAAApB,QAAA,gBAErC9E,IAAA,CAACvB,YAAY;MAACkG,MAAM,EAAGD,QAAQ,CAACC;IAAQ,CAAE,CAAC,eAC3CzE,KAAA;MAAA4E,QAAA,GACGnF,wBAAwB,EACxB,CAAC,CAAEkD,OAAO,IACX,4DAA4D;IAAA,CACvD,CAAC,eACR7C,IAAA,CAACiH,QAAQ;MACRlC,SAAS,EAAGpH,IAAI,CAAE,gCAAgC,EAAE;QACnD,SAAS,EAAEyF,KAAK,CAAC4B,KAAK,GAAG;MAC1B,CAAE,CAAG;MACLzB,QAAQ,EAAGA,QAAU;MACrBG,QAAQ,EAAGA,QAAU;MACrBwD,KAAK,EACJzB,KAAK,GACFvH,OAAO;MACP;MACAF,EAAE,CAAE,uCAAwC,CAAC,EAC7CyH,KACA,CAAC,GACDzH,EAAE,CAAE,oBAAqB,CAC5B;MACD4E,UAAU,EAAGA,UAAY;MACzBE,QAAQ,EAAGA;IAAU,GACfY,QACN,CAAC;EAAA,CACK,CAAC;AAEX,CAAC;AAED,MAAMuD,QAAQ,GAAG9H,IAAI,CACpB,CAAE;EAAE4F,SAAS;EAAExB,QAAQ;EAAEG,QAAQ;EAAEwD,KAAK;EAAEtE,UAAU;EAAEE;AAAS,CAAC,KAAM;EACrE,MAAMqE,kBAAkB,GAAGzD,QAAQ,GAChC7D,8BAA8B,CAAC,CAAC,CAACmE,IAAI,CACnCoD,SAAS,IAAMA,SAAS,CAAC3E,IAAI,KAAKiB,QACpC,CAAC,GACD,IAAI;EAEP,MAAM2D,gBAAgB,GAAGF,kBAAkB,GACxCvH,qBAAqB,CAAEuH,kBAAkB,EAAE5D,QAAS,CAAC,GACrD;IAAEA;EAAS,CAAC;EAEf,oBACCrD,KAAA,CAACrC,SAAS;IACTyJ,WAAW,EAAC,UAAU;IACtBvC,SAAS,EAAGA,SAAW;IACvB,cAAamC,KAAO;IACpBf,IAAI,EAAC,MAAM;IAAArB,QAAA,GAET,CAAC,CAAEuC,gBAAgB,EAAE9D,QAAQ,EAAE1C,MAAM,IACtCwG,gBAAgB,CAAC9D,QAAQ,CAAC8B,GAAG,CAAIzB,OAAO,iBACvC5D,IAAA,CAACuH,OAAO;MAEPC,EAAE,EAAG,WAAY5D,OAAO,CAACpB,IAAI,EAAK;MAClCiD,KAAK,EAAG7B,OAAO,CAAC6B,KAAO;MACvBgC,OAAO,EAAG7D,OAAO,CAAC6D,OAAS;MAC3BC,MAAM,EAAG9D,OAAO,CAAC8D,MAAQ;MACzB9E,UAAU,EAAGA,UAAU,GAAIgB,OAAO,CAACpB,IAAK,CAAG;MAC3CK,OAAO,EAAGA,CAAA,KAAMC,QAAQ,GAAIc,OAAO,CAACpB,IAAK;IAAG,GANtCoB,OAAO,CAACpB,IAOd,CACA,CAAC,EACF,CAAC,CAAE6E,gBAAgB,EAAEM,aAAa,EAAE9G,MAAM,IAC3CwG,gBAAgB,CAACM,aAAa,CAACtC,GAAG,CAAIuC,WAAW,iBAChD1H,KAAA,CAACrC,SAAS,CAACgK,KAAK;MACf9C,SAAS,EAAC,mCAAmC;MAAAD,QAAA,gBAG7C9E,IAAA,CAACnC,SAAS,CAACiK,UAAU;QAAAhD,QAAA,eACpB9E,IAAA;UAAI+E,SAAS,EAAC,yCAAyC;UAAAD,QAAA,EACpD8C,WAAW,CAACnC;QAAK,CAChB;MAAC,CACgB,CAAC,eACvBzF,IAAA,CAAC+H,WAAW;QACXxE,QAAQ,EAAGqE,WAAW,CAACrE,QAAU;QACjCX,UAAU,EAAGA,UAAY;QACzBE,QAAQ,EAAGA;MAAU,CACrB,CAAC;IAAA,GAXI,eAAgB8E,WAAW,CAACnF,IAAI,EAYtB,CAChB,CAAC;EAAA,CACM,CAAC;AAEd,CACD,CAAC;AAED,MAAMsF,WAAW,GAAGA,CAAE;EAAExE,QAAQ;EAAEX,UAAU;EAAEE;AAAS,CAAC,KAAM;EAC7D,OACC,CAAC,CAAES,QAAQ,EAAE1C,MAAM,IACnB0C,QAAQ,CAAC8B,GAAG,CAAIzB,OAAO,iBACtB5D,IAAA,CAACuH,OAAO;IAEPC,EAAE,EAAG,WAAY5D,OAAO,CAACpB,IAAI,EAAK;IAClCiD,KAAK,EAAG7B,OAAO,CAAC6B,KAAO;IACvBgC,OAAO,EAAG7D,OAAO,CAAC6D,OAAS;IAC3BC,MAAM,EAAG9D,OAAO,CAAC8D,MAAQ;IACzB9E,UAAU,EAAGA,UAAU,GAAIgB,OAAO,CAACpB,IAAK,CAAG;IAC3CK,OAAO,EAAGA,CAAA,KAAM;MACfC,QAAQ,GAAIc,OAAO,CAACpB,IAAK,CAAC;IAC3B;EAAG,GARGoB,OAAO,CAACpB,IASd,CACA,CAAC;AAEL,CAAC;AAED,MAAMwF,gBAAgB,GAAG,CAAE,kBAAkB,CAAE;AAE/C,MAAMT,OAAO,GAAGA,CAAE;EAAEC,EAAE;EAAE/B,KAAK;EAAEiC,MAAM;EAAE9E,UAAU;EAAEC,OAAO;EAAE4E;AAAQ,CAAC,KAAM;EAC1E,MAAMnD,gBAAgB,GAAGvF,SAAS,CAC/BwF,MAAM,IAAMA,MAAM,CAAEjG,gBAAiB,CAAC,CAACkG,WAAW,CAAC,CAAC,EACtD,EACD,CAAC;EACD,MAAME,QAAQ,GAAGzF,OAAO,CACvB,OAAQ;IACP,GAAGqF,gBAAgB;IACnB2D,SAAS,EAAE,KAAK;IAAE;IAClBrD,aAAa,EAAE;EAChB,CAAC,CAAE,EACH,CAAEN,gBAAgB,CACnB,CAAC;;EAED;EACA,MAAM4D,cAAc,GAAGjJ,OAAO,CAC7B,MAAQkJ,KAAK,CAACC,OAAO,CAAEV,MAAO,CAAC,GAAGA,MAAM,GAAG,CAAEA,MAAM,CAAI,EACvD,CAAEA,MAAM,CACT,CAAC;EAED,MAAMW,aAAa,GAAGL,gBAAgB,CAACvG,QAAQ,CAAE+F,EAAG,CAAC,GAClD;IACAc,QAAQ,EAAE,IAAI;IACdC,sBAAsB,EAAE;EACxB,CAAC,GACD,CAAC,CAAC;EAEL,oBACCvI,IAAA;IAAKmG,IAAI,EAAC,KAAK;IAAArB,QAAA,eACd9E,IAAA;MAAKmG,IAAI,EAAC,UAAU;MAAArB,QAAA,eACnB5E,KAAA,CAACrC,SAAS,CAAC2K,IAAI;QACdzD,SAAS,EAAGpH,IAAI,CAAE,+BAA+B,EAAE;UAClD,aAAa,EAAEiF,UAAU;UACzB,qBAAqB,EAAE,CAAC,CAAEyF,aAAa,EAAEC;QAC1C,CAAE,CAAG;QACLd,EAAE,EAAGA,EAAI;QACT,cAAatJ,OAAO;QACnB;QACAF,EAAE,CAAE,gCAAiC,CAAC,EACtCyH,KACD,CAAG;QACHgD,MAAM,eAAGzI,IAAA,UAAM,CAAG;QAClBmG,IAAI,EAAC,QAAQ;QACbtD,OAAO,EAAGA,OAAS;QAAA,GACdwF,aAAa;QAAAvD,QAAA,gBAElB9E,IAAA;UAAM+E,SAAS,EAAC,qCAAqC;UAAAD,QAAA,EAClDW;QAAK,CACF,CAAC,eACPzF,IAAA;UACC+E,SAAS,EAAC,uCAAuC;UACjD,mBAAW;UAAAD,QAAA,eAEX9E,IAAA,CAACpC,QAAQ;YAACmH,SAAS,EAAC,gDAAgD;YAAAD,QAAA,EACjE2C,OAAO,GACRA,OAAO,gBAEPvH,KAAA,CAACC,+BAA+B;cAC/BuI,KAAK,EAAGR,cAAgB;cACxBxD,QAAQ,EAAGA,QAAU;cAAAI,QAAA,gBAErB9E,IAAA,CAACvB,YAAY,IAAE,CAAC,eAChBuB,IAAA,CAAC7B,SAAS;gBAACwK,cAAc,EAAG;cAAO,CAAE,CAAC;YAAA,CACN;UACjC,CACQ;QAAC,CACP,CAAC;MAAA,CACS;IAAC,CACb;EAAC,CACF,CAAC;AAER,CAAC;AAED,eAAejG,SAAS","ignoreList":[]}