@wordpress/edit-site 5.28.2 → 5.28.4

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 (162) hide show
  1. package/build/components/add-new-pattern/index.js +18 -8
  2. package/build/components/add-new-pattern/index.js.map +1 -1
  3. package/build/components/editor/index.js +1 -1
  4. package/build/components/editor/index.js.map +1 -1
  5. package/build/components/global-styles/block-preview-panel.js +2 -2
  6. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  7. package/build/components/global-styles/font-library-modal/collection-font-variant.js +2 -2
  8. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  9. package/build/components/global-styles/font-library-modal/font-card.js +10 -15
  10. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
  11. package/build/components/global-styles/font-library-modal/font-collection.js +167 -37
  12. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  13. package/build/components/global-styles/font-library-modal/font-demo.js +29 -8
  14. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  15. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  16. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  17. package/build/components/global-styles/font-library-modal/installed-fonts.js +149 -83
  18. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  19. package/build/components/global-styles/font-library-modal/library-font-variant.js +2 -2
  20. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/upload-fonts.js +6 -4
  22. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  23. package/build/components/global-styles/screen-revisions/index.js +2 -2
  24. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  25. package/build/components/global-styles/ui.js +27 -2
  26. package/build/components/global-styles/ui.js.map +1 -1
  27. package/build/components/header-edit-mode/index.js +1 -1
  28. package/build/components/header-edit-mode/index.js.map +1 -1
  29. package/build/components/layout/index.js +8 -3
  30. package/build/components/layout/index.js.map +1 -1
  31. package/build/components/layout/router.js +26 -5
  32. package/build/components/layout/router.js.map +1 -1
  33. package/build/components/page-patterns/index.js +14 -14
  34. package/build/components/page-patterns/index.js.map +1 -1
  35. package/build/components/page-patterns/use-patterns.js +10 -5
  36. package/build/components/page-patterns/use-patterns.js.map +1 -1
  37. package/build/components/page-templates-template-parts/index.js +1 -0
  38. package/build/components/page-templates-template-parts/index.js.map +1 -1
  39. package/build/components/sidebar/index.js +6 -3
  40. package/build/components/sidebar/index.js.map +1 -1
  41. package/build/components/sidebar-dataviews/default-views.js +2 -0
  42. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  43. package/build/components/sidebar-navigation-screen-pages/index.js +3 -1
  44. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  45. package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  46. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  47. package/build/components/sidebar-navigation-screen-templates-browse/index.js +7 -5
  48. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  49. package/build/components/style-book/index.js +2 -0
  50. package/build/components/style-book/index.js.map +1 -1
  51. package/build/store/private-actions.js +3 -1
  52. package/build/store/private-actions.js.map +1 -1
  53. package/build-module/components/add-new-pattern/index.js +18 -8
  54. package/build-module/components/add-new-pattern/index.js.map +1 -1
  55. package/build-module/components/editor/index.js +1 -1
  56. package/build-module/components/editor/index.js.map +1 -1
  57. package/build-module/components/global-styles/block-preview-panel.js +2 -2
  58. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  59. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +4 -4
  60. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  61. package/build-module/components/global-styles/font-library-modal/font-card.js +11 -16
  62. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
  63. package/build-module/components/global-styles/font-library-modal/font-collection.js +172 -42
  64. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  65. package/build-module/components/global-styles/font-library-modal/font-demo.js +30 -9
  66. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  67. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  68. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  69. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +149 -83
  70. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  71. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +4 -4
  72. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  73. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +7 -5
  74. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  75. package/build-module/components/global-styles/screen-revisions/index.js +2 -2
  76. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  77. package/build-module/components/global-styles/ui.js +27 -2
  78. package/build-module/components/global-styles/ui.js.map +1 -1
  79. package/build-module/components/header-edit-mode/index.js +1 -1
  80. package/build-module/components/header-edit-mode/index.js.map +1 -1
  81. package/build-module/components/layout/index.js +8 -3
  82. package/build-module/components/layout/index.js.map +1 -1
  83. package/build-module/components/layout/router.js +26 -5
  84. package/build-module/components/layout/router.js.map +1 -1
  85. package/build-module/components/page-patterns/index.js +14 -14
  86. package/build-module/components/page-patterns/index.js.map +1 -1
  87. package/build-module/components/page-patterns/use-patterns.js +10 -5
  88. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  89. package/build-module/components/page-templates-template-parts/index.js +1 -0
  90. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  91. package/build-module/components/sidebar/index.js +6 -3
  92. package/build-module/components/sidebar/index.js.map +1 -1
  93. package/build-module/components/sidebar-dataviews/default-views.js +3 -1
  94. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  95. package/build-module/components/sidebar-navigation-screen-pages/index.js +3 -1
  96. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  97. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  98. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  99. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +7 -5
  100. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  101. package/build-module/components/style-book/index.js +2 -0
  102. package/build-module/components/style-book/index.js.map +1 -1
  103. package/build-module/store/private-actions.js +3 -1
  104. package/build-module/store/private-actions.js.map +1 -1
  105. package/build-style/style-rtl.css +52 -25
  106. package/build-style/style.css +52 -25
  107. package/package.json +18 -18
  108. package/src/components/add-new-pattern/index.js +27 -11
  109. package/src/components/editor/index.js +1 -0
  110. package/src/components/global-styles/block-preview-panel.js +2 -2
  111. package/src/components/global-styles/font-library-modal/collection-font-variant.js +4 -4
  112. package/src/components/global-styles/font-library-modal/font-card.js +11 -26
  113. package/src/components/global-styles/font-library-modal/font-collection.js +328 -129
  114. package/src/components/global-styles/font-library-modal/font-demo.js +38 -4
  115. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  116. package/src/components/global-styles/font-library-modal/installed-fonts.js +246 -132
  117. package/src/components/global-styles/font-library-modal/library-font-variant.js +4 -4
  118. package/src/components/global-styles/font-library-modal/style.scss +17 -13
  119. package/src/components/global-styles/font-library-modal/upload-fonts.js +13 -5
  120. package/src/components/global-styles/screen-revisions/index.js +5 -2
  121. package/src/components/global-styles/ui.js +26 -2
  122. package/src/components/header-edit-mode/index.js +3 -1
  123. package/src/components/layout/index.js +47 -30
  124. package/src/components/layout/router.js +31 -2
  125. package/src/components/layout/style.scss +7 -0
  126. package/src/components/page-patterns/index.js +20 -20
  127. package/src/components/page-patterns/style.scss +10 -0
  128. package/src/components/page-patterns/use-patterns.js +13 -5
  129. package/src/components/page-templates-template-parts/index.js +1 -0
  130. package/src/components/page-templates-template-parts/style.scss +6 -0
  131. package/src/components/sidebar/index.js +9 -4
  132. package/src/components/sidebar-dataviews/default-views.js +3 -1
  133. package/src/components/sidebar-navigation-screen-pages/index.js +10 -6
  134. package/src/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  135. package/src/components/sidebar-navigation-screen-templates-browse/index.js +5 -3
  136. package/src/components/style-book/index.js +5 -1
  137. package/src/store/private-actions.js +4 -0
  138. package/build/components/global-styles/font-library-modal/collection-font-details.js +0 -50
  139. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +0 -1
  140. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +0 -30
  141. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +0 -1
  142. package/build/components/global-styles/font-library-modal/fonts-grid.js +0 -57
  143. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
  144. package/build/components/global-styles/font-library-modal/library-font-card.js +0 -39
  145. package/build/components/global-styles/font-library-modal/library-font-card.js.map +0 -1
  146. package/build/components/global-styles/font-library-modal/tab-panel-layout.js +0 -67
  147. package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +0 -1
  148. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +0 -42
  149. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +0 -1
  150. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +0 -23
  151. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +0 -1
  152. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +0 -50
  153. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
  154. package/build-module/components/global-styles/font-library-modal/library-font-card.js +0 -31
  155. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +0 -1
  156. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js +0 -60
  157. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +0 -1
  158. package/src/components/global-styles/font-library-modal/collection-font-details.js +0 -56
  159. package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +0 -33
  160. package/src/components/global-styles/font-library-modal/fonts-grid.js +0 -59
  161. package/src/components/global-styles/font-library-modal/library-font-card.js +0 -34
  162. package/src/components/global-styles/font-library-modal/tab-panel-layout.js +0 -85
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useSelect","Notice","useInstanceId","useViewportMatch","store","preferencesStore","BlockBreadcrumb","BlockToolbar","blockEditorStore","privateApis","blockEditorPrivateApis","BlockInspector","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","EditorNotices","EditorSnackbars","editorPrivateApis","editorStore","__","sprintf","coreDataStore","SidebarComplementaryAreaFills","SidebarInspectorFill","CodeEditor","KeyboardShortcutsEditMode","WelcomeGuide","StartTemplateOptions","editSiteStore","GlobalStylesRenderer","useTitle","CanvasLoader","unlock","useEditedEntityRecord","PatternModal","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","SiteEditorCanvas","TemplatePartConverter","useSpecificEditorSettings","BlockRemovalWarningModal","ExperimentalEditorProvider","EditorProvider","InserterSidebar","ListViewSidebar","interfaceLabels","body","sidebar","actions","footer","blockRemovalRules","Editor","isLoading","record","editedPost","getTitle","isLoaded","hasLoadedPost","type","editedPostType","isLargeViewport","context","contextPost","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","isDistractionFree","showIconLabels","showBlockBreadcrumbs","postTypeLabel","select","get","getEditedPostContext","getEditorMode","getCanvasMode","__unstableGetEditorMode","getActiveComplementaryArea","getEntityRecord","isInserterOpened","isListViewOpened","getPostTypeLabel","_context","postId","postType","undefined","name","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","postWithTemplate","title","_POST_TYPE_LABELS$edi","loadingProgressId","settings","isReady","createElement","Fragment","id","status","isDismissible","post","__unstableTemplate","useSubRegistry","enableRegionNavigation","className","notices","content","hideDragHandle","rules","secondarySidebar","Slot","scope","rootLabelText","labels"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { Notice } from '@wordpress/components';\nimport { useInstanceId, useViewportMatch } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tBlockBreadcrumb,\n\tBlockToolbar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n\tBlockInspector,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tEditorKeyboardShortcuts,\n\tEditorNotices,\n\tEditorSnackbars,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSidebarComplementaryAreaFills,\n\tSidebarInspectorFill,\n} from '../sidebar-edit-mode';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcutsEditMode from '../keyboard-shortcuts/edit-mode';\nimport WelcomeGuide from '../welcome-guide';\nimport StartTemplateOptions from '../start-template-options';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport useTitle from '../routes/use-title';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport PatternModal from '../pattern-modal';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport SiteEditorCanvas from '../block-editor/site-editor-canvas';\nimport TemplatePartConverter from '../template-part-converter';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\n\nconst { BlockRemovalWarningModal } = unlock( blockEditorPrivateApis );\nconst {\n\tExperimentalEditorProvider: EditorProvider,\n\tInserterSidebar,\n\tListViewSidebar,\n} = unlock( editorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\n// Prevent accidental removal of certain blocks, asking the user for\n// confirmation.\nconst blockRemovalRules = {\n\t'core/query': __( 'Query Loop displays a list of posts or pages.' ),\n\t'core/post-content': __(\n\t\t'Post Content displays the content of a post or page.'\n\t),\n\t'core/post-template': __(\n\t\t'Post Template displays each post or page in a Query Loop.'\n\t),\n\t'bindings/core/pattern-overrides': __(\n\t\t'Blocks from synced patterns that can have overriden content.'\n\t),\n};\n\nexport default function Editor( { isLoading } ) {\n\tconst {\n\t\trecord: editedPost,\n\t\tgetTitle,\n\t\tisLoaded: hasLoadedPost,\n\t} = useEditedEntityRecord();\n\n\tconst { type: editedPostType } = editedPost;\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst {\n\t\tcontext,\n\t\tcontextPost,\n\t\teditorMode,\n\t\tcanvasMode,\n\t\tblockEditorMode,\n\t\tisRightSidebarOpen,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tisDistractionFree,\n\t\tshowIconLabels,\n\t\tshowBlockBreadcrumbs,\n\t\tpostTypeLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditedPostContext, getEditorMode, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\t\tconst { getEntityRecord } = select( coreDataStore );\n\t\tconst { isInserterOpened, isListViewOpened, getPostTypeLabel } =\n\t\t\tselect( editorStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\tcontext: _context,\n\t\t\tcontextPost: _context?.postId\n\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t_context.postType,\n\t\t\t\t\t\t_context.postId\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t\teditorMode: getEditorMode(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisRightSidebarOpen: getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tpostTypeLabel: getPostTypeLabel(),\n\t\t};\n\t}, [] );\n\n\tconst isViewMode = canvasMode === 'view';\n\tconst isEditMode = canvasMode === 'edit';\n\tconst showVisualEditor = isViewMode || editorMode === 'visual';\n\tconst shouldShowBlockBreadcrumbs =\n\t\t! isDistractionFree &&\n\t\tshowBlockBreadcrumbs &&\n\t\tisEditMode &&\n\t\tshowVisualEditor &&\n\t\tblockEditorMode !== 'zoom-out';\n\tconst shouldShowInserter = isEditMode && showVisualEditor && isInserterOpen;\n\tconst shouldShowListView = isEditMode && showVisualEditor && isListViewOpen;\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\tconst postWithTemplate = !! context?.postId;\n\n\tlet title;\n\tif ( hasLoadedPost ) {\n\t\ttitle = sprintf(\n\t\t\t// translators: A breadcrumb trail for the Admin document title. %1$s: title of template being edited, %2$s: type of template (Template or Template Part).\n\t\t\t__( '%1$s ‹ %2$s' ),\n\t\t\tgetTitle(),\n\t\t\tPOST_TYPE_LABELS[ editedPostType ] ??\n\t\t\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ]\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( hasLoadedPost && title );\n\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst isReady =\n\t\t! isLoading &&\n\t\t( ( postWithTemplate && !! contextPost && !! editedPost ) ||\n\t\t\t( ! postWithTemplate && !! editedPost ) );\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ hasLoadedPost && ! editedPost && (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t) }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t\t{ isReady && (\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ postWithTemplate ? contextPost : editedPost }\n\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\tpostWithTemplate ? editedPost : undefined\n\t\t\t\t\t}\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t>\n\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t{ isEditMode && <StartTemplateOptions /> }\n\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\tisDistractionFree={ isDistractionFree }\n\t\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-editor__interface-skeleton',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t{ isEditMode && <EditorNotices /> }\n\t\t\t\t\t\t\t\t{ showVisualEditor && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<TemplatePartConverter />\n\t\t\t\t\t\t\t\t\t\t<SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t\t\t\t\t\t</SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t{ ! isLargeViewport && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SiteEditorCanvas />\n\t\t\t\t\t\t\t\t\t\t<BlockRemovalWarningModal\n\t\t\t\t\t\t\t\t\t\t\trules={ blockRemovalRules }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<PatternModal />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ editorMode === 'text' && isEditMode && (\n\t\t\t\t\t\t\t\t\t<CodeEditor />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcutsEditMode />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsecondarySidebar={\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t( ( shouldShowInserter && <InserterSidebar /> ) ||\n\t\t\t\t\t\t\t\t( shouldShowListView && <ListViewSidebar /> ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\tisRightSidebarOpen && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfooter={\n\t\t\t\t\t\t\tshouldShowBlockBreadcrumbs && (\n\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\trootLabelText={ postTypeLabel }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabels={ {\n\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</EditorProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","useSelect","Notice","useInstanceId","useViewportMatch","store","preferencesStore","BlockBreadcrumb","BlockToolbar","blockEditorStore","privateApis","blockEditorPrivateApis","BlockInspector","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","EditorNotices","EditorSnackbars","editorPrivateApis","editorStore","__","sprintf","coreDataStore","SidebarComplementaryAreaFills","SidebarInspectorFill","CodeEditor","KeyboardShortcutsEditMode","WelcomeGuide","StartTemplateOptions","editSiteStore","GlobalStylesRenderer","useTitle","CanvasLoader","unlock","useEditedEntityRecord","PatternModal","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","SiteEditorCanvas","TemplatePartConverter","useSpecificEditorSettings","BlockRemovalWarningModal","ExperimentalEditorProvider","EditorProvider","InserterSidebar","ListViewSidebar","interfaceLabels","body","sidebar","actions","footer","blockRemovalRules","Editor","isLoading","record","editedPost","getTitle","isLoaded","hasLoadedPost","type","editedPostType","isLargeViewport","context","contextPost","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","isDistractionFree","showIconLabels","showBlockBreadcrumbs","postTypeLabel","select","get","getEditedPostContext","getEditorMode","getCanvasMode","__unstableGetEditorMode","getActiveComplementaryArea","getEntityRecord","isInserterOpened","isListViewOpened","getPostTypeLabel","_context","postId","postType","undefined","name","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","postWithTemplate","title","_POST_TYPE_LABELS$edi","loadingProgressId","settings","isReady","createElement","Fragment","id","status","isDismissible","post","__unstableTemplate","useSubRegistry","enableRegionNavigation","className","notices","content","hideDragHandle","rules","secondarySidebar","Slot","scope","rootLabelText","labels"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { Notice } from '@wordpress/components';\nimport { useInstanceId, useViewportMatch } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tBlockBreadcrumb,\n\tBlockToolbar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n\tBlockInspector,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tEditorKeyboardShortcuts,\n\tEditorNotices,\n\tEditorSnackbars,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSidebarComplementaryAreaFills,\n\tSidebarInspectorFill,\n} from '../sidebar-edit-mode';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcutsEditMode from '../keyboard-shortcuts/edit-mode';\nimport WelcomeGuide from '../welcome-guide';\nimport StartTemplateOptions from '../start-template-options';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport useTitle from '../routes/use-title';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport PatternModal from '../pattern-modal';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport SiteEditorCanvas from '../block-editor/site-editor-canvas';\nimport TemplatePartConverter from '../template-part-converter';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\n\nconst { BlockRemovalWarningModal } = unlock( blockEditorPrivateApis );\nconst {\n\tExperimentalEditorProvider: EditorProvider,\n\tInserterSidebar,\n\tListViewSidebar,\n} = unlock( editorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\n// Prevent accidental removal of certain blocks, asking the user for\n// confirmation.\nconst blockRemovalRules = {\n\t'core/query': __( 'Query Loop displays a list of posts or pages.' ),\n\t'core/post-content': __(\n\t\t'Post Content displays the content of a post or page.'\n\t),\n\t'core/post-template': __(\n\t\t'Post Template displays each post or page in a Query Loop.'\n\t),\n\t'bindings/core/pattern-overrides': __(\n\t\t'Blocks from synced patterns that can have overriden content.'\n\t),\n};\n\nexport default function Editor( { isLoading } ) {\n\tconst {\n\t\trecord: editedPost,\n\t\tgetTitle,\n\t\tisLoaded: hasLoadedPost,\n\t} = useEditedEntityRecord();\n\n\tconst { type: editedPostType } = editedPost;\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst {\n\t\tcontext,\n\t\tcontextPost,\n\t\teditorMode,\n\t\tcanvasMode,\n\t\tblockEditorMode,\n\t\tisRightSidebarOpen,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tisDistractionFree,\n\t\tshowIconLabels,\n\t\tshowBlockBreadcrumbs,\n\t\tpostTypeLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditedPostContext, getEditorMode, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\t\tconst { getEntityRecord } = select( coreDataStore );\n\t\tconst { isInserterOpened, isListViewOpened, getPostTypeLabel } =\n\t\t\tselect( editorStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\tcontext: _context,\n\t\t\tcontextPost: _context?.postId\n\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t_context.postType,\n\t\t\t\t\t\t_context.postId\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t\teditorMode: getEditorMode(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisRightSidebarOpen: getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tpostTypeLabel: getPostTypeLabel(),\n\t\t};\n\t}, [] );\n\n\tconst isViewMode = canvasMode === 'view';\n\tconst isEditMode = canvasMode === 'edit';\n\tconst showVisualEditor = isViewMode || editorMode === 'visual';\n\tconst shouldShowBlockBreadcrumbs =\n\t\t! isDistractionFree &&\n\t\tshowBlockBreadcrumbs &&\n\t\tisEditMode &&\n\t\tshowVisualEditor &&\n\t\tblockEditorMode !== 'zoom-out';\n\tconst shouldShowInserter = isEditMode && showVisualEditor && isInserterOpen;\n\tconst shouldShowListView = isEditMode && showVisualEditor && isListViewOpen;\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\tconst postWithTemplate = !! context?.postId;\n\n\tlet title;\n\tif ( hasLoadedPost ) {\n\t\ttitle = sprintf(\n\t\t\t// translators: A breadcrumb trail for the Admin document title. %1$s: title of template being edited, %2$s: type of template (Template or Template Part).\n\t\t\t__( '%1$s ‹ %2$s' ),\n\t\t\tgetTitle(),\n\t\t\tPOST_TYPE_LABELS[ editedPostType ] ??\n\t\t\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ]\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( hasLoadedPost && title );\n\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst isReady =\n\t\t! isLoading &&\n\t\t( ( postWithTemplate && !! contextPost && !! editedPost ) ||\n\t\t\t( ! postWithTemplate && !! editedPost ) );\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ hasLoadedPost && ! editedPost && (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t) }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t\t{ isReady && (\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ postWithTemplate ? contextPost : editedPost }\n\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\tpostWithTemplate ? editedPost : undefined\n\t\t\t\t\t}\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t>\n\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t{ isEditMode && <StartTemplateOptions /> }\n\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\tisDistractionFree={ isDistractionFree }\n\t\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-editor__interface-skeleton',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t{ isEditMode && <EditorNotices /> }\n\t\t\t\t\t\t\t\t{ showVisualEditor && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<TemplatePartConverter />\n\t\t\t\t\t\t\t\t\t\t<SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t\t\t\t\t\t</SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t{ ! isLargeViewport && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SiteEditorCanvas />\n\t\t\t\t\t\t\t\t\t\t<BlockRemovalWarningModal\n\t\t\t\t\t\t\t\t\t\t\trules={ blockRemovalRules }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<PatternModal />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ editorMode === 'text' && isEditMode && (\n\t\t\t\t\t\t\t\t\t<CodeEditor />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcutsEditMode />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsecondarySidebar={\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t( ( shouldShowInserter && <InserterSidebar /> ) ||\n\t\t\t\t\t\t\t\t( shouldShowListView && <ListViewSidebar /> ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\tisRightSidebarOpen && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfooter={\n\t\t\t\t\t\t\tshouldShowBlockBreadcrumbs && (\n\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\trootLabelText={ postTypeLabel }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabels={ {\n\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</EditorProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -29,7 +29,7 @@ const BlockPreviewPanel = ({
29
29
  return getBlockFromExample(name, example);
30
30
  }, [name, blockExample, variation]);
31
31
  const viewportWidth = (_blockExample$viewpor = blockExample?.viewportWidth) !== null && _blockExample$viewpor !== void 0 ? _blockExample$viewpor : null;
32
- const previewHeight = '150px';
32
+ const previewHeight = 150;
33
33
  if (!blockExample) {
34
34
  return null;
35
35
  }
@@ -49,7 +49,7 @@ const BlockPreviewPanel = ({
49
49
  additionalStyles: [{
50
50
  css: `
51
51
  body{
52
- min-height:${previewHeight};
52
+ min-height:${previewHeight}px;
53
53
  display:flex;align-items:center;justify-content:center;
54
54
  }
55
55
  `
@@ -1 +1 @@
1
- {"version":3,"names":["BlockPreview","getBlockType","getBlockFromExample","__experimentalSpacer","Spacer","useMemo","BlockPreviewPanel","name","variation","_blockExample$viewpor","blockExample","example","blocks","attributes","className","viewportWidth","previewHeight","createElement","marginX","marginBottom","style","maxHeight","boxSizing","minHeight","additionalStyles","css"],"sources":["@wordpress/edit-site/src/components/global-styles/block-preview-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockPreview } from '@wordpress/block-editor';\nimport { getBlockType, getBlockFromExample } from '@wordpress/blocks';\nimport { __experimentalSpacer as Spacer } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\nconst BlockPreviewPanel = ( { name, variation = '' } ) => {\n\tconst blockExample = getBlockType( name )?.example;\n\tconst blocks = useMemo( () => {\n\t\tif ( ! blockExample ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet example = blockExample;\n\t\tif ( variation ) {\n\t\t\texample = {\n\t\t\t\t...example,\n\t\t\t\tattributes: {\n\t\t\t\t\t...example.attributes,\n\t\t\t\t\tclassName: 'is-style-' + variation,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn getBlockFromExample( name, example );\n\t}, [ name, blockExample, variation ] );\n\n\tconst viewportWidth = blockExample?.viewportWidth ?? null;\n\tconst previewHeight = '150px';\n\n\tif ( ! blockExample ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Spacer marginX={ 4 } marginBottom={ 4 }>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-site-global-styles__block-preview-panel\"\n\t\t\t\tstyle={ { maxHeight: previewHeight, boxSizing: 'initial' } }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t\tminHeight={ previewHeight }\n\t\t\t\t\tadditionalStyles={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcss: `\n\t\t\t\t\t\t\t\tbody{\n\t\t\t\t\t\t\t\t\tmin-height:${ previewHeight };\n\t\t\t\t\t\t\t\t\tdisplay:flex;align-items:center;justify-content:center;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Spacer>\n\t);\n};\n\nexport default BlockPreviewPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,yBAAyB;AACtD,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,mBAAmB;AACrE,SAASC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,MAAMC,iBAAiB,GAAGA,CAAE;EAAEC,IAAI;EAAEC,SAAS,GAAG;AAAG,CAAC,KAAM;EAAA,IAAAC,qBAAA;EACzD,MAAMC,YAAY,GAAGT,YAAY,CAAEM,IAAK,CAAC,EAAEI,OAAO;EAClD,MAAMC,MAAM,GAAGP,OAAO,CAAE,MAAM;IAC7B,IAAK,CAAEK,YAAY,EAAG;MACrB,OAAO,IAAI;IACZ;IAEA,IAAIC,OAAO,GAAGD,YAAY;IAC1B,IAAKF,SAAS,EAAG;MAChBG,OAAO,GAAG;QACT,GAAGA,OAAO;QACVE,UAAU,EAAE;UACX,GAAGF,OAAO,CAACE,UAAU;UACrBC,SAAS,EAAE,WAAW,GAAGN;QAC1B;MACD,CAAC;IACF;IAEA,OAAON,mBAAmB,CAAEK,IAAI,EAAEI,OAAQ,CAAC;EAC5C,CAAC,EAAE,CAAEJ,IAAI,EAAEG,YAAY,EAAEF,SAAS,CAAG,CAAC;EAEtC,MAAMO,aAAa,IAAAN,qBAAA,GAAGC,YAAY,EAAEK,aAAa,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EACzD,MAAMO,aAAa,GAAG,OAAO;EAE7B,IAAK,CAAEN,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OACCO,aAAA,CAACb,MAAM;IAACc,OAAO,EAAG,CAAG;IAACC,YAAY,EAAG;EAAG,GACvCF,aAAA;IACCH,SAAS,EAAC,8CAA8C;IACxDM,KAAK,EAAG;MAAEC,SAAS,EAAEL,aAAa;MAAEM,SAAS,EAAE;IAAU;EAAG,GAE5DL,aAAA,CAACjB,YAAY;IACZY,MAAM,EAAGA,MAAQ;IACjBG,aAAa,EAAGA,aAAe;IAC/BQ,SAAS,EAAGP,aAAe;IAC3BQ,gBAAgB,EAAG,CAClB;MACCC,GAAG,EAAG;AACb;AACA,sBAAuBT,aAAe;AACtC;AACA;AACA;IACM,CAAC;EACC,CACH,CACG,CACE,CAAC;AAEX,CAAC;AAED,eAAeV,iBAAiB"}
1
+ {"version":3,"names":["BlockPreview","getBlockType","getBlockFromExample","__experimentalSpacer","Spacer","useMemo","BlockPreviewPanel","name","variation","_blockExample$viewpor","blockExample","example","blocks","attributes","className","viewportWidth","previewHeight","createElement","marginX","marginBottom","style","maxHeight","boxSizing","minHeight","additionalStyles","css"],"sources":["@wordpress/edit-site/src/components/global-styles/block-preview-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockPreview } from '@wordpress/block-editor';\nimport { getBlockType, getBlockFromExample } from '@wordpress/blocks';\nimport { __experimentalSpacer as Spacer } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\nconst BlockPreviewPanel = ( { name, variation = '' } ) => {\n\tconst blockExample = getBlockType( name )?.example;\n\tconst blocks = useMemo( () => {\n\t\tif ( ! blockExample ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet example = blockExample;\n\t\tif ( variation ) {\n\t\t\texample = {\n\t\t\t\t...example,\n\t\t\t\tattributes: {\n\t\t\t\t\t...example.attributes,\n\t\t\t\t\tclassName: 'is-style-' + variation,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn getBlockFromExample( name, example );\n\t}, [ name, blockExample, variation ] );\n\n\tconst viewportWidth = blockExample?.viewportWidth ?? null;\n\tconst previewHeight = 150;\n\n\tif ( ! blockExample ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Spacer marginX={ 4 } marginBottom={ 4 }>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-site-global-styles__block-preview-panel\"\n\t\t\t\tstyle={ { maxHeight: previewHeight, boxSizing: 'initial' } }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t\tminHeight={ previewHeight }\n\t\t\t\t\tadditionalStyles={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcss: `\n\t\t\t\t\t\t\t\tbody{\n\t\t\t\t\t\t\t\t\tmin-height:${ previewHeight }px;\n\t\t\t\t\t\t\t\t\tdisplay:flex;align-items:center;justify-content:center;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Spacer>\n\t);\n};\n\nexport default BlockPreviewPanel;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,yBAAyB;AACtD,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,mBAAmB;AACrE,SAASC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,MAAMC,iBAAiB,GAAGA,CAAE;EAAEC,IAAI;EAAEC,SAAS,GAAG;AAAG,CAAC,KAAM;EAAA,IAAAC,qBAAA;EACzD,MAAMC,YAAY,GAAGT,YAAY,CAAEM,IAAK,CAAC,EAAEI,OAAO;EAClD,MAAMC,MAAM,GAAGP,OAAO,CAAE,MAAM;IAC7B,IAAK,CAAEK,YAAY,EAAG;MACrB,OAAO,IAAI;IACZ;IAEA,IAAIC,OAAO,GAAGD,YAAY;IAC1B,IAAKF,SAAS,EAAG;MAChBG,OAAO,GAAG;QACT,GAAGA,OAAO;QACVE,UAAU,EAAE;UACX,GAAGF,OAAO,CAACE,UAAU;UACrBC,SAAS,EAAE,WAAW,GAAGN;QAC1B;MACD,CAAC;IACF;IAEA,OAAON,mBAAmB,CAAEK,IAAI,EAAEI,OAAQ,CAAC;EAC5C,CAAC,EAAE,CAAEJ,IAAI,EAAEG,YAAY,EAAEF,SAAS,CAAG,CAAC;EAEtC,MAAMO,aAAa,IAAAN,qBAAA,GAAGC,YAAY,EAAEK,aAAa,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EACzD,MAAMO,aAAa,GAAG,GAAG;EAEzB,IAAK,CAAEN,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OACCO,aAAA,CAACb,MAAM;IAACc,OAAO,EAAG,CAAG;IAACC,YAAY,EAAG;EAAG,GACvCF,aAAA;IACCH,SAAS,EAAC,8CAA8C;IACxDM,KAAK,EAAG;MAAEC,SAAS,EAAEL,aAAa;MAAEM,SAAS,EAAE;IAAU;EAAG,GAE5DL,aAAA,CAACjB,YAAY;IACZY,MAAM,EAAGA,MAAQ;IACjBG,aAAa,EAAGA,aAAe;IAC/BQ,SAAS,EAAGP,aAAe;IAC3BQ,gBAAgB,EAAG,CAClB;MACCC,GAAG,EAAG;AACb;AACA,sBAAuBT,aAAe;AACtC;AACA;AACA;IACM,CAAC;EACC,CACH,CACG,CACE,CAAC;AAEX,CAAC;AAED,eAAeV,iBAAiB"}
@@ -8,7 +8,7 @@ import { CheckboxControl, Flex, privateApis as componentsPrivateApis } from '@wo
8
8
  * Internal dependencies
9
9
  */
10
10
  import { getFontFaceVariantName } from './utils';
11
- import FontFaceDemo from './font-demo';
11
+ import FontDemo from './font-demo';
12
12
  import { unlock } from '../../../lock-unlock';
13
13
  function CollectionFontVariant({
14
14
  face,
@@ -29,7 +29,7 @@ function CollectionFontVariant({
29
29
  } = unlock(componentsPrivateApis);
30
30
  const checkboxId = kebabCase(`${font.slug}-${getFontFaceVariantName(face)}`);
31
31
  return createElement("div", {
32
- className: "font-library-modal__library-font-variant"
32
+ className: "font-library-modal__font-card"
33
33
  }, createElement(Flex, {
34
34
  justify: "flex-start",
35
35
  align: "center",
@@ -41,8 +41,8 @@ function CollectionFontVariant({
41
41
  id: checkboxId
42
42
  }), createElement("label", {
43
43
  htmlFor: checkboxId
44
- }, createElement(FontFaceDemo, {
45
- fontFace: face,
44
+ }, createElement(FontDemo, {
45
+ font: face,
46
46
  text: displayName,
47
47
  onClick: handleToggleActivation
48
48
  }))));
@@ -1 +1 @@
1
- {"version":3,"names":["CheckboxControl","Flex","privateApis","componentsPrivateApis","getFontFaceVariantName","FontFaceDemo","unlock","CollectionFontVariant","face","font","handleToggleVariant","selected","handleToggleActivation","fontFace","displayName","name","kebabCase","checkboxId","slug","createElement","className","justify","align","gap","checked","onChange","__nextHasNoMarginBottom","id","htmlFor","text","onClick"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-variant.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tCheckboxControl,\n\tFlex,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getFontFaceVariantName } from './utils';\nimport FontFaceDemo from './font-demo';\nimport { unlock } from '../../../lock-unlock';\n\nfunction CollectionFontVariant( {\n\tface,\n\tfont,\n\thandleToggleVariant,\n\tselected,\n} ) {\n\tconst handleToggleActivation = () => {\n\t\tif ( font?.fontFace ) {\n\t\t\thandleToggleVariant( font, face );\n\t\t\treturn;\n\t\t}\n\t\thandleToggleVariant( font );\n\t};\n\n\tconst displayName = font.name + ' ' + getFontFaceVariantName( face );\n\tconst { kebabCase } = unlock( componentsPrivateApis );\n\tconst checkboxId = kebabCase(\n\t\t`${ font.slug }-${ getFontFaceVariantName( face ) }`\n\t);\n\n\treturn (\n\t\t<div className=\"font-library-modal__library-font-variant\">\n\t\t\t<Flex justify=\"flex-start\" align=\"center\" gap=\"1rem\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tchecked={ selected }\n\t\t\t\t\tonChange={ handleToggleActivation }\n\t\t\t\t\t__nextHasNoMarginBottom={ true }\n\t\t\t\t\tid={ checkboxId }\n\t\t\t\t/>\n\t\t\t\t<label htmlFor={ checkboxId }>\n\t\t\t\t\t<FontFaceDemo\n\t\t\t\t\t\tfontFace={ face }\n\t\t\t\t\t\ttext={ displayName }\n\t\t\t\t\t\tonClick={ handleToggleActivation }\n\t\t\t\t\t/>\n\t\t\t\t</label>\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n\nexport default CollectionFontVariant;\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,eAAe,EACfC,IAAI,EACJC,WAAW,IAAIC,qBAAqB,QAC9B,uBAAuB;;AAE9B;AACA;AACA;AACA,SAASC,sBAAsB,QAAQ,SAAS;AAChD,OAAOC,YAAY,MAAM,aAAa;AACtC,SAASC,MAAM,QAAQ,sBAAsB;AAE7C,SAASC,qBAAqBA,CAAE;EAC/BC,IAAI;EACJC,IAAI;EACJC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;IACpC,IAAKH,IAAI,EAAEI,QAAQ,EAAG;MACrBH,mBAAmB,CAAED,IAAI,EAAED,IAAK,CAAC;MACjC;IACD;IACAE,mBAAmB,CAAED,IAAK,CAAC;EAC5B,CAAC;EAED,MAAMK,WAAW,GAAGL,IAAI,CAACM,IAAI,GAAG,GAAG,GAAGX,sBAAsB,CAAEI,IAAK,CAAC;EACpE,MAAM;IAAEQ;EAAU,CAAC,GAAGV,MAAM,CAAEH,qBAAsB,CAAC;EACrD,MAAMc,UAAU,GAAGD,SAAS,CAC1B,GAAGP,IAAI,CAACS,IAAM,IAAId,sBAAsB,CAAEI,IAAK,CAAG,EACpD,CAAC;EAED,OACCW,aAAA;IAAKC,SAAS,EAAC;EAA0C,GACxDD,aAAA,CAAClB,IAAI;IAACoB,OAAO,EAAC,YAAY;IAACC,KAAK,EAAC,QAAQ;IAACC,GAAG,EAAC;EAAM,GACnDJ,aAAA,CAACnB,eAAe;IACfwB,OAAO,EAAGb,QAAU;IACpBc,QAAQ,EAAGb,sBAAwB;IACnCc,uBAAuB,EAAG,IAAM;IAChCC,EAAE,EAAGV;EAAY,CACjB,CAAC,EACFE,aAAA;IAAOS,OAAO,EAAGX;EAAY,GAC5BE,aAAA,CAACd,YAAY;IACZQ,QAAQ,EAAGL,IAAM;IACjBqB,IAAI,EAAGf,WAAa;IACpBgB,OAAO,EAAGlB;EAAwB,CAClC,CACK,CACF,CACF,CAAC;AAER;AAEA,eAAeL,qBAAqB"}
1
+ {"version":3,"names":["CheckboxControl","Flex","privateApis","componentsPrivateApis","getFontFaceVariantName","FontDemo","unlock","CollectionFontVariant","face","font","handleToggleVariant","selected","handleToggleActivation","fontFace","displayName","name","kebabCase","checkboxId","slug","createElement","className","justify","align","gap","checked","onChange","__nextHasNoMarginBottom","id","htmlFor","text","onClick"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-variant.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tCheckboxControl,\n\tFlex,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getFontFaceVariantName } from './utils';\nimport FontDemo from './font-demo';\nimport { unlock } from '../../../lock-unlock';\n\nfunction CollectionFontVariant( {\n\tface,\n\tfont,\n\thandleToggleVariant,\n\tselected,\n} ) {\n\tconst handleToggleActivation = () => {\n\t\tif ( font?.fontFace ) {\n\t\t\thandleToggleVariant( font, face );\n\t\t\treturn;\n\t\t}\n\t\thandleToggleVariant( font );\n\t};\n\n\tconst displayName = font.name + ' ' + getFontFaceVariantName( face );\n\tconst { kebabCase } = unlock( componentsPrivateApis );\n\tconst checkboxId = kebabCase(\n\t\t`${ font.slug }-${ getFontFaceVariantName( face ) }`\n\t);\n\n\treturn (\n\t\t<div className=\"font-library-modal__font-card\">\n\t\t\t<Flex justify=\"flex-start\" align=\"center\" gap=\"1rem\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tchecked={ selected }\n\t\t\t\t\tonChange={ handleToggleActivation }\n\t\t\t\t\t__nextHasNoMarginBottom={ true }\n\t\t\t\t\tid={ checkboxId }\n\t\t\t\t/>\n\t\t\t\t<label htmlFor={ checkboxId }>\n\t\t\t\t\t<FontDemo\n\t\t\t\t\t\tfont={ face }\n\t\t\t\t\t\ttext={ displayName }\n\t\t\t\t\t\tonClick={ handleToggleActivation }\n\t\t\t\t\t/>\n\t\t\t\t</label>\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n\nexport default CollectionFontVariant;\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,eAAe,EACfC,IAAI,EACJC,WAAW,IAAIC,qBAAqB,QAC9B,uBAAuB;;AAE9B;AACA;AACA;AACA,SAASC,sBAAsB,QAAQ,SAAS;AAChD,OAAOC,QAAQ,MAAM,aAAa;AAClC,SAASC,MAAM,QAAQ,sBAAsB;AAE7C,SAASC,qBAAqBA,CAAE;EAC/BC,IAAI;EACJC,IAAI;EACJC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;IACpC,IAAKH,IAAI,EAAEI,QAAQ,EAAG;MACrBH,mBAAmB,CAAED,IAAI,EAAED,IAAK,CAAC;MACjC;IACD;IACAE,mBAAmB,CAAED,IAAK,CAAC;EAC5B,CAAC;EAED,MAAMK,WAAW,GAAGL,IAAI,CAACM,IAAI,GAAG,GAAG,GAAGX,sBAAsB,CAAEI,IAAK,CAAC;EACpE,MAAM;IAAEQ;EAAU,CAAC,GAAGV,MAAM,CAAEH,qBAAsB,CAAC;EACrD,MAAMc,UAAU,GAAGD,SAAS,CAC1B,GAAGP,IAAI,CAACS,IAAM,IAAId,sBAAsB,CAAEI,IAAK,CAAG,EACpD,CAAC;EAED,OACCW,aAAA;IAAKC,SAAS,EAAC;EAA+B,GAC7CD,aAAA,CAAClB,IAAI;IAACoB,OAAO,EAAC,YAAY;IAACC,KAAK,EAAC,QAAQ;IAACC,GAAG,EAAC;EAAM,GACnDJ,aAAA,CAACnB,eAAe;IACfwB,OAAO,EAAGb,QAAU;IACpBc,QAAQ,EAAGb,sBAAwB;IACnCc,uBAAuB,EAAG,IAAM;IAChCC,EAAE,EAAGV;EAAY,CACjB,CAAC,EACFE,aAAA;IAAOS,OAAO,EAAGX;EAAY,GAC5BE,aAAA,CAACd,QAAQ;IACRI,IAAI,EAAGD,IAAM;IACbqB,IAAI,EAAGf,WAAa;IACpBgB,OAAO,EAAGlB;EAAwB,CAClC,CACK,CACF,CACF,CAAC;AAER;AAEA,eAAeL,qBAAqB"}
@@ -3,43 +3,38 @@ import { createElement } from "react";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { _n, sprintf } from '@wordpress/i18n';
6
- import { __experimentalText as Text, Button, Flex, FlexItem, Icon } from '@wordpress/components';
6
+ import { __experimentalUseNavigator as useNavigator, __experimentalText as Text, Button, Flex, FlexItem, Icon } from '@wordpress/components';
7
7
 
8
8
  /**
9
9
  * Internal dependencies
10
10
  */
11
11
  import FontDemo from './font-demo';
12
- import { getFamilyPreviewStyle } from './utils/preview-styles';
13
12
  import { chevronRight } from '@wordpress/icons';
14
13
  function FontCard({
15
14
  font,
16
15
  onClick,
17
- variantsText
16
+ variantsText,
17
+ navigatorPath
18
18
  }) {
19
- const fakeFontFace = {
20
- fontStyle: 'normal',
21
- fontWeight: '400',
22
- fontFamily: font.fontFamily,
23
- fake: true
24
- };
25
- const displayFontFace = font.fontFace && font.fontFace.length ? font?.fontFace?.find(face => face.fontStyle === 'normal' && face.fontWeight === '400') || font.fontFace[0] : fakeFontFace;
26
- const demoStyle = getFamilyPreviewStyle(font);
27
19
  const variantsCount = font.fontFace?.length || 1;
28
20
  const style = {
29
21
  cursor: !!onClick ? 'pointer' : 'default'
30
22
  };
23
+ const navigator = useNavigator();
31
24
  return createElement(Button, {
32
- onClick: onClick,
25
+ onClick: () => {
26
+ onClick();
27
+ if (navigatorPath) {
28
+ navigator.goTo(navigatorPath);
29
+ }
30
+ },
33
31
  style: style,
34
32
  className: "font-library-modal__font-card"
35
33
  }, createElement(Flex, {
36
34
  justify: "space-between",
37
35
  wrap: false
38
36
  }, createElement(FontDemo, {
39
- customPreviewUrl: font.preview,
40
- fontFace: displayFontFace,
41
- text: font.name,
42
- style: demoStyle
37
+ font: font
43
38
  }), createElement(Flex, {
44
39
  justify: "flex-end"
45
40
  }, createElement(FlexItem, null, createElement(Text, {
@@ -1 +1 @@
1
- {"version":3,"names":["_n","sprintf","__experimentalText","Text","Button","Flex","FlexItem","Icon","FontDemo","getFamilyPreviewStyle","chevronRight","FontCard","font","onClick","variantsText","fakeFontFace","fontStyle","fontWeight","fontFamily","fake","displayFontFace","fontFace","length","find","face","demoStyle","variantsCount","style","cursor","createElement","className","justify","wrap","customPreviewUrl","preview","text","name","icon"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-card.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _n, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalText as Text,\n\tButton,\n\tFlex,\n\tFlexItem,\n\tIcon,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport FontDemo from './font-demo';\nimport { getFamilyPreviewStyle } from './utils/preview-styles';\nimport { chevronRight } from '@wordpress/icons';\n\nfunction FontCard( { font, onClick, variantsText } ) {\n\tconst fakeFontFace = {\n\t\tfontStyle: 'normal',\n\t\tfontWeight: '400',\n\t\tfontFamily: font.fontFamily,\n\t\tfake: true,\n\t};\n\n\tconst displayFontFace =\n\t\tfont.fontFace && font.fontFace.length\n\t\t\t? font?.fontFace?.find(\n\t\t\t\t\t( face ) =>\n\t\t\t\t\t\tface.fontStyle === 'normal' && face.fontWeight === '400'\n\t\t\t ) || font.fontFace[ 0 ]\n\t\t\t: fakeFontFace;\n\n\tconst demoStyle = getFamilyPreviewStyle( font );\n\n\tconst variantsCount = font.fontFace?.length || 1;\n\n\tconst style = {\n\t\tcursor: !! onClick ? 'pointer' : 'default',\n\t};\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={ onClick }\n\t\t\tstyle={ style }\n\t\t\tclassName=\"font-library-modal__font-card\"\n\t\t>\n\t\t\t<Flex justify=\"space-between\" wrap={ false }>\n\t\t\t\t<FontDemo\n\t\t\t\t\tcustomPreviewUrl={ font.preview }\n\t\t\t\t\tfontFace={ displayFontFace }\n\t\t\t\t\ttext={ font.name }\n\t\t\t\t\tstyle={ demoStyle }\n\t\t\t\t/>\n\t\t\t\t<Flex justify=\"flex-end\">\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Text className=\"font-library-modal__font-card__count\">\n\t\t\t\t\t\t\t{ variantsText ||\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %d: Number of font variants. */\n\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t'%d variant',\n\t\t\t\t\t\t\t\t\t\t'%d variants',\n\t\t\t\t\t\t\t\t\t\tvariantsCount\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tvariantsCount\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Icon icon={ chevronRight } />\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nexport default FontCard;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SACCC,kBAAkB,IAAIC,IAAI,EAC1BC,MAAM,EACNC,IAAI,EACJC,QAAQ,EACRC,IAAI,QACE,uBAAuB;;AAE9B;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,aAAa;AAClC,SAASC,qBAAqB,QAAQ,wBAAwB;AAC9D,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,QAAQA,CAAE;EAAEC,IAAI;EAAEC,OAAO;EAAEC;AAAa,CAAC,EAAG;EACpD,MAAMC,YAAY,GAAG;IACpBC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAEN,IAAI,CAACM,UAAU;IAC3BC,IAAI,EAAE;EACP,CAAC;EAED,MAAMC,eAAe,GACpBR,IAAI,CAACS,QAAQ,IAAIT,IAAI,CAACS,QAAQ,CAACC,MAAM,GAClCV,IAAI,EAAES,QAAQ,EAAEE,IAAI,CAClBC,IAAI,IACLA,IAAI,CAACR,SAAS,KAAK,QAAQ,IAAIQ,IAAI,CAACP,UAAU,KAAK,KACpD,CAAC,IAAIL,IAAI,CAACS,QAAQ,CAAE,CAAC,CAAE,GACvBN,YAAY;EAEhB,MAAMU,SAAS,GAAGhB,qBAAqB,CAAEG,IAAK,CAAC;EAE/C,MAAMc,aAAa,GAAGd,IAAI,CAACS,QAAQ,EAAEC,MAAM,IAAI,CAAC;EAEhD,MAAMK,KAAK,GAAG;IACbC,MAAM,EAAE,CAAC,CAAEf,OAAO,GAAG,SAAS,GAAG;EAClC,CAAC;EAED,OACCgB,aAAA,CAACzB,MAAM;IACNS,OAAO,EAAGA,OAAS;IACnBc,KAAK,EAAGA,KAAO;IACfG,SAAS,EAAC;EAA+B,GAEzCD,aAAA,CAACxB,IAAI;IAAC0B,OAAO,EAAC,eAAe;IAACC,IAAI,EAAG;EAAO,GAC3CH,aAAA,CAACrB,QAAQ;IACRyB,gBAAgB,EAAGrB,IAAI,CAACsB,OAAS;IACjCb,QAAQ,EAAGD,eAAiB;IAC5Be,IAAI,EAAGvB,IAAI,CAACwB,IAAM;IAClBT,KAAK,EAAGF;EAAW,CACnB,CAAC,EACFI,aAAA,CAACxB,IAAI;IAAC0B,OAAO,EAAC;EAAU,GACvBF,aAAA,CAACvB,QAAQ,QACRuB,aAAA,CAAC1B,IAAI;IAAC2B,SAAS,EAAC;EAAsC,GACnDhB,YAAY,IACbb,OAAO,EACN;EACAD,EAAE,CACD,YAAY,EACZ,aAAa,EACb0B,aACD,CAAC,EACDA,aACD,CACI,CACG,CAAC,EACXG,aAAA,CAACvB,QAAQ,QACRuB,aAAA,CAACtB,IAAI;IAAC8B,IAAI,EAAG3B;EAAc,CAAE,CACpB,CACL,CACD,CACC,CAAC;AAEX;AAEA,eAAeC,QAAQ"}
1
+ {"version":3,"names":["_n","sprintf","__experimentalUseNavigator","useNavigator","__experimentalText","Text","Button","Flex","FlexItem","Icon","FontDemo","chevronRight","FontCard","font","onClick","variantsText","navigatorPath","variantsCount","fontFace","length","style","cursor","navigator","createElement","goTo","className","justify","wrap","icon"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-card.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _n, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalText as Text,\n\tButton,\n\tFlex,\n\tFlexItem,\n\tIcon,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport FontDemo from './font-demo';\nimport { chevronRight } from '@wordpress/icons';\n\nfunction FontCard( { font, onClick, variantsText, navigatorPath } ) {\n\tconst variantsCount = font.fontFace?.length || 1;\n\n\tconst style = {\n\t\tcursor: !! onClick ? 'pointer' : 'default',\n\t};\n\n\tconst navigator = useNavigator();\n\n\treturn (\n\t\t<Button\n\t\t\tonClick={ () => {\n\t\t\t\tonClick();\n\t\t\t\tif ( navigatorPath ) {\n\t\t\t\t\tnavigator.goTo( navigatorPath );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tstyle={ style }\n\t\t\tclassName=\"font-library-modal__font-card\"\n\t\t>\n\t\t\t<Flex justify=\"space-between\" wrap={ false }>\n\t\t\t\t<FontDemo font={ font } />\n\t\t\t\t<Flex justify=\"flex-end\">\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Text className=\"font-library-modal__font-card__count\">\n\t\t\t\t\t\t\t{ variantsText ||\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %d: Number of font variants. */\n\t\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t\t'%d variant',\n\t\t\t\t\t\t\t\t\t\t'%d variants',\n\t\t\t\t\t\t\t\t\t\tvariantsCount\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tvariantsCount\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Icon icon={ chevronRight } />\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nexport default FontCard;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SACCC,0BAA0B,IAAIC,YAAY,EAC1CC,kBAAkB,IAAIC,IAAI,EAC1BC,MAAM,EACNC,IAAI,EACJC,QAAQ,EACRC,IAAI,QACE,uBAAuB;;AAE9B;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,aAAa;AAClC,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,QAAQA,CAAE;EAAEC,IAAI;EAAEC,OAAO;EAAEC,YAAY;EAAEC;AAAc,CAAC,EAAG;EACnE,MAAMC,aAAa,GAAGJ,IAAI,CAACK,QAAQ,EAAEC,MAAM,IAAI,CAAC;EAEhD,MAAMC,KAAK,GAAG;IACbC,MAAM,EAAE,CAAC,CAAEP,OAAO,GAAG,SAAS,GAAG;EAClC,CAAC;EAED,MAAMQ,SAAS,GAAGnB,YAAY,CAAC,CAAC;EAEhC,OACCoB,aAAA,CAACjB,MAAM;IACNQ,OAAO,EAAGA,CAAA,KAAM;MACfA,OAAO,CAAC,CAAC;MACT,IAAKE,aAAa,EAAG;QACpBM,SAAS,CAACE,IAAI,CAAER,aAAc,CAAC;MAChC;IACD,CAAG;IACHI,KAAK,EAAGA,KAAO;IACfK,SAAS,EAAC;EAA+B,GAEzCF,aAAA,CAAChB,IAAI;IAACmB,OAAO,EAAC,eAAe;IAACC,IAAI,EAAG;EAAO,GAC3CJ,aAAA,CAACb,QAAQ;IAACG,IAAI,EAAGA;EAAM,CAAE,CAAC,EAC1BU,aAAA,CAAChB,IAAI;IAACmB,OAAO,EAAC;EAAU,GACvBH,aAAA,CAACf,QAAQ,QACRe,aAAA,CAAClB,IAAI;IAACoB,SAAS,EAAC;EAAsC,GACnDV,YAAY,IACbd,OAAO,EACN;EACAD,EAAE,CACD,YAAY,EACZ,aAAa,EACbiB,aACD,CAAC,EACDA,aACD,CACI,CACG,CAAC,EACXM,aAAA,CAACf,QAAQ,QACRe,aAAA,CAACd,IAAI;IAACmB,IAAI,EAAGjB;EAAc,CAAE,CACpB,CACL,CACD,CACC,CAAC;AAEX;AAEA,eAAeC,QAAQ"}
@@ -2,45 +2,48 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { useContext, useEffect, useState, useMemo } from '@wordpress/element';
6
- import { __experimentalSpacer as Spacer, __experimentalInputControl as InputControl, __experimentalText as Text, SelectControl, Spinner, Icon, FlexItem, Flex, Button } from '@wordpress/components';
5
+ import { useContext, useEffect, useState, useMemo, createInterpolateElement } from '@wordpress/element';
6
+ import { __experimentalSpacer as Spacer, __experimentalInputControl as InputControl, __experimentalText as Text, __experimentalHStack as HStack, __experimentalVStack as VStack, __experimentalNavigatorProvider as NavigatorProvider, __experimentalNavigatorScreen as NavigatorScreen, __experimentalNavigatorToParentButton as NavigatorToParentButton, __experimentalHeading as Heading, Notice, SelectControl, Spinner, Icon, FlexItem, Flex, Button, DropdownMenu } from '@wordpress/components';
7
7
  import { debounce } from '@wordpress/compose';
8
- import { __, _x } from '@wordpress/i18n';
9
- import { search, closeSmall } from '@wordpress/icons';
8
+ import { sprintf, __, _x } from '@wordpress/i18n';
9
+ import { search, closeSmall, moreVertical, chevronLeft } from '@wordpress/icons';
10
10
 
11
11
  /**
12
12
  * Internal dependencies
13
13
  */
14
- import TabPanelLayout from './tab-panel-layout';
15
14
  import { FontLibraryContext } from './context';
16
- import FontsGrid from './fonts-grid';
17
15
  import FontCard from './font-card';
18
16
  import filterFonts from './utils/filter-fonts';
19
- import CollectionFontDetails from './collection-font-details';
20
17
  import { toggleFont } from './utils/toggleFont';
21
- import { getFontsOutline } from './utils/fonts-outline';
18
+ import { getFontsOutline, isFontFontFaceInOutline } from './utils/fonts-outline';
22
19
  import GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';
23
20
  import { downloadFontFaceAssets } from './utils';
21
+ import { sortFontFaces } from './utils/sort-font-faces';
22
+ import CollectionFontVariant from './collection-font-variant';
24
23
  const DEFAULT_CATEGORY = {
25
24
  slug: 'all',
26
25
  name: _x('All', 'font categories')
27
26
  };
27
+ const LOCAL_STORAGE_ITEM = 'wp-font-library-google-fonts-permission';
28
+ const MIN_WINDOW_HEIGHT = 500;
28
29
  function FontCollection({
29
30
  slug
30
31
  }) {
31
32
  var _selectedCollection$c;
32
33
  const requiresPermission = slug === 'google-fonts';
33
34
  const getGoogleFontsPermissionFromStorage = () => {
34
- return window.localStorage.getItem('wp-font-library-google-fonts-permission') === 'true';
35
+ return window.localStorage.getItem(LOCAL_STORAGE_ITEM) === 'true';
35
36
  };
36
37
  const [selectedFont, setSelectedFont] = useState(null);
37
38
  const [fontsToInstall, setFontsToInstall] = useState([]);
39
+ const [page, setPage] = useState(1);
38
40
  const [filters, setFilters] = useState({});
39
41
  const [renderConfirmDialog, setRenderConfirmDialog] = useState(requiresPermission && !getGoogleFontsPermissionFromStorage());
40
42
  const {
41
43
  collections,
42
44
  getFontCollection,
43
45
  installFont,
46
+ isInstalling,
44
47
  notice,
45
48
  setNotice
46
49
  } = useContext(FontLibraryContext);
@@ -53,6 +56,10 @@ function FontCollection({
53
56
  window.addEventListener('storage', handleStorage);
54
57
  return () => window.removeEventListener('storage', handleStorage);
55
58
  }, [slug, requiresPermission]);
59
+ const revokeAccess = () => {
60
+ window.localStorage.setItem(LOCAL_STORAGE_ITEM, 'false');
61
+ window.dispatchEvent(new Event('storage'));
62
+ };
56
63
  useEffect(() => {
57
64
  const fetchFontCollection = async () => {
58
65
  try {
@@ -84,30 +91,40 @@ function FontCollection({
84
91
  const collectionCategories = (_selectedCollection$c = selectedCollection?.categories) !== null && _selectedCollection$c !== void 0 ? _selectedCollection$c : [];
85
92
  const categories = [DEFAULT_CATEGORY, ...collectionCategories];
86
93
  const fonts = useMemo(() => filterFonts(collectionFonts, filters), [collectionFonts, filters]);
94
+
95
+ // NOTE: The height of the font library modal unavailable to use for rendering font family items is roughly 417px
96
+ // The height of each font family item is 61px.
97
+ const windowHeight = Math.max(window.innerHeight, MIN_WINDOW_HEIGHT);
98
+ const pageSize = Math.floor((windowHeight - 417) / 61);
99
+ const totalPages = Math.ceil(fonts.length / pageSize);
100
+ const itemsStart = (page - 1) * pageSize;
101
+ const itemsLimit = page * pageSize;
102
+ const items = fonts.slice(itemsStart, itemsLimit);
87
103
  const handleCategoryFilter = category => {
88
104
  setFilters({
89
105
  ...filters,
90
106
  category
91
107
  });
108
+ setPage(1);
92
109
  };
93
110
  const handleUpdateSearchInput = value => {
94
111
  setFilters({
95
112
  ...filters,
96
113
  search: value
97
114
  });
115
+ setPage(1);
98
116
  };
99
117
  const debouncedUpdateSearchInput = debounce(handleUpdateSearchInput, 300);
100
118
  const resetFilters = () => {
101
119
  setFilters({});
120
+ setPage(1);
102
121
  };
103
122
  const resetSearch = () => {
104
123
  setFilters({
105
124
  ...filters,
106
125
  search: ''
107
126
  });
108
- };
109
- const handleUnselectFont = () => {
110
- setSelectedFont(null);
127
+ setPage(1);
111
128
  };
112
129
  const handleToggleVariant = (font, face) => {
113
130
  const newFontsToInstall = toggleFont(font, face, fontsToInstall);
@@ -151,18 +168,53 @@ function FontCollection({
151
168
  }
152
169
  resetFontsToInstall();
153
170
  };
154
- return createElement(TabPanelLayout, {
155
- title: !selectedFont ? selectedCollection.name : selectedFont.name,
156
- description: !selectedFont ? selectedCollection.description : __('Select font variants to install.'),
157
- notice: notice,
158
- handleBack: !!selectedFont && handleUnselectFont,
159
- footer: createElement(Footer, {
160
- handleInstall: handleInstall,
161
- isDisabled: fontsToInstall.length === 0
162
- })
163
- }, renderConfirmDialog && createElement(Fragment, null, createElement(Spacer, {
164
- margin: 8
165
- }), createElement(GoogleFontsConfirmDialog, null)), !renderConfirmDialog && !selectedFont && createElement(Flex, null, createElement(FlexItem, null, createElement(InputControl, {
171
+ const getSortedFontFaces = fontFamily => {
172
+ if (!fontFamily) {
173
+ return [];
174
+ }
175
+ if (!fontFamily.fontFace || !fontFamily.fontFace.length) {
176
+ return [{
177
+ fontFamily: fontFamily.fontFamily,
178
+ fontStyle: 'normal',
179
+ fontWeight: '400'
180
+ }];
181
+ }
182
+ return sortFontFaces(fontFamily.fontFace);
183
+ };
184
+ if (renderConfirmDialog) {
185
+ return createElement(GoogleFontsConfirmDialog, null);
186
+ }
187
+ const ActionsComponent = () => {
188
+ if (slug !== 'google-fonts' || renderConfirmDialog || selectedFont) {
189
+ return null;
190
+ }
191
+ return createElement(DropdownMenu, {
192
+ icon: moreVertical,
193
+ label: __('Actions'),
194
+ popoverProps: {
195
+ position: 'bottom left'
196
+ },
197
+ controls: [{
198
+ title: __('Revoke access to Google Fonts'),
199
+ onClick: revokeAccess
200
+ }]
201
+ });
202
+ };
203
+ return createElement("div", {
204
+ className: "font-library-modal__tabpanel-layout"
205
+ }, createElement(NavigatorProvider, {
206
+ initialPath: "/",
207
+ className: "font-library-modal__tabpanel-layout"
208
+ }, createElement(NavigatorScreen, {
209
+ path: "/"
210
+ }, createElement(HStack, {
211
+ justify: "space-between"
212
+ }, createElement(Heading, {
213
+ level: 2,
214
+ size: 13
215
+ }, selectedCollection.name), createElement(ActionsComponent, null)), createElement(Text, null, selectedCollection.description), createElement(Spacer, {
216
+ margin: 4
217
+ }), createElement(Flex, null, createElement(FlexItem, null, createElement(InputControl, {
166
218
  value: filters.search,
167
219
  placeholder: __('Font name…'),
168
220
  label: __('Search'),
@@ -183,34 +235,112 @@ function FontCollection({
183
235
  key: category.slug
184
236
  }, category.name))))), createElement(Spacer, {
185
237
  margin: 4
186
- }), !renderConfirmDialog && !selectedCollection?.font_families && !notice && createElement(Spinner, null), !renderConfirmDialog && !!selectedCollection?.font_families?.length && !fonts.length && createElement(Text, null, __('No fonts found. Try with a different search term')), !renderConfirmDialog && selectedFont && createElement(CollectionFontDetails, {
187
- font: selectedFont,
188
- handleToggleVariant: handleToggleVariant,
189
- fontToInstallOutline: fontToInstallOutline
190
- }), !renderConfirmDialog && !selectedFont && createElement(FontsGrid, null, fonts.map(font => createElement(FontCard, {
238
+ }), !selectedCollection?.font_families && !notice && createElement(Spinner, null), !!selectedCollection?.font_families?.length && !fonts.length && createElement(Text, null, __('No fonts found. Try with a different search term')), createElement("div", {
239
+ className: "font-library-modal__fonts-grid__main"
240
+ }, items.map(font => createElement(FontCard, {
191
241
  key: font.font_family_settings.slug,
192
242
  font: font.font_family_settings,
243
+ navigatorPath: '/fontFamily',
193
244
  onClick: () => {
194
245
  setSelectedFont(font.font_family_settings);
195
246
  }
196
- }))));
197
- }
198
- function Footer({
199
- handleInstall,
200
- isDisabled
201
- }) {
202
- const {
203
- isInstalling
204
- } = useContext(FontLibraryContext);
205
- return createElement(Flex, {
206
- justify: "flex-end"
247
+ })))), createElement(NavigatorScreen, {
248
+ path: "/fontFamily"
249
+ }, createElement(Flex, {
250
+ justify: "flex-start"
251
+ }, createElement(NavigatorToParentButton, {
252
+ icon: chevronLeft,
253
+ isSmall: true,
254
+ onClick: () => {
255
+ setSelectedFont(null);
256
+ },
257
+ "aria-label": __('Navigate to the previous view')
258
+ }), createElement(Heading, {
259
+ level: 2,
260
+ size: 13,
261
+ className: "edit-site-global-styles-header"
262
+ }, selectedFont?.name)), notice && createElement(Fragment, null, createElement(Spacer, {
263
+ margin: 1
264
+ }), createElement(Notice, {
265
+ status: notice.type,
266
+ onRemove: () => setNotice(null)
267
+ }, notice.message), createElement(Spacer, {
268
+ margin: 1
269
+ })), createElement(Spacer, {
270
+ margin: 4
271
+ }), createElement(Text, null, " ", __('Select font variants to install.'), " "), createElement(Spacer, {
272
+ margin: 4
273
+ }), createElement(VStack, {
274
+ spacing: 0
275
+ }, createElement(Spacer, {
276
+ margin: 8
277
+ }), getSortedFontFaces(selectedFont).map((face, i) => createElement(CollectionFontVariant, {
278
+ font: selectedFont,
279
+ face: face,
280
+ key: `face${i}`,
281
+ handleToggleVariant: handleToggleVariant,
282
+ selected: isFontFontFaceInOutline(selectedFont.slug, selectedFont.fontFace ? face : null,
283
+ // If the font has no fontFace, we want to check if the font is in the outline
284
+ fontToInstallOutline)
285
+ }))), createElement(Spacer, {
286
+ margin: 16
287
+ }))), selectedFont && createElement(Flex, {
288
+ justify: "flex-end",
289
+ className: "font-library-modal__tabpanel-layout__footer"
207
290
  }, createElement(Button, {
208
291
  variant: "primary",
209
292
  onClick: handleInstall,
210
293
  isBusy: isInstalling,
211
- disabled: isDisabled || isInstalling,
294
+ disabled: fontsToInstall.length === 0 || isInstalling,
295
+ __experimentalIsFocusable: true
296
+ }, __('Install'))), !selectedFont && createElement(Flex, {
297
+ justify: "center",
298
+ className: "font-library-modal__tabpanel-layout__footer"
299
+ }, createElement(Button, {
300
+ label: __('First page'),
301
+ size: "compact",
302
+ onClick: () => setPage(1),
303
+ disabled: page === 1,
304
+ __experimentalIsFocusable: true
305
+ }, createElement("span", null, "\xAB")), createElement(Button, {
306
+ label: __('Previous page'),
307
+ size: "compact",
308
+ onClick: () => setPage(page - 1),
309
+ disabled: page === 1,
310
+ __experimentalIsFocusable: true
311
+ }, createElement("span", null, "\u2039")), createElement(HStack, {
312
+ justify: "flex-start",
313
+ expanded: false,
314
+ spacing: 2
315
+ }, createInterpolateElement(sprintf(
316
+ // translators: %s: Total number of pages.
317
+ _x('Page <CurrenPageControl /> of %s', 'paging'), totalPages), {
318
+ CurrenPageControl: createElement(SelectControl, {
319
+ "aria-label": __('Current page'),
320
+ value: page,
321
+ options: [...Array(totalPages)].map((e, i) => {
322
+ return {
323
+ label: i + 1,
324
+ value: i + 1
325
+ };
326
+ }),
327
+ onChange: newPage => setPage(parseInt(newPage)),
328
+ size: 'compact',
329
+ __nextHasNoMarginBottom: true
330
+ })
331
+ })), createElement(Button, {
332
+ label: __('Next page'),
333
+ size: "compact",
334
+ onClick: () => setPage(page + 1),
335
+ disabled: page === totalPages,
336
+ __experimentalIsFocusable: true
337
+ }, createElement("span", null, "\u203A")), createElement(Button, {
338
+ label: __('Last page'),
339
+ size: "compact",
340
+ onClick: () => setPage(totalPages),
341
+ disabled: page === totalPages,
212
342
  __experimentalIsFocusable: true
213
- }, __('Install')));
343
+ }, createElement("span", null, "\xBB"))));
214
344
  }
215
345
  export default FontCollection;
216
346
  //# sourceMappingURL=font-collection.js.map