@wordpress/edit-site 5.28.2 → 5.28.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) 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-details.js +1 -1
  8. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  9. package/build/components/global-styles/font-library-modal/font-collection.js +84 -7
  10. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  11. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  12. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  13. package/build/components/global-styles/font-library-modal/installed-fonts.js +10 -7
  14. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  15. package/build/components/layout/index.js +8 -3
  16. package/build/components/layout/index.js.map +1 -1
  17. package/build/components/layout/router.js +26 -5
  18. package/build/components/layout/router.js.map +1 -1
  19. package/build/components/page-patterns/use-patterns.js +10 -5
  20. package/build/components/page-patterns/use-patterns.js.map +1 -1
  21. package/build/components/page-templates-template-parts/index.js +1 -0
  22. package/build/components/page-templates-template-parts/index.js.map +1 -1
  23. package/build/components/sidebar/index.js +3 -1
  24. package/build/components/sidebar/index.js.map +1 -1
  25. package/build/components/sidebar-navigation-screen-pages/index.js +3 -1
  26. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  27. package/build/store/private-actions.js +3 -1
  28. package/build/store/private-actions.js.map +1 -1
  29. package/build-module/components/add-new-pattern/index.js +18 -8
  30. package/build-module/components/add-new-pattern/index.js.map +1 -1
  31. package/build-module/components/editor/index.js +1 -1
  32. package/build-module/components/editor/index.js.map +1 -1
  33. package/build-module/components/global-styles/block-preview-panel.js +2 -2
  34. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  35. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +1 -1
  36. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  37. package/build-module/components/global-styles/font-library-modal/font-collection.js +87 -10
  38. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  39. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  40. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  41. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +11 -8
  42. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  43. package/build-module/components/layout/index.js +8 -3
  44. package/build-module/components/layout/index.js.map +1 -1
  45. package/build-module/components/layout/router.js +26 -5
  46. package/build-module/components/layout/router.js.map +1 -1
  47. package/build-module/components/page-patterns/use-patterns.js +10 -5
  48. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  49. package/build-module/components/page-templates-template-parts/index.js +1 -0
  50. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  51. package/build-module/components/sidebar/index.js +3 -1
  52. package/build-module/components/sidebar/index.js.map +1 -1
  53. package/build-module/components/sidebar-navigation-screen-pages/index.js +3 -1
  54. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  55. package/build-module/store/private-actions.js +3 -1
  56. package/build-module/store/private-actions.js.map +1 -1
  57. package/build-style/style-rtl.css +24 -3
  58. package/build-style/style.css +24 -3
  59. package/package.json +12 -12
  60. package/src/components/add-new-pattern/index.js +27 -11
  61. package/src/components/editor/index.js +1 -0
  62. package/src/components/global-styles/block-preview-panel.js +2 -2
  63. package/src/components/global-styles/font-library-modal/collection-font-details.js +1 -1
  64. package/src/components/global-styles/font-library-modal/font-collection.js +118 -13
  65. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  66. package/src/components/global-styles/font-library-modal/installed-fonts.js +25 -23
  67. package/src/components/global-styles/font-library-modal/style.scss +2 -5
  68. package/src/components/layout/index.js +47 -30
  69. package/src/components/layout/router.js +31 -2
  70. package/src/components/layout/style.scss +7 -0
  71. package/src/components/page-patterns/style.scss +10 -0
  72. package/src/components/page-patterns/use-patterns.js +13 -5
  73. package/src/components/page-templates-template-parts/index.js +1 -0
  74. package/src/components/page-templates-template-parts/style.scss +6 -0
  75. package/src/components/sidebar/index.js +7 -3
  76. package/src/components/sidebar-navigation-screen-pages/index.js +10 -6
  77. package/src/store/private-actions.js +4 -0
  78. package/build/components/global-styles/font-library-modal/fonts-grid.js +0 -57
  79. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
  80. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +0 -50
  81. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
  82. package/src/components/global-styles/font-library-modal/fonts-grid.js +0 -59
@@ -19,7 +19,6 @@ var _createTemplatePartModal = _interopRequireDefault(require("../create-templat
19
19
  var _sidebarButton = _interopRequireDefault(require("../sidebar-button"));
20
20
  var _lockUnlock = require("../../lock-unlock");
21
21
  var _constants = require("../../utils/constants");
22
- var _usePatternCategories = _interopRequireDefault(require("../sidebar-navigation-screen-patterns/use-pattern-categories"));
23
22
  /**
24
23
  * WordPress dependencies
25
24
  */
@@ -33,7 +32,8 @@ const {
33
32
  useLocation
34
33
  } = (0, _lockUnlock.unlock)(_router.privateApis);
35
34
  const {
36
- CreatePatternModal
35
+ CreatePatternModal,
36
+ useAddPatternCategory
37
37
  } = (0, _lockUnlock.unlock)(_patterns.privateApis);
38
38
  function AddNewPattern() {
39
39
  const history = useHistory();
@@ -53,9 +53,6 @@ function AddNewPattern() {
53
53
  createErrorNotice
54
54
  } = (0, _data.useDispatch)(_notices.store);
55
55
  const patternUploadInputRef = (0, _element.useRef)();
56
- const {
57
- patternCategories
58
- } = (0, _usePatternCategories.default)();
59
56
  function handleCreatePattern({
60
57
  pattern,
61
58
  categoryId
@@ -102,6 +99,10 @@ function AddNewPattern() {
102
99
  },
103
100
  title: (0, _i18n.__)('Import pattern from JSON')
104
101
  });
102
+ const {
103
+ categoryMap,
104
+ findOrCreateTerm
105
+ } = useAddPatternCategory();
105
106
  return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.DropdownMenu, {
106
107
  controls: controls,
107
108
  toggleProps: {
@@ -127,12 +128,21 @@ function AddNewPattern() {
127
128
  const file = event.target.files?.[0];
128
129
  if (!file) return;
129
130
  try {
130
- const currentCategoryId = params.categoryType !== _constants.TEMPLATE_PART_POST_TYPE && patternCategories.find(category => category.name === params.categoryId)?.id;
131
+ let currentCategoryId;
132
+ // When we're not handling template parts, we should
133
+ // add or create the proper pattern category.
134
+ if (params.categoryType !== _constants.TEMPLATE_PART_POST_TYPE) {
135
+ const currentCategory = categoryMap.values().find(term => term.name === params.categoryId);
136
+ if (!!currentCategory) {
137
+ currentCategoryId = currentCategory.id || (await findOrCreateTerm(currentCategory.label));
138
+ }
139
+ }
131
140
  const pattern = await createPatternFromFile(file, currentCategoryId ? [currentCategoryId] : undefined);
132
141
 
133
142
  // Navigate to the All patterns category for the newly created pattern
134
- // if we're not on that page already.
135
- if (!currentCategoryId) {
143
+ // if we're not on that page already and if we're not in the `my-patterns`
144
+ // category.
145
+ if (!currentCategoryId && params.categoryId !== 'my-patterns') {
136
146
  history.push({
137
147
  path: `/patterns`,
138
148
  categoryType: _constants.PATTERN_TYPES.theme,
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_i18n","_icons","_data","_router","_patterns","_coreData","_notices","_createTemplatePartModal","_interopRequireDefault","_sidebarButton","_lockUnlock","_constants","_usePatternCategories","useHistory","useLocation","unlock","routerPrivateApis","CreatePatternModal","editPatternsPrivateApis","AddNewPattern","history","params","showPatternModal","setShowPatternModal","useState","showTemplatePartModal","setShowTemplatePartModal","isBlockBasedTheme","useSelect","select","coreStore","getCurrentTheme","is_block_theme","createPatternFromFile","useDispatch","patternsStore","createSuccessNotice","createErrorNotice","noticesStore","patternUploadInputRef","useRef","patternCategories","usePatternCategories","handleCreatePattern","pattern","categoryId","push","postId","id","postType","PATTERN_TYPES","user","categoryType","theme","canvas","handleCreateTemplatePart","templatePart","TEMPLATE_PART_POST_TYPE","handleError","controls","icon","symbol","onClick","title","__","symbolFilled","upload","current","click","_react","createElement","Fragment","DropdownMenu","toggleProps","as","SidebarButton","plus","label","onClose","onSuccess","onError","default","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","currentCategoryId","find","category","name","undefined","path","PATTERN_DEFAULT_CATEGORY","sprintf","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { plus, symbol, symbolFilled, upload } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\nimport SidebarButton from '../sidebar-button';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { CreatePatternModal } = unlock( editPatternsPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\tconst isBlockBasedTheme = useSelect( ( select ) => {\n\t\treturn select( coreStore ).getCurrentTheme()?.is_block_theme;\n\t}, [] );\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst { patternCategories } = usePatternCategories();\n\n\tfunction handleCreatePattern( { pattern, categoryId } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\tcategoryId,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [\n\t\t{\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: __( 'Create pattern' ),\n\t\t},\n\t];\n\n\tif ( isBlockBasedTheme ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: __( 'Create template part' ),\n\t\t} );\n\t}\n\n\tcontrols.push( {\n\t\ticon: upload,\n\t\tonClick: () => {\n\t\t\tpatternUploadInputRef.current.click();\n\t\t},\n\t\ttitle: __( 'Import pattern from JSON' ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tcontrols={ controls }\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tas: SidebarButton,\n\t\t\t\t} }\n\t\t\t\ticon={ plus }\n\t\t\t\tlabel={ __( 'Create pattern' ) }\n\t\t\t/>\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) return;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst currentCategoryId =\n\t\t\t\t\t\t\tparams.categoryType !== TEMPLATE_PART_POST_TYPE &&\n\t\t\t\t\t\t\tpatternCategories.find(\n\t\t\t\t\t\t\t\t( category ) =>\n\t\t\t\t\t\t\t\t\tcategory.name === params.categoryId\n\t\t\t\t\t\t\t)?.id;\n\t\t\t\t\t\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already.\n\t\t\t\t\t\tif ( ! currentCategoryId ) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpath: `/patterns`,\n\t\t\t\t\t\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAIA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AAKA,IAAAS,wBAAA,GAAAC,sBAAA,CAAAV,OAAA;AACA,IAAAW,cAAA,GAAAD,sBAAA,CAAAV,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,UAAA,GAAAb,OAAA;AAKA,IAAAc,qBAAA,GAAAJ,sBAAA,CAAAV,OAAA;AA3BA;AACA;AACA;;AAcA;AACA;AACA;;AAWA,MAAM;EAAEe,UAAU;EAAEC;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAC/D,MAAM;EAAEC;AAAmB,CAAC,GAAG,IAAAF,kBAAM,EAAEG,qBAAwB,CAAC;AAEjD,SAASC,aAAaA,CAAA,EAAG;EACvC,MAAMC,OAAO,GAAGP,UAAU,CAAC,CAAC;EAC5B,MAAM;IAAEQ;EAAO,CAAC,GAAGP,WAAW,CAAC,CAAC;EAChC,MAAM,CAAEQ,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EACnE,MAAM,CAAEC,qBAAqB,EAAEC,wBAAwB,CAAE,GACxD,IAAAF,iBAAQ,EAAE,KAAM,CAAC;EAClB,MAAMG,iBAAiB,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAClD,OAAOA,MAAM,CAAEC,eAAU,CAAC,CAACC,eAAe,CAAC,CAAC,EAAEC,cAAc;EAC7D,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAsB,CAAC,GAAG,IAAAlB,kBAAM,EAAE,IAAAmB,iBAAW,EAAEC,eAAc,CAAE,CAAC;EACxE,MAAM;IAAEC,mBAAmB;IAAEC;EAAkB,CAAC,GAC/C,IAAAH,iBAAW,EAAEI,cAAa,CAAC;EAC5B,MAAMC,qBAAqB,GAAG,IAAAC,eAAM,EAAC,CAAC;EACtC,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAC,6BAAoB,EAAC,CAAC;EAEpD,SAASC,mBAAmBA,CAAE;IAAEC,OAAO;IAAEC;EAAW,CAAC,EAAG;IACvDtB,mBAAmB,CAAE,KAAM,CAAC;IAE5BH,OAAO,CAAC0B,IAAI,CAAE;MACbC,MAAM,EAAEH,OAAO,CAACI,EAAE;MAClBC,QAAQ,EAAEC,wBAAa,CAACC,IAAI;MAC5BC,YAAY,EAAEF,wBAAa,CAACG,KAAK;MACjCR,UAAU;MACVS,MAAM,EAAE;IACT,CAAE,CAAC;EACJ;EAEA,SAASC,wBAAwBA,CAAEC,YAAY,EAAG;IACjD9B,wBAAwB,CAAE,KAAM,CAAC;;IAEjC;IACAN,OAAO,CAAC0B,IAAI,CAAE;MACbC,MAAM,EAAES,YAAY,CAACR,EAAE;MACvBC,QAAQ,EAAEQ,kCAAuB;MACjCH,MAAM,EAAE;IACT,CAAE,CAAC;EACJ;EAEA,SAASI,WAAWA,CAAA,EAAG;IACtBnC,mBAAmB,CAAE,KAAM,CAAC;IAC5BG,wBAAwB,CAAE,KAAM,CAAC;EAClC;EAEA,MAAMiC,QAAQ,GAAG,CAChB;IACCC,IAAI,EAAEC,aAAM;IACZC,OAAO,EAAEA,CAAA,KAAMvC,mBAAmB,CAAE,IAAK,CAAC;IAC1CwC,KAAK,EAAE,IAAAC,QAAE,EAAE,gBAAiB;EAC7B,CAAC,CACD;EAED,IAAKrC,iBAAiB,EAAG;IACxBgC,QAAQ,CAACb,IAAI,CAAE;MACdc,IAAI,EAAEK,mBAAY;MAClBH,OAAO,EAAEA,CAAA,KAAMpC,wBAAwB,CAAE,IAAK,CAAC;MAC/CqC,KAAK,EAAE,IAAAC,QAAE,EAAE,sBAAuB;IACnC,CAAE,CAAC;EACJ;EAEAL,QAAQ,CAACb,IAAI,CAAE;IACdc,IAAI,EAAEM,aAAM;IACZJ,OAAO,EAAEA,CAAA,KAAM;MACdvB,qBAAqB,CAAC4B,OAAO,CAACC,KAAK,CAAC,CAAC;IACtC,CAAC;IACDL,KAAK,EAAE,IAAAC,QAAE,EAAE,0BAA2B;EACvC,CAAE,CAAC;EAEH,OACC,IAAAK,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACzE,WAAA,CAAA2E,YAAY;IACZb,QAAQ,EAAGA,QAAU;IACrBc,WAAW,EAAG;MACbC,EAAE,EAAEC;IACL,CAAG;IACHf,IAAI,EAAGgB,WAAM;IACbC,KAAK,EAAG,IAAAb,QAAE,EAAE,gBAAiB;EAAG,CAChC,CAAC,EACA1C,gBAAgB,IACjB,IAAA+C,MAAA,CAAAC,aAAA,EAACrD,kBAAkB;IAClB6D,OAAO,EAAGA,CAAA,KAAMvD,mBAAmB,CAAE,KAAM,CAAG;IAC9CwD,SAAS,EAAGpC,mBAAqB;IACjCqC,OAAO,EAAGtB;EAAa,CACvB,CACD,EACCjC,qBAAqB,IACtB,IAAA4C,MAAA,CAAAC,aAAA,EAAC/D,wBAAA,CAAA0E,OAAuB;IACvBC,UAAU,EAAGA,CAAA,KAAMxD,wBAAwB,CAAE,KAAM,CAAG;IACtDyD,MAAM,EAAG,EAAI;IACbC,QAAQ,EAAG7B,wBAA0B;IACrCyB,OAAO,EAAGtB;EAAa,CACvB,CACD,EAED,IAAAW,MAAA,CAAAC,aAAA;IACCe,IAAI,EAAC,MAAM;IACXC,MAAM,EAAC,OAAO;IACdC,MAAM;IACNC,GAAG,EAAGjD,qBAAuB;IAC7BkD,QAAQ,EAAG,MAAQC,KAAK,IAAM;MAC7B,MAAMC,IAAI,GAAGD,KAAK,CAACE,MAAM,CAACC,KAAK,GAAI,CAAC,CAAE;MACtC,IAAK,CAAEF,IAAI,EAAG;MACd,IAAI;QACH,MAAMG,iBAAiB,GACtBzE,MAAM,CAAC+B,YAAY,KAAKK,kCAAuB,IAC/ChB,iBAAiB,CAACsD,IAAI,CACnBC,QAAQ,IACTA,QAAQ,CAACC,IAAI,KAAK5E,MAAM,CAACwB,UAC3B,CAAC,EAAEG,EAAE;QACN,MAAMJ,OAAO,GAAG,MAAMX,qBAAqB,CAC1C0D,IAAI,EACJG,iBAAiB,GACd,CAAEA,iBAAiB,CAAE,GACrBI,SACJ,CAAC;;QAED;QACA;QACA,IAAK,CAAEJ,iBAAiB,EAAG;UAC1B1E,OAAO,CAAC0B,IAAI,CAAE;YACbqD,IAAI,EAAG,WAAU;YACjB/C,YAAY,EAAEF,wBAAa,CAACG,KAAK;YACjCR,UAAU,EAAEuD;UACb,CAAE,CAAC;QACJ;QAEAhE,mBAAmB,CAClB,IAAAiE,aAAO;QACN;QACA,IAAArC,QAAE,EAAE,0BAA2B,CAAC,EAChCpB,OAAO,CAACmB,KAAK,CAACuC,GACf,CAAC,EACD;UACCjB,IAAI,EAAE,UAAU;UAChBrC,EAAE,EAAE;QACL,CACD,CAAC;MACF,CAAC,CAAC,OAAQuD,GAAG,EAAG;QACflE,iBAAiB,CAAEkE,GAAG,CAACC,OAAO,EAAE;UAC/BnB,IAAI,EAAE,UAAU;UAChBrC,EAAE,EAAE;QACL,CAAE,CAAC;MACJ,CAAC,SAAS;QACT0C,KAAK,CAACE,MAAM,CAACa,KAAK,GAAG,EAAE;MACxB;IACD;EAAG,CACH,CACA,CAAC;AAEL"}
1
+ {"version":3,"names":["_components","require","_element","_i18n","_icons","_data","_router","_patterns","_coreData","_notices","_createTemplatePartModal","_interopRequireDefault","_sidebarButton","_lockUnlock","_constants","useHistory","useLocation","unlock","routerPrivateApis","CreatePatternModal","useAddPatternCategory","editPatternsPrivateApis","AddNewPattern","history","params","showPatternModal","setShowPatternModal","useState","showTemplatePartModal","setShowTemplatePartModal","isBlockBasedTheme","useSelect","select","coreStore","getCurrentTheme","is_block_theme","createPatternFromFile","useDispatch","patternsStore","createSuccessNotice","createErrorNotice","noticesStore","patternUploadInputRef","useRef","handleCreatePattern","pattern","categoryId","push","postId","id","postType","PATTERN_TYPES","user","categoryType","theme","canvas","handleCreateTemplatePart","templatePart","TEMPLATE_PART_POST_TYPE","handleError","controls","icon","symbol","onClick","title","__","symbolFilled","upload","current","click","categoryMap","findOrCreateTerm","_react","createElement","Fragment","DropdownMenu","toggleProps","as","SidebarButton","plus","label","onClose","onSuccess","onError","default","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","currentCategoryId","currentCategory","values","find","term","name","undefined","path","PATTERN_DEFAULT_CATEGORY","sprintf","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { plus, symbol, symbolFilled, upload } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\nimport SidebarButton from '../sidebar-button';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { CreatePatternModal, useAddPatternCategory } = unlock(\n\teditPatternsPrivateApis\n);\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\tconst isBlockBasedTheme = useSelect( ( select ) => {\n\t\treturn select( coreStore ).getCurrentTheme()?.is_block_theme;\n\t}, [] );\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\n\tfunction handleCreatePattern( { pattern, categoryId } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\tcategoryId,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [\n\t\t{\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: __( 'Create pattern' ),\n\t\t},\n\t];\n\n\tif ( isBlockBasedTheme ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: __( 'Create template part' ),\n\t\t} );\n\t}\n\n\tcontrols.push( {\n\t\ticon: upload,\n\t\tonClick: () => {\n\t\t\tpatternUploadInputRef.current.click();\n\t\t},\n\t\ttitle: __( 'Import pattern from JSON' ),\n\t} );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tcontrols={ controls }\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tas: SidebarButton,\n\t\t\t\t} }\n\t\t\t\ticon={ plus }\n\t\t\t\tlabel={ __( 'Create pattern' ) }\n\t\t\t/>\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) return;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet currentCategoryId;\n\t\t\t\t\t\t// When we're not handling template parts, we should\n\t\t\t\t\t\t// add or create the proper pattern category.\n\t\t\t\t\t\tif ( params.categoryType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\t\t\t\tconst currentCategory = categoryMap\n\t\t\t\t\t\t\t\t.values()\n\t\t\t\t\t\t\t\t.find(\n\t\t\t\t\t\t\t\t\t( term ) => term.name === params.categoryId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( !! currentCategory ) {\n\t\t\t\t\t\t\t\tcurrentCategoryId =\n\t\t\t\t\t\t\t\t\tcurrentCategory.id ||\n\t\t\t\t\t\t\t\t\t( await findOrCreateTerm(\n\t\t\t\t\t\t\t\t\t\tcurrentCategory.label\n\t\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\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already and if we're not in the `my-patterns`\n\t\t\t\t\t\t// category.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! currentCategoryId &&\n\t\t\t\t\t\t\tparams.categoryId !== 'my-patterns'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpath: `/patterns`,\n\t\t\t\t\t\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -183,7 +183,7 @@ function Editor({
183
183
  rules: blockRemovalRules
184
184
  }), (0, _react.createElement)(_patternModal.default, null)), editorMode === 'text' && isEditMode && (0, _react.createElement)(_codeEditor.default, null), isEditMode && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_editMode.default, null), (0, _react.createElement)(_editor.EditorKeyboardShortcutsRegister, null), (0, _react.createElement)(_editor.EditorKeyboardShortcuts, null))),
185
185
  secondarySidebar: isEditMode && (shouldShowInserter && (0, _react.createElement)(InserterSidebar, null) || shouldShowListView && (0, _react.createElement)(ListViewSidebar, null)),
186
- sidebar: isEditMode && isRightSidebarOpen && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_interface.ComplementaryArea.Slot, {
186
+ sidebar: !isDistractionFree && isEditMode && isRightSidebarOpen && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_interface.ComplementaryArea.Slot, {
187
187
  scope: "core/edit-site"
188
188
  })),
189
189
  footer: shouldShowBlockBreadcrumbs && (0, _react.createElement)(_blockEditor.BlockBreadcrumb, {
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_components","_compose","_preferences","_blockEditor","_interface","_editor","_i18n","_coreData","_sidebarEditMode","_codeEditor","_editMode","_welcomeGuide","_startTemplateOptions","_store","_globalStylesRenderer","_useTitle","_canvasLoader","_lockUnlock","_useEditedEntityRecord","_patternModal","_constants","_siteEditorCanvas","_templatePartConverter","_useSiteEditorSettings","BlockRemovalWarningModal","unlock","blockEditorPrivateApis","ExperimentalEditorProvider","EditorProvider","InserterSidebar","ListViewSidebar","editorPrivateApis","interfaceLabels","body","__","sidebar","actions","footer","blockRemovalRules","Editor","isLoading","record","editedPost","getTitle","isLoaded","hasLoadedPost","useEditedEntityRecord","type","editedPostType","isLargeViewport","useViewportMatch","context","contextPost","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","isDistractionFree","showIconLabels","showBlockBreadcrumbs","postTypeLabel","useSelect","select","get","preferencesStore","getEditedPostContext","getEditorMode","getCanvasMode","editSiteStore","__unstableGetEditorMode","blockEditorStore","getActiveComplementaryArea","interfaceStore","getEntityRecord","coreDataStore","isInserterOpened","isListViewOpened","getPostTypeLabel","editorStore","_context","postId","postType","undefined","name","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","postWithTemplate","title","_POST_TYPE_LABELS$edi","sprintf","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","useTitle","loadingProgressId","useInstanceId","CanvasLoader","settings","useSpecificEditorSettings","isReady","_react","createElement","Fragment","default","id","Notice","status","isDismissible","post","__unstableTemplate","useSubRegistry","SidebarComplementaryAreaFills","InterfaceSkeleton","enableRegionNavigation","className","classnames","notices","EditorSnackbars","content","GlobalStylesRenderer","EditorNotices","SidebarInspectorFill","BlockInspector","BlockToolbar","hideDragHandle","rules","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","secondarySidebar","ComplementaryArea","Slot","scope","BlockBreadcrumb","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","_interopRequireDefault","require","_data","_components","_compose","_preferences","_blockEditor","_interface","_editor","_i18n","_coreData","_sidebarEditMode","_codeEditor","_editMode","_welcomeGuide","_startTemplateOptions","_store","_globalStylesRenderer","_useTitle","_canvasLoader","_lockUnlock","_useEditedEntityRecord","_patternModal","_constants","_siteEditorCanvas","_templatePartConverter","_useSiteEditorSettings","BlockRemovalWarningModal","unlock","blockEditorPrivateApis","ExperimentalEditorProvider","EditorProvider","InserterSidebar","ListViewSidebar","editorPrivateApis","interfaceLabels","body","__","sidebar","actions","footer","blockRemovalRules","Editor","isLoading","record","editedPost","getTitle","isLoaded","hasLoadedPost","useEditedEntityRecord","type","editedPostType","isLargeViewport","useViewportMatch","context","contextPost","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","isDistractionFree","showIconLabels","showBlockBreadcrumbs","postTypeLabel","useSelect","select","get","preferencesStore","getEditedPostContext","getEditorMode","getCanvasMode","editSiteStore","__unstableGetEditorMode","blockEditorStore","getActiveComplementaryArea","interfaceStore","getEntityRecord","coreDataStore","isInserterOpened","isListViewOpened","getPostTypeLabel","editorStore","_context","postId","postType","undefined","name","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","postWithTemplate","title","_POST_TYPE_LABELS$edi","sprintf","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","useTitle","loadingProgressId","useInstanceId","CanvasLoader","settings","useSpecificEditorSettings","isReady","_react","createElement","Fragment","default","id","Notice","status","isDismissible","post","__unstableTemplate","useSubRegistry","SidebarComplementaryAreaFills","InterfaceSkeleton","enableRegionNavigation","className","classnames","notices","EditorSnackbars","content","GlobalStylesRenderer","EditorNotices","SidebarInspectorFill","BlockInspector","BlockToolbar","hideDragHandle","rules","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","secondarySidebar","ComplementaryArea","Slot","scope","BlockBreadcrumb","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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"}
@@ -36,7 +36,7 @@ const BlockPreviewPanel = ({
36
36
  return (0, _blocks.getBlockFromExample)(name, example);
37
37
  }, [name, blockExample, variation]);
38
38
  const viewportWidth = (_blockExample$viewpor = blockExample?.viewportWidth) !== null && _blockExample$viewpor !== void 0 ? _blockExample$viewpor : null;
39
- const previewHeight = '150px';
39
+ const previewHeight = 150;
40
40
  if (!blockExample) {
41
41
  return null;
42
42
  }
@@ -56,7 +56,7 @@ const BlockPreviewPanel = ({
56
56
  additionalStyles: [{
57
57
  css: `
58
58
  body{
59
- min-height:${previewHeight};
59
+ min-height:${previewHeight}px;
60
60
  display:flex;align-items:center;justify-content:center;
61
61
  }
62
62
  `
@@ -1 +1 @@
1
- {"version":3,"names":["_blockEditor","require","_blocks","_components","_element","BlockPreviewPanel","name","variation","_blockExample$viewpor","blockExample","getBlockType","example","blocks","useMemo","attributes","className","getBlockFromExample","viewportWidth","previewHeight","_react","createElement","__experimentalSpacer","marginX","marginBottom","style","maxHeight","boxSizing","BlockPreview","minHeight","additionalStyles","css","_default","exports","default"],"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":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AANA;AACA;AACA;;AAMA,MAAMI,iBAAiB,GAAGA,CAAE;EAAEC,IAAI;EAAEC,SAAS,GAAG;AAAG,CAAC,KAAM;EAAA,IAAAC,qBAAA;EACzD,MAAMC,YAAY,GAAG,IAAAC,oBAAY,EAAEJ,IAAK,CAAC,EAAEK,OAAO;EAClD,MAAMC,MAAM,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC7B,IAAK,CAAEJ,YAAY,EAAG;MACrB,OAAO,IAAI;IACZ;IAEA,IAAIE,OAAO,GAAGF,YAAY;IAC1B,IAAKF,SAAS,EAAG;MAChBI,OAAO,GAAG;QACT,GAAGA,OAAO;QACVG,UAAU,EAAE;UACX,GAAGH,OAAO,CAACG,UAAU;UACrBC,SAAS,EAAE,WAAW,GAAGR;QAC1B;MACD,CAAC;IACF;IAEA,OAAO,IAAAS,2BAAmB,EAAEV,IAAI,EAAEK,OAAQ,CAAC;EAC5C,CAAC,EAAE,CAAEL,IAAI,EAAEG,YAAY,EAAEF,SAAS,CAAG,CAAC;EAEtC,MAAMU,aAAa,IAAAT,qBAAA,GAAGC,YAAY,EAAEQ,aAAa,cAAAT,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EACzD,MAAMU,aAAa,GAAG,OAAO;EAE7B,IAAK,CAAET,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAU,MAAA,CAAAC,aAAA,EAACjB,WAAA,CAAAkB,oBAAM;IAACC,OAAO,EAAG,CAAG;IAACC,YAAY,EAAG;EAAG,GACvC,IAAAJ,MAAA,CAAAC,aAAA;IACCL,SAAS,EAAC,8CAA8C;IACxDS,KAAK,EAAG;MAAEC,SAAS,EAAEP,aAAa;MAAEQ,SAAS,EAAE;IAAU;EAAG,GAE5D,IAAAP,MAAA,CAAAC,aAAA,EAACpB,YAAA,CAAA2B,YAAY;IACZf,MAAM,EAAGA,MAAQ;IACjBK,aAAa,EAAGA,aAAe;IAC/BW,SAAS,EAAGV,aAAe;IAC3BW,gBAAgB,EAAG,CAClB;MACCC,GAAG,EAAG;AACb;AACA,sBAAuBZ,aAAe;AACtC;AACA;AACA;IACM,CAAC;EACC,CACH,CACG,CACE,CAAC;AAEX,CAAC;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa5B,iBAAiB"}
1
+ {"version":3,"names":["_blockEditor","require","_blocks","_components","_element","BlockPreviewPanel","name","variation","_blockExample$viewpor","blockExample","getBlockType","example","blocks","useMemo","attributes","className","getBlockFromExample","viewportWidth","previewHeight","_react","createElement","__experimentalSpacer","marginX","marginBottom","style","maxHeight","boxSizing","BlockPreview","minHeight","additionalStyles","css","_default","exports","default"],"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":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AANA;AACA;AACA;;AAMA,MAAMI,iBAAiB,GAAGA,CAAE;EAAEC,IAAI;EAAEC,SAAS,GAAG;AAAG,CAAC,KAAM;EAAA,IAAAC,qBAAA;EACzD,MAAMC,YAAY,GAAG,IAAAC,oBAAY,EAAEJ,IAAK,CAAC,EAAEK,OAAO;EAClD,MAAMC,MAAM,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC7B,IAAK,CAAEJ,YAAY,EAAG;MACrB,OAAO,IAAI;IACZ;IAEA,IAAIE,OAAO,GAAGF,YAAY;IAC1B,IAAKF,SAAS,EAAG;MAChBI,OAAO,GAAG;QACT,GAAGA,OAAO;QACVG,UAAU,EAAE;UACX,GAAGH,OAAO,CAACG,UAAU;UACrBC,SAAS,EAAE,WAAW,GAAGR;QAC1B;MACD,CAAC;IACF;IAEA,OAAO,IAAAS,2BAAmB,EAAEV,IAAI,EAAEK,OAAQ,CAAC;EAC5C,CAAC,EAAE,CAAEL,IAAI,EAAEG,YAAY,EAAEF,SAAS,CAAG,CAAC;EAEtC,MAAMU,aAAa,IAAAT,qBAAA,GAAGC,YAAY,EAAEQ,aAAa,cAAAT,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EACzD,MAAMU,aAAa,GAAG,GAAG;EAEzB,IAAK,CAAET,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAU,MAAA,CAAAC,aAAA,EAACjB,WAAA,CAAAkB,oBAAM;IAACC,OAAO,EAAG,CAAG;IAACC,YAAY,EAAG;EAAG,GACvC,IAAAJ,MAAA,CAAAC,aAAA;IACCL,SAAS,EAAC,8CAA8C;IACxDS,KAAK,EAAG;MAAEC,SAAS,EAAEP,aAAa;MAAEQ,SAAS,EAAE;IAAU;EAAG,GAE5D,IAAAP,MAAA,CAAAC,aAAA,EAACpB,YAAA,CAAA2B,YAAY;IACZf,MAAM,EAAGA,MAAQ;IACjBK,aAAa,EAAGA,aAAe;IAC/BW,SAAS,EAAGV,aAAe;IAC3BW,gBAAgB,EAAG,CAClB;MACCC,GAAG,EAAG;AACb;AACA,sBAAuBZ,aAAe;AACtC;AACA;AACA;IACM,CAAC;EACC,CACH,CACG,CACE,CAAC;AAEX,CAAC;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa5B,iBAAiB"}
@@ -43,7 +43,7 @@ function CollectionFontDetails({
43
43
  // If the font has no fontFace, we want to check if the font is in the outline
44
44
  fontToInstallOutline)
45
45
  }))), (0, _react.createElement)(_components.__experimentalSpacer, {
46
- margin: 8
46
+ margin: 16
47
47
  }));
48
48
  }
49
49
  var _default = exports.default = CollectionFontDetails;
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_collectionFontVariant","_interopRequireDefault","_fontsOutline","_sortFontFaces","CollectionFontDetails","font","handleToggleVariant","fontToInstallOutline","fontFaces","fontFace","length","sortFontFaces","fontFamily","fontStyle","fontWeight","_react","createElement","Fragment","__experimentalSpacer","margin","__experimentalVStack","spacing","map","face","i","default","key","selected","isFontFontFaceInOutline","slug","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport CollectionFontVariant from './collection-font-variant';\nimport { isFontFontFaceInOutline } from './utils/fonts-outline';\nimport { sortFontFaces } from './utils/sort-font-faces';\n\nfunction CollectionFontDetails( {\n\tfont,\n\thandleToggleVariant,\n\tfontToInstallOutline,\n} ) {\n\tconst fontFaces =\n\t\tfont.fontFace && font.fontFace.length\n\t\t\t? sortFontFaces( font.fontFace )\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\t\tfontWeight: '400',\n\t\t\t\t\t},\n\t\t\t ];\n\n\treturn (\n\t\t<>\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t{ fontFaces.map( ( face, i ) => (\n\t\t\t\t\t<CollectionFontVariant\n\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\t\tselected={ isFontFontFaceInOutline(\n\t\t\t\t\t\t\tfont.slug,\n\t\t\t\t\t\t\tfont.fontFace ? face : null, // If the font has no fontFace, we want to check if the font is in the outline\n\t\t\t\t\t\t\tfontToInstallOutline\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t\t<Spacer margin={ 8 } />\n\t\t</>\n\t);\n}\n\nexport default CollectionFontDetails;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAQA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAbA;AACA;AACA;;AAMA;AACA;AACA;;AAKA,SAASK,qBAAqBA,CAAE;EAC/BC,IAAI;EACJC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAMC,SAAS,GACdH,IAAI,CAACI,QAAQ,IAAIJ,IAAI,CAACI,QAAQ,CAACC,MAAM,GAClC,IAAAC,4BAAa,EAAEN,IAAI,CAACI,QAAS,CAAC,GAC9B,CACA;IACCG,UAAU,EAAEP,IAAI,CAACO,UAAU;IAC3BC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EACb,CAAC,CACA;EAEL,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAJ,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAsB,oBAAM;IAACC,OAAO,EAAG;EAAG,GACpB,IAAAN,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACrBX,SAAS,CAACc,GAAG,CAAE,CAAEC,IAAI,EAAEC,CAAC,KACzB,IAAAT,MAAA,CAAAC,aAAA,EAAChB,sBAAA,CAAAyB,OAAqB;IACrBpB,IAAI,EAAGA,IAAM;IACbkB,IAAI,EAAGA,IAAM;IACbG,GAAG,EAAI,OAAOF,CAAG,EAAG;IACpBlB,mBAAmB,EAAGA,mBAAqB;IAC3CqB,QAAQ,EAAG,IAAAC,qCAAuB,EACjCvB,IAAI,CAACwB,IAAI,EACTxB,IAAI,CAACI,QAAQ,GAAGc,IAAI,GAAG,IAAI;IAAE;IAC7BhB,oBACD;EAAG,CACH,CACA,CACK,CAAC,EACT,IAAAQ,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CACrB,CAAC;AAEL;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAN,OAAA,GAEcrB,qBAAqB"}
1
+ {"version":3,"names":["_components","require","_collectionFontVariant","_interopRequireDefault","_fontsOutline","_sortFontFaces","CollectionFontDetails","font","handleToggleVariant","fontToInstallOutline","fontFaces","fontFace","length","sortFontFaces","fontFamily","fontStyle","fontWeight","_react","createElement","Fragment","__experimentalSpacer","margin","__experimentalVStack","spacing","map","face","i","default","key","selected","isFontFontFaceInOutline","slug","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport CollectionFontVariant from './collection-font-variant';\nimport { isFontFontFaceInOutline } from './utils/fonts-outline';\nimport { sortFontFaces } from './utils/sort-font-faces';\n\nfunction CollectionFontDetails( {\n\tfont,\n\thandleToggleVariant,\n\tfontToInstallOutline,\n} ) {\n\tconst fontFaces =\n\t\tfont.fontFace && font.fontFace.length\n\t\t\t? sortFontFaces( font.fontFace )\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\t\tfontWeight: '400',\n\t\t\t\t\t},\n\t\t\t ];\n\n\treturn (\n\t\t<>\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t{ fontFaces.map( ( face, i ) => (\n\t\t\t\t\t<CollectionFontVariant\n\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\t\tselected={ isFontFontFaceInOutline(\n\t\t\t\t\t\t\tfont.slug,\n\t\t\t\t\t\t\tfont.fontFace ? face : null, // If the font has no fontFace, we want to check if the font is in the outline\n\t\t\t\t\t\t\tfontToInstallOutline\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t\t<Spacer margin={ 16 } />\n\t\t</>\n\t);\n}\n\nexport default CollectionFontDetails;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAQA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAbA;AACA;AACA;;AAMA;AACA;AACA;;AAKA,SAASK,qBAAqBA,CAAE;EAC/BC,IAAI;EACJC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAMC,SAAS,GACdH,IAAI,CAACI,QAAQ,IAAIJ,IAAI,CAACI,QAAQ,CAACC,MAAM,GAClC,IAAAC,4BAAa,EAAEN,IAAI,CAACI,QAAS,CAAC,GAC9B,CACA;IACCG,UAAU,EAAEP,IAAI,CAACO,UAAU;IAC3BC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EACb,CAAC,CACA;EAEL,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAJ,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAsB,oBAAM;IAACC,OAAO,EAAG;EAAG,GACpB,IAAAN,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACrBX,SAAS,CAACc,GAAG,CAAE,CAAEC,IAAI,EAAEC,CAAC,KACzB,IAAAT,MAAA,CAAAC,aAAA,EAAChB,sBAAA,CAAAyB,OAAqB;IACrBpB,IAAI,EAAGA,IAAM;IACbkB,IAAI,EAAGA,IAAM;IACbG,GAAG,EAAI,OAAOF,CAAG,EAAG;IACpBlB,mBAAmB,EAAGA,mBAAqB;IAC3CqB,QAAQ,EAAG,IAAAC,qCAAuB,EACjCvB,IAAI,CAACwB,IAAI,EACTxB,IAAI,CAACI,QAAQ,GAAGc,IAAI,GAAG,IAAI;IAAE;IAC7BhB,oBACD;EAAG,CACH,CACA,CACK,CAAC,EACT,IAAAQ,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAI,CAAE,CACtB,CAAC;AAEL;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAN,OAAA,GAEcrB,qBAAqB"}
@@ -13,7 +13,6 @@ var _i18n = require("@wordpress/i18n");
13
13
  var _icons = require("@wordpress/icons");
14
14
  var _tabPanelLayout = _interopRequireDefault(require("./tab-panel-layout"));
15
15
  var _context = require("./context");
16
- var _fontsGrid = _interopRequireDefault(require("./fonts-grid"));
17
16
  var _fontCard = _interopRequireDefault(require("./font-card"));
18
17
  var _filterFonts = _interopRequireDefault(require("./utils/filter-fonts"));
19
18
  var _collectionFontDetails = _interopRequireDefault(require("./collection-font-details"));
@@ -43,6 +42,7 @@ function FontCollection({
43
42
  };
44
43
  const [selectedFont, setSelectedFont] = (0, _element.useState)(null);
45
44
  const [fontsToInstall, setFontsToInstall] = (0, _element.useState)([]);
45
+ const [page, setPage] = (0, _element.useState)(1);
46
46
  const [filters, setFilters] = (0, _element.useState)({});
47
47
  const [renderConfirmDialog, setRenderConfirmDialog] = (0, _element.useState)(requiresPermission && !getGoogleFontsPermissionFromStorage());
48
48
  const {
@@ -92,27 +92,39 @@ function FontCollection({
92
92
  const collectionCategories = (_selectedCollection$c = selectedCollection?.categories) !== null && _selectedCollection$c !== void 0 ? _selectedCollection$c : [];
93
93
  const categories = [DEFAULT_CATEGORY, ...collectionCategories];
94
94
  const fonts = (0, _element.useMemo)(() => (0, _filterFonts.default)(collectionFonts, filters), [collectionFonts, filters]);
95
+
96
+ // NOTE: The height of the font library modal unavailable to use for rendering font family items is roughly 417px
97
+ // The height of each font family item is 61px.
98
+ const pageSize = Math.floor((window.innerHeight - 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);
95
103
  const handleCategoryFilter = category => {
96
104
  setFilters({
97
105
  ...filters,
98
106
  category
99
107
  });
108
+ setPage(1);
100
109
  };
101
110
  const handleUpdateSearchInput = value => {
102
111
  setFilters({
103
112
  ...filters,
104
113
  search: value
105
114
  });
115
+ setPage(1);
106
116
  };
107
117
  const debouncedUpdateSearchInput = (0, _compose.debounce)(handleUpdateSearchInput, 300);
108
118
  const resetFilters = () => {
109
119
  setFilters({});
120
+ setPage(1);
110
121
  };
111
122
  const resetSearch = () => {
112
123
  setFilters({
113
124
  ...filters,
114
125
  search: ''
115
126
  });
127
+ setPage(1);
116
128
  };
117
129
  const handleUnselectFont = () => {
118
130
  setSelectedFont(null);
@@ -159,15 +171,25 @@ function FontCollection({
159
171
  }
160
172
  resetFontsToInstall();
161
173
  };
174
+ let footerComponent = null;
175
+ if (selectedFont) {
176
+ footerComponent = (0, _react.createElement)(InstallFooter, {
177
+ handleInstall: handleInstall,
178
+ isDisabled: fontsToInstall.length === 0
179
+ });
180
+ } else if (!renderConfirmDialog && totalPages > 1) {
181
+ footerComponent = (0, _react.createElement)(PaginationFooter, {
182
+ page: page,
183
+ totalPages: totalPages,
184
+ setPage: setPage
185
+ });
186
+ }
162
187
  return (0, _react.createElement)(_tabPanelLayout.default, {
163
188
  title: !selectedFont ? selectedCollection.name : selectedFont.name,
164
189
  description: !selectedFont ? selectedCollection.description : (0, _i18n.__)('Select font variants to install.'),
165
190
  notice: notice,
166
191
  handleBack: !!selectedFont && handleUnselectFont,
167
- footer: (0, _react.createElement)(Footer, {
168
- handleInstall: handleInstall,
169
- isDisabled: fontsToInstall.length === 0
170
- })
192
+ footer: footerComponent
171
193
  }, renderConfirmDialog && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.__experimentalSpacer, {
172
194
  margin: 8
173
195
  }), (0, _react.createElement)(_googleFontsConfirmDialog.default, null)), !renderConfirmDialog && !selectedFont && (0, _react.createElement)(_components.Flex, null, (0, _react.createElement)(_components.FlexItem, null, (0, _react.createElement)(_components.__experimentalInputControl, {
@@ -195,7 +217,9 @@ function FontCollection({
195
217
  font: selectedFont,
196
218
  handleToggleVariant: handleToggleVariant,
197
219
  fontToInstallOutline: fontToInstallOutline
198
- }), !renderConfirmDialog && !selectedFont && (0, _react.createElement)(_fontsGrid.default, null, fonts.map(font => (0, _react.createElement)(_fontCard.default, {
220
+ }), !renderConfirmDialog && !selectedFont && (0, _react.createElement)("div", {
221
+ className: "font-library-modal__fonts-grid__main"
222
+ }, items.map(font => (0, _react.createElement)(_fontCard.default, {
199
223
  key: font.font_family_settings.slug,
200
224
  font: font.font_family_settings,
201
225
  onClick: () => {
@@ -203,7 +227,60 @@ function FontCollection({
203
227
  }
204
228
  }))));
205
229
  }
206
- function Footer({
230
+ function PaginationFooter({
231
+ page,
232
+ totalPages,
233
+ setPage
234
+ }) {
235
+ return (0, _react.createElement)(_components.Flex, {
236
+ justify: "center"
237
+ }, (0, _react.createElement)(_components.Button, {
238
+ label: (0, _i18n.__)('First page'),
239
+ size: "compact",
240
+ onClick: () => setPage(1),
241
+ disabled: page === 1,
242
+ __experimentalIsFocusable: true
243
+ }, (0, _react.createElement)("span", null, "\xAB")), (0, _react.createElement)(_components.Button, {
244
+ label: (0, _i18n.__)('Previous page'),
245
+ size: "compact",
246
+ onClick: () => setPage(page - 1),
247
+ disabled: page === 1,
248
+ __experimentalIsFocusable: true
249
+ }, (0, _react.createElement)("span", null, "\u2039")), (0, _react.createElement)(_components.__experimentalHStack, {
250
+ justify: "flex-start",
251
+ expanded: false,
252
+ spacing: 2
253
+ }, (0, _element.createInterpolateElement)((0, _i18n.sprintf)(
254
+ // translators: %s: Total number of pages.
255
+ (0, _i18n._x)('Page <CurrenPageControl /> of %s', 'paging'), totalPages), {
256
+ CurrenPageControl: (0, _react.createElement)(_components.SelectControl, {
257
+ "aria-label": (0, _i18n.__)('Current page'),
258
+ value: page,
259
+ options: [...Array(totalPages)].map((e, i) => {
260
+ return {
261
+ label: i + 1,
262
+ value: i + 1
263
+ };
264
+ }),
265
+ onChange: newPage => setPage(parseInt(newPage)),
266
+ size: 'compact',
267
+ __nextHasNoMarginBottom: true
268
+ })
269
+ })), (0, _react.createElement)(_components.Button, {
270
+ label: (0, _i18n.__)('Next page'),
271
+ size: "compact",
272
+ onClick: () => setPage(page + 1),
273
+ disabled: page === totalPages,
274
+ __experimentalIsFocusable: true
275
+ }, (0, _react.createElement)("span", null, "\u203A")), (0, _react.createElement)(_components.Button, {
276
+ label: (0, _i18n.__)('Last page'),
277
+ size: "compact",
278
+ onClick: () => setPage(totalPages),
279
+ disabled: page === totalPages,
280
+ __experimentalIsFocusable: true
281
+ }, (0, _react.createElement)("span", null, "\xBB")));
282
+ }
283
+ function InstallFooter({
207
284
  handleInstall,
208
285
  isDisabled
209
286
  }) {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_components","_compose","_i18n","_icons","_tabPanelLayout","_interopRequireDefault","_context","_fontsGrid","_fontCard","_filterFonts","_collectionFontDetails","_toggleFont","_fontsOutline","_googleFontsConfirmDialog","_utils","DEFAULT_CATEGORY","slug","name","_x","FontCollection","_selectedCollection$c","requiresPermission","getGoogleFontsPermissionFromStorage","window","localStorage","getItem","selectedFont","setSelectedFont","useState","fontsToInstall","setFontsToInstall","filters","setFilters","renderConfirmDialog","setRenderConfirmDialog","collections","getFontCollection","installFont","notice","setNotice","useContext","FontLibraryContext","selectedCollection","find","collection","useEffect","handleStorage","addEventListener","removeEventListener","fetchFontCollection","resetFilters","e","type","message","collectionFonts","useMemo","_selectedCollection$f","font_families","collectionCategories","categories","fonts","filterFonts","handleCategoryFilter","category","handleUpdateSearchInput","value","search","debouncedUpdateSearchInput","debounce","resetSearch","handleUnselectFont","handleToggleVariant","font","face","newFontsToInstall","toggleFont","fontToInstallOutline","getFontsOutline","resetFontsToInstall","handleInstall","fontFamily","fontFace","Promise","all","map","src","file","downloadFontFaceAssets","error","__","_react","createElement","default","title","description","handleBack","footer","Footer","isDisabled","length","Fragment","__experimentalSpacer","margin","Flex","FlexItem","__experimentalInputControl","placeholder","label","onChange","prefix","Icon","icon","suffix","closeSmall","onClick","SelectControl","key","Spinner","__experimentalText","font_family_settings","isInstalling","justify","Button","variant","isBusy","disabled","__experimentalIsFocusable","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-collection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext, useEffect, useState, useMemo } from '@wordpress/element';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalInputControl as InputControl,\n\t__experimentalText as Text,\n\tSelectControl,\n\tSpinner,\n\tIcon,\n\tFlexItem,\n\tFlex,\n\tButton,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { __, _x } from '@wordpress/i18n';\nimport { search, closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TabPanelLayout from './tab-panel-layout';\nimport { FontLibraryContext } from './context';\nimport FontsGrid from './fonts-grid';\nimport FontCard from './font-card';\nimport filterFonts from './utils/filter-fonts';\nimport CollectionFontDetails from './collection-font-details';\nimport { toggleFont } from './utils/toggleFont';\nimport { getFontsOutline } from './utils/fonts-outline';\nimport GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';\nimport { downloadFontFaceAssets } from './utils';\n\nconst DEFAULT_CATEGORY = {\n\tslug: 'all',\n\tname: _x( 'All', 'font categories' ),\n};\nfunction FontCollection( { slug } ) {\n\tconst requiresPermission = slug === 'google-fonts';\n\n\tconst getGoogleFontsPermissionFromStorage = () => {\n\t\treturn (\n\t\t\twindow.localStorage.getItem(\n\t\t\t\t'wp-font-library-google-fonts-permission'\n\t\t\t) === 'true'\n\t\t);\n\t};\n\n\tconst [ selectedFont, setSelectedFont ] = useState( null );\n\tconst [ fontsToInstall, setFontsToInstall ] = useState( [] );\n\tconst [ filters, setFilters ] = useState( {} );\n\tconst [ renderConfirmDialog, setRenderConfirmDialog ] = useState(\n\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t);\n\tconst { collections, getFontCollection, installFont, notice, setNotice } =\n\t\tuseContext( FontLibraryContext );\n\tconst selectedCollection = collections.find(\n\t\t( collection ) => collection.slug === slug\n\t);\n\n\tuseEffect( () => {\n\t\tconst handleStorage = () => {\n\t\t\tsetRenderConfirmDialog(\n\t\t\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t\t\t);\n\t\t};\n\t\thandleStorage();\n\t\twindow.addEventListener( 'storage', handleStorage );\n\t\treturn () => window.removeEventListener( 'storage', handleStorage );\n\t}, [ slug, requiresPermission ] );\n\n\tuseEffect( () => {\n\t\tconst fetchFontCollection = async () => {\n\t\t\ttry {\n\t\t\t\tawait getFontCollection( slug );\n\t\t\t\tresetFilters();\n\t\t\t} catch ( e ) {\n\t\t\t\tif ( ! notice ) {\n\t\t\t\t\tsetNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: e?.message,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tfetchFontCollection();\n\t}, [ slug, getFontCollection, setNotice, notice ] );\n\n\tuseEffect( () => {\n\t\tsetSelectedFont( null );\n\t\tsetNotice( null );\n\t}, [ slug, setNotice ] );\n\n\tuseEffect( () => {\n\t\t// If the selected fonts change, reset the selected fonts to install\n\t\tsetFontsToInstall( [] );\n\t}, [ selectedFont ] );\n\n\tconst collectionFonts = useMemo(\n\t\t() => selectedCollection?.font_families ?? [],\n\t\t[ selectedCollection ]\n\t);\n\tconst collectionCategories = selectedCollection?.categories ?? [];\n\n\tconst categories = [ DEFAULT_CATEGORY, ...collectionCategories ];\n\n\tconst fonts = useMemo(\n\t\t() => filterFonts( collectionFonts, filters ),\n\t\t[ collectionFonts, filters ]\n\t);\n\n\tconst handleCategoryFilter = ( category ) => {\n\t\tsetFilters( { ...filters, category } );\n\t};\n\n\tconst handleUpdateSearchInput = ( value ) => {\n\t\tsetFilters( { ...filters, search: value } );\n\t};\n\n\tconst debouncedUpdateSearchInput = debounce( handleUpdateSearchInput, 300 );\n\n\tconst resetFilters = () => {\n\t\tsetFilters( {} );\n\t};\n\n\tconst resetSearch = () => {\n\t\tsetFilters( { ...filters, search: '' } );\n\t};\n\n\tconst handleUnselectFont = () => {\n\t\tsetSelectedFont( null );\n\t};\n\n\tconst handleToggleVariant = ( font, face ) => {\n\t\tconst newFontsToInstall = toggleFont( font, face, fontsToInstall );\n\t\tsetFontsToInstall( newFontsToInstall );\n\t};\n\n\tconst fontToInstallOutline = getFontsOutline( fontsToInstall );\n\n\tconst resetFontsToInstall = () => {\n\t\tsetFontsToInstall( [] );\n\t};\n\n\tconst handleInstall = async () => {\n\t\tsetNotice( null );\n\n\t\tconst fontFamily = fontsToInstall[ 0 ];\n\n\t\ttry {\n\t\t\tif ( fontFamily?.fontFace ) {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tfontFamily.fontFace.map( async ( fontFace ) => {\n\t\t\t\t\t\tif ( fontFace.src ) {\n\t\t\t\t\t\t\tfontFace.file = await downloadFontFaceAssets(\n\t\t\t\t\t\t\t\tfontFace.src\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}\n\t\t} catch ( error ) {\n\t\t\t// If any of the fonts fail to download,\n\t\t\t// show an error notice and stop the request from being sent.\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: __(\n\t\t\t\t\t'Error installing the fonts, could not be downloaded.'\n\t\t\t\t),\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait installFont( fontFamily );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Fonts were installed successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: error.message,\n\t\t\t} );\n\t\t}\n\t\tresetFontsToInstall();\n\t};\n\n\treturn (\n\t\t<TabPanelLayout\n\t\t\ttitle={\n\t\t\t\t! selectedFont ? selectedCollection.name : selectedFont.name\n\t\t\t}\n\t\t\tdescription={\n\t\t\t\t! selectedFont\n\t\t\t\t\t? selectedCollection.description\n\t\t\t\t\t: __( 'Select font variants to install.' )\n\t\t\t}\n\t\t\tnotice={ notice }\n\t\t\thandleBack={ !! selectedFont && handleUnselectFont }\n\t\t\tfooter={\n\t\t\t\t<Footer\n\t\t\t\t\thandleInstall={ handleInstall }\n\t\t\t\t\tisDisabled={ fontsToInstall.length === 0 }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ renderConfirmDialog && (\n\t\t\t\t<>\n\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t<GoogleFontsConfirmDialog />\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && ! selectedFont && (\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tvalue={ filters.search }\n\t\t\t\t\t\t\tplaceholder={ __( 'Font name…' ) }\n\t\t\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\t\t\tonChange={ debouncedUpdateSearchInput }\n\t\t\t\t\t\t\tprefix={ <Icon icon={ search } /> }\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\tfilters?.search ? (\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\t\tonClick={ resetSearch }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\tvalue={ filters.category }\n\t\t\t\t\t\t\tonChange={ handleCategoryFilter }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ categories &&\n\t\t\t\t\t\t\t\tcategories.map( ( category ) => (\n\t\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\t\tvalue={ category.slug }\n\t\t\t\t\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ category.name }\n\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</SelectControl>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t) }\n\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t{ ! renderConfirmDialog &&\n\t\t\t\t! selectedCollection?.font_families &&\n\t\t\t\t! notice && <Spinner /> }\n\n\t\t\t{ ! renderConfirmDialog &&\n\t\t\t\t!! selectedCollection?.font_families?.length &&\n\t\t\t\t! fonts.length && (\n\t\t\t\t\t<Text>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'No fonts found. Try with a different search term'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && selectedFont && (\n\t\t\t\t<CollectionFontDetails\n\t\t\t\t\tfont={ selectedFont }\n\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\tfontToInstallOutline={ fontToInstallOutline }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && ! selectedFont && (\n\t\t\t\t<FontsGrid>\n\t\t\t\t\t{ fonts.map( ( font ) => (\n\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\tkey={ font.font_family_settings.slug }\n\t\t\t\t\t\t\tfont={ font.font_family_settings }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetSelectedFont( font.font_family_settings );\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</FontsGrid>\n\t\t\t) }\n\t\t</TabPanelLayout>\n\t);\n}\n\nfunction Footer( { handleInstall, isDisabled } ) {\n\tconst { isInstalling } = useContext( FontLibraryContext );\n\n\treturn (\n\t\t<Flex justify=\"flex-end\">\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ handleInstall }\n\t\t\t\tisBusy={ isInstalling }\n\t\t\t\tdisabled={ isDisabled || isInstalling }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t{ __( 'Install' ) }\n\t\t\t</Button>\n\t\t</Flex>\n\t);\n}\n\nexport default FontCollection;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_components","_compose","_i18n","_icons","_tabPanelLayout","_interopRequireDefault","_context","_fontCard","_filterFonts","_collectionFontDetails","_toggleFont","_fontsOutline","_googleFontsConfirmDialog","_utils","DEFAULT_CATEGORY","slug","name","_x","FontCollection","_selectedCollection$c","requiresPermission","getGoogleFontsPermissionFromStorage","window","localStorage","getItem","selectedFont","setSelectedFont","useState","fontsToInstall","setFontsToInstall","page","setPage","filters","setFilters","renderConfirmDialog","setRenderConfirmDialog","collections","getFontCollection","installFont","notice","setNotice","useContext","FontLibraryContext","selectedCollection","find","collection","useEffect","handleStorage","addEventListener","removeEventListener","fetchFontCollection","resetFilters","e","type","message","collectionFonts","useMemo","_selectedCollection$f","font_families","collectionCategories","categories","fonts","filterFonts","pageSize","Math","floor","innerHeight","totalPages","ceil","length","itemsStart","itemsLimit","items","slice","handleCategoryFilter","category","handleUpdateSearchInput","value","search","debouncedUpdateSearchInput","debounce","resetSearch","handleUnselectFont","handleToggleVariant","font","face","newFontsToInstall","toggleFont","fontToInstallOutline","getFontsOutline","resetFontsToInstall","handleInstall","fontFamily","fontFace","Promise","all","map","src","file","downloadFontFaceAssets","error","__","footerComponent","_react","createElement","InstallFooter","isDisabled","PaginationFooter","default","title","description","handleBack","footer","Fragment","__experimentalSpacer","margin","Flex","FlexItem","__experimentalInputControl","placeholder","label","onChange","prefix","Icon","icon","suffix","closeSmall","onClick","SelectControl","key","Spinner","__experimentalText","className","font_family_settings","justify","Button","size","disabled","__experimentalIsFocusable","__experimentalHStack","expanded","spacing","createInterpolateElement","sprintf","CurrenPageControl","options","Array","i","newPage","parseInt","__nextHasNoMarginBottom","isInstalling","variant","isBusy","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-collection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalInputControl as InputControl,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tSelectControl,\n\tSpinner,\n\tIcon,\n\tFlexItem,\n\tFlex,\n\tButton,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { sprintf, __, _x } from '@wordpress/i18n';\nimport { search, closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TabPanelLayout from './tab-panel-layout';\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport filterFonts from './utils/filter-fonts';\nimport CollectionFontDetails from './collection-font-details';\nimport { toggleFont } from './utils/toggleFont';\nimport { getFontsOutline } from './utils/fonts-outline';\nimport GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';\nimport { downloadFontFaceAssets } from './utils';\n\nconst DEFAULT_CATEGORY = {\n\tslug: 'all',\n\tname: _x( 'All', 'font categories' ),\n};\nfunction FontCollection( { slug } ) {\n\tconst requiresPermission = slug === 'google-fonts';\n\n\tconst getGoogleFontsPermissionFromStorage = () => {\n\t\treturn (\n\t\t\twindow.localStorage.getItem(\n\t\t\t\t'wp-font-library-google-fonts-permission'\n\t\t\t) === 'true'\n\t\t);\n\t};\n\n\tconst [ selectedFont, setSelectedFont ] = useState( null );\n\tconst [ fontsToInstall, setFontsToInstall ] = useState( [] );\n\tconst [ page, setPage ] = useState( 1 );\n\tconst [ filters, setFilters ] = useState( {} );\n\tconst [ renderConfirmDialog, setRenderConfirmDialog ] = useState(\n\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t);\n\tconst { collections, getFontCollection, installFont, notice, setNotice } =\n\t\tuseContext( FontLibraryContext );\n\tconst selectedCollection = collections.find(\n\t\t( collection ) => collection.slug === slug\n\t);\n\n\tuseEffect( () => {\n\t\tconst handleStorage = () => {\n\t\t\tsetRenderConfirmDialog(\n\t\t\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t\t\t);\n\t\t};\n\t\thandleStorage();\n\t\twindow.addEventListener( 'storage', handleStorage );\n\t\treturn () => window.removeEventListener( 'storage', handleStorage );\n\t}, [ slug, requiresPermission ] );\n\n\tuseEffect( () => {\n\t\tconst fetchFontCollection = async () => {\n\t\t\ttry {\n\t\t\t\tawait getFontCollection( slug );\n\t\t\t\tresetFilters();\n\t\t\t} catch ( e ) {\n\t\t\t\tif ( ! notice ) {\n\t\t\t\t\tsetNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: e?.message,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tfetchFontCollection();\n\t}, [ slug, getFontCollection, setNotice, notice ] );\n\n\tuseEffect( () => {\n\t\tsetSelectedFont( null );\n\t\tsetNotice( null );\n\t}, [ slug, setNotice ] );\n\n\tuseEffect( () => {\n\t\t// If the selected fonts change, reset the selected fonts to install\n\t\tsetFontsToInstall( [] );\n\t}, [ selectedFont ] );\n\n\tconst collectionFonts = useMemo(\n\t\t() => selectedCollection?.font_families ?? [],\n\t\t[ selectedCollection ]\n\t);\n\tconst collectionCategories = selectedCollection?.categories ?? [];\n\n\tconst categories = [ DEFAULT_CATEGORY, ...collectionCategories ];\n\n\tconst fonts = useMemo(\n\t\t() => filterFonts( collectionFonts, filters ),\n\t\t[ collectionFonts, filters ]\n\t);\n\n\t// NOTE: The height of the font library modal unavailable to use for rendering font family items is roughly 417px\n\t// The height of each font family item is 61px.\n\tconst pageSize = Math.floor( ( window.innerHeight - 417 ) / 61 );\n\tconst totalPages = Math.ceil( fonts.length / pageSize );\n\tconst itemsStart = ( page - 1 ) * pageSize;\n\tconst itemsLimit = page * pageSize;\n\tconst items = fonts.slice( itemsStart, itemsLimit );\n\n\tconst handleCategoryFilter = ( category ) => {\n\t\tsetFilters( { ...filters, category } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst handleUpdateSearchInput = ( value ) => {\n\t\tsetFilters( { ...filters, search: value } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst debouncedUpdateSearchInput = debounce( handleUpdateSearchInput, 300 );\n\n\tconst resetFilters = () => {\n\t\tsetFilters( {} );\n\t\tsetPage( 1 );\n\t};\n\n\tconst resetSearch = () => {\n\t\tsetFilters( { ...filters, search: '' } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst handleUnselectFont = () => {\n\t\tsetSelectedFont( null );\n\t};\n\n\tconst handleToggleVariant = ( font, face ) => {\n\t\tconst newFontsToInstall = toggleFont( font, face, fontsToInstall );\n\t\tsetFontsToInstall( newFontsToInstall );\n\t};\n\n\tconst fontToInstallOutline = getFontsOutline( fontsToInstall );\n\n\tconst resetFontsToInstall = () => {\n\t\tsetFontsToInstall( [] );\n\t};\n\n\tconst handleInstall = async () => {\n\t\tsetNotice( null );\n\n\t\tconst fontFamily = fontsToInstall[ 0 ];\n\n\t\ttry {\n\t\t\tif ( fontFamily?.fontFace ) {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tfontFamily.fontFace.map( async ( fontFace ) => {\n\t\t\t\t\t\tif ( fontFace.src ) {\n\t\t\t\t\t\t\tfontFace.file = await downloadFontFaceAssets(\n\t\t\t\t\t\t\t\tfontFace.src\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}\n\t\t} catch ( error ) {\n\t\t\t// If any of the fonts fail to download,\n\t\t\t// show an error notice and stop the request from being sent.\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: __(\n\t\t\t\t\t'Error installing the fonts, could not be downloaded.'\n\t\t\t\t),\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait installFont( fontFamily );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Fonts were installed successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: error.message,\n\t\t\t} );\n\t\t}\n\t\tresetFontsToInstall();\n\t};\n\n\tlet footerComponent = null;\n\tif ( selectedFont ) {\n\t\tfooterComponent = (\n\t\t\t<InstallFooter\n\t\t\t\thandleInstall={ handleInstall }\n\t\t\t\tisDisabled={ fontsToInstall.length === 0 }\n\t\t\t/>\n\t\t);\n\t} else if ( ! renderConfirmDialog && totalPages > 1 ) {\n\t\tfooterComponent = (\n\t\t\t<PaginationFooter\n\t\t\t\tpage={ page }\n\t\t\t\ttotalPages={ totalPages }\n\t\t\t\tsetPage={ setPage }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TabPanelLayout\n\t\t\ttitle={\n\t\t\t\t! selectedFont ? selectedCollection.name : selectedFont.name\n\t\t\t}\n\t\t\tdescription={\n\t\t\t\t! selectedFont\n\t\t\t\t\t? selectedCollection.description\n\t\t\t\t\t: __( 'Select font variants to install.' )\n\t\t\t}\n\t\t\tnotice={ notice }\n\t\t\thandleBack={ !! selectedFont && handleUnselectFont }\n\t\t\tfooter={ footerComponent }\n\t\t>\n\t\t\t{ renderConfirmDialog && (\n\t\t\t\t<>\n\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t<GoogleFontsConfirmDialog />\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && ! selectedFont && (\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tvalue={ filters.search }\n\t\t\t\t\t\t\tplaceholder={ __( 'Font name…' ) }\n\t\t\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\t\t\tonChange={ debouncedUpdateSearchInput }\n\t\t\t\t\t\t\tprefix={ <Icon icon={ search } /> }\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\tfilters?.search ? (\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\t\tonClick={ resetSearch }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\tvalue={ filters.category }\n\t\t\t\t\t\t\tonChange={ handleCategoryFilter }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ categories &&\n\t\t\t\t\t\t\t\tcategories.map( ( category ) => (\n\t\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\t\tvalue={ category.slug }\n\t\t\t\t\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ category.name }\n\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</SelectControl>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t) }\n\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t{ ! renderConfirmDialog &&\n\t\t\t\t! selectedCollection?.font_families &&\n\t\t\t\t! notice && <Spinner /> }\n\n\t\t\t{ ! renderConfirmDialog &&\n\t\t\t\t!! selectedCollection?.font_families?.length &&\n\t\t\t\t! fonts.length && (\n\t\t\t\t\t<Text>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'No fonts found. Try with a different search term'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && selectedFont && (\n\t\t\t\t<CollectionFontDetails\n\t\t\t\t\tfont={ selectedFont }\n\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\tfontToInstallOutline={ fontToInstallOutline }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && ! selectedFont && (\n\t\t\t\t<div className=\"font-library-modal__fonts-grid__main\">\n\t\t\t\t\t{ items.map( ( font ) => (\n\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\tkey={ font.font_family_settings.slug }\n\t\t\t\t\t\t\tfont={ font.font_family_settings }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetSelectedFont( font.font_family_settings );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</TabPanelLayout>\n\t);\n}\n\nfunction PaginationFooter( { page, totalPages, setPage } ) {\n\treturn (\n\t\t<Flex justify=\"center\">\n\t\t\t<Button\n\t\t\t\tlabel={ __( 'First page' ) }\n\t\t\t\tsize=\"compact\"\n\t\t\t\tonClick={ () => setPage( 1 ) }\n\t\t\t\tdisabled={ page === 1 }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t<span>«</span>\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\tsize=\"compact\"\n\t\t\t\tonClick={ () => setPage( page - 1 ) }\n\t\t\t\tdisabled={ page === 1 }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t<span>‹</span>\n\t\t\t</Button>\n\t\t\t<HStack justify=\"flex-start\" expanded={ false } spacing={ 2 }>\n\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Total number of pages.\n\t\t\t\t\t\t_x( 'Page <CurrenPageControl /> of %s', 'paging' ),\n\t\t\t\t\t\ttotalPages\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tCurrenPageControl: (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\taria-label={ __( 'Current page' ) }\n\t\t\t\t\t\t\t\tvalue={ page }\n\t\t\t\t\t\t\t\toptions={ [ ...Array( totalPages ) ].map(\n\t\t\t\t\t\t\t\t\t( e, i ) => {\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\tlabel: i + 1,\n\t\t\t\t\t\t\t\t\t\t\tvalue: i + 1,\n\t\t\t\t\t\t\t\t\t\t};\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\tonChange={ ( newPage ) =>\n\t\t\t\t\t\t\t\t\tsetPage( parseInt( newPage ) )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsize={ 'compact' }\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\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</HStack>\n\t\t\t<Button\n\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\tsize=\"compact\"\n\t\t\t\tonClick={ () => setPage( page + 1 ) }\n\t\t\t\tdisabled={ page === totalPages }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t<span>›</span>\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tlabel={ __( 'Last page' ) }\n\t\t\t\tsize=\"compact\"\n\t\t\t\tonClick={ () => setPage( totalPages ) }\n\t\t\t\tdisabled={ page === totalPages }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t<span>»</span>\n\t\t\t</Button>\n\t\t</Flex>\n\t);\n}\n\nfunction InstallFooter( { handleInstall, isDisabled } ) {\n\tconst { isInstalling } = useContext( FontLibraryContext );\n\n\treturn (\n\t\t<Flex justify=\"flex-end\">\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ handleInstall }\n\t\t\t\tisBusy={ isInstalling }\n\t\t\t\tdisabled={ isDisabled || isInstalling }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t{ __( 'Install' ) }\n\t\t\t</Button>\n\t\t</Flex>\n\t);\n}\n\nexport default FontCollection;\n"],"mappings":"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"}
@@ -21,7 +21,7 @@ function GoogleFontsConfirmDialog() {
21
21
  className: "font-library__google-fonts-confirm"
22
22
  }, (0, _react.createElement)(_components.Card, null, (0, _react.createElement)(_components.CardBody, null, (0, _react.createElement)(_components.__experimentalText, {
23
23
  as: "h3"
24
- }, "Connect to Google Fonts"), (0, _react.createElement)(_components.__experimentalSpacer, {
24
+ }, (0, _i18n.__)('Connect to Google Fonts')), (0, _react.createElement)(_components.__experimentalSpacer, {
25
25
  margin: 6
26
26
  }), (0, _react.createElement)(_components.__experimentalText, {
27
27
  as: "p"
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","GoogleFontsConfirmDialog","handleConfirm","window","localStorage","setItem","dispatchEvent","Event","_react","createElement","className","Card","CardBody","__experimentalText","as","__experimentalSpacer","margin","__","Button","variant","onClick","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tCard,\n\tCardBody,\n\t__experimentalText as Text,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\nfunction GoogleFontsConfirmDialog() {\n\tconst handleConfirm = () => {\n\t\t// eslint-disable-next-line no-undef\n\t\twindow.localStorage.setItem(\n\t\t\t'wp-font-library-google-fonts-permission',\n\t\t\t'true'\n\t\t);\n\t\twindow.dispatchEvent( new Event( 'storage' ) );\n\t};\n\n\treturn (\n\t\t<div className=\"font-library__google-fonts-confirm\">\n\t\t\t<Card>\n\t\t\t\t<CardBody>\n\t\t\t\t\t<Text as=\"h3\">Connect to Google Fonts</Text>\n\t\t\t\t\t<Spacer margin={ 6 } />\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'To install fonts from Google you must give permission to connect directly to Google servers. The fonts you install will be downloaded from Google and stored on your site. Your site will then use these locally-hosted fonts.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Spacer margin={ 3 } />\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'You can alternatively upload files directly on the Upload tab.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Spacer margin={ 6 } />\n\t\t\t\t\t<Button variant=\"primary\" onClick={ handleConfirm }>\n\t\t\t\t\t\t{ __( 'Allow access to Google Fonts' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t</div>\n\t);\n}\n\nexport default GoogleFontsConfirmDialog;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAUA,SAASE,wBAAwBA,CAAA,EAAG;EACnC,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3B;IACAC,MAAM,CAACC,YAAY,CAACC,OAAO,CAC1B,yCAAyC,EACzC,MACD,CAAC;IACDF,MAAM,CAACG,aAAa,CAAE,IAAIC,KAAK,CAAE,SAAU,CAAE,CAAC;EAC/C,CAAC;EAED,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAAoC,GAClD,IAAAF,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAW,IAAI,QACJ,IAAAH,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAY,QAAQ,QACR,IAAAJ,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAa,kBAAI;IAACC,EAAE,EAAC;EAAI,GAAC,yBAA6B,CAAC,EAC5C,IAAAN,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAe,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAR,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAa,kBAAI;IAACC,EAAE,EAAC;EAAG,GACT,IAAAG,QAAE,EACH,gOACD,CACK,CAAC,EACP,IAAAT,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAe,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAR,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAa,kBAAI;IAACC,EAAE,EAAC;EAAG,GACT,IAAAG,QAAE,EACH,gEACD,CACK,CAAC,EACP,IAAAT,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAe,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAR,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAkB,MAAM;IAACC,OAAO,EAAC,SAAS;IAACC,OAAO,EAAGlB;EAAe,GAChD,IAAAe,QAAE,EAAE,8BAA+B,CAC9B,CACC,CACL,CACF,CAAC;AAER;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEctB,wBAAwB"}
1
+ {"version":3,"names":["_i18n","require","_components","GoogleFontsConfirmDialog","handleConfirm","window","localStorage","setItem","dispatchEvent","Event","_react","createElement","className","Card","CardBody","__experimentalText","as","__","__experimentalSpacer","margin","Button","variant","onClick","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tCard,\n\tCardBody,\n\t__experimentalText as Text,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\nfunction GoogleFontsConfirmDialog() {\n\tconst handleConfirm = () => {\n\t\t// eslint-disable-next-line no-undef\n\t\twindow.localStorage.setItem(\n\t\t\t'wp-font-library-google-fonts-permission',\n\t\t\t'true'\n\t\t);\n\t\twindow.dispatchEvent( new Event( 'storage' ) );\n\t};\n\n\treturn (\n\t\t<div className=\"font-library__google-fonts-confirm\">\n\t\t\t<Card>\n\t\t\t\t<CardBody>\n\t\t\t\t\t<Text as=\"h3\">{ __( 'Connect to Google Fonts' ) }</Text>\n\t\t\t\t\t<Spacer margin={ 6 } />\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'To install fonts from Google you must give permission to connect directly to Google servers. The fonts you install will be downloaded from Google and stored on your site. Your site will then use these locally-hosted fonts.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Spacer margin={ 3 } />\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'You can alternatively upload files directly on the Upload tab.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Spacer margin={ 6 } />\n\t\t\t\t\t<Button variant=\"primary\" onClick={ handleConfirm }>\n\t\t\t\t\t\t{ __( 'Allow access to Google Fonts' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t</div>\n\t);\n}\n\nexport default GoogleFontsConfirmDialog;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAUA,SAASE,wBAAwBA,CAAA,EAAG;EACnC,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3B;IACAC,MAAM,CAACC,YAAY,CAACC,OAAO,CAC1B,yCAAyC,EACzC,MACD,CAAC;IACDF,MAAM,CAACG,aAAa,CAAE,IAAIC,KAAK,CAAE,SAAU,CAAE,CAAC;EAC/C,CAAC;EAED,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAAoC,GAClD,IAAAF,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAW,IAAI,QACJ,IAAAH,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAY,QAAQ,QACR,IAAAJ,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAa,kBAAI;IAACC,EAAE,EAAC;EAAI,GAAG,IAAAC,QAAE,EAAE,yBAA0B,CAAS,CAAC,EACxD,IAAAP,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAgB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAT,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAa,kBAAI;IAACC,EAAE,EAAC;EAAG,GACT,IAAAC,QAAE,EACH,gOACD,CACK,CAAC,EACP,IAAAP,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAgB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAT,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAa,kBAAI;IAACC,EAAE,EAAC;EAAG,GACT,IAAAC,QAAE,EACH,gEACD,CACK,CAAC,EACP,IAAAP,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAgB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAT,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAkB,MAAM;IAACC,OAAO,EAAC,SAAS;IAACC,OAAO,EAAGlB;EAAe,GAChD,IAAAa,QAAE,EAAE,8BAA+B,CAC9B,CACC,CACL,CACF,CAAC;AAER;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEctB,wBAAwB"}