{
  "version": 3,
  "sources": ["../../src/font-library/modal.tsx"],
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tModal,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { store as coreStore, useEntityRecords } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport type { FontCollection as FontCollectionType } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport InstalledFonts from './installed-fonts';\nimport FontCollection from './font-collection';\nimport UploadFonts from './upload-fonts';\nimport { unlock } from '../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst DEFAULT_TAB = {\n\tid: 'installed-fonts',\n\ttitle: _x( 'Library', 'Font library' ),\n};\n\nconst UPLOAD_TAB = {\n\tid: 'upload-fonts',\n\ttitle: _x( 'Upload', 'noun' ),\n};\n\nconst tabsFromCollections = ( collections: FontCollectionType[] ) =>\n\tcollections.map( ( { slug, name } ) => ( {\n\t\tid: slug,\n\t\ttitle:\n\t\t\tcollections.length === 1 && slug === 'google-fonts'\n\t\t\t\t? __( 'Install Fonts' )\n\t\t\t\t: name,\n\t} ) );\n\nfunction FontLibraryModal( {\n\tonRequestClose,\n\tdefaultTabId = 'installed-fonts',\n}: {\n\tonRequestClose: () => void;\n\tdefaultTabId?: string;\n} ) {\n\tconst { records: collections = [] } =\n\t\tuseEntityRecords< FontCollectionType >( 'root', 'fontCollection', {\n\t\t\t_fields: 'slug,name,description',\n\t\t} );\n\tconst canUserCreate = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'create', {\n\t\t\tkind: 'postType',\n\t\t\tname: 'wp_font_family',\n\t\t} );\n\t}, [] );\n\n\tconst tabs: { id: string; title: string }[] = [ DEFAULT_TAB ];\n\n\tif ( canUserCreate ) {\n\t\ttabs.push( UPLOAD_TAB );\n\t\ttabs.push( ...tabsFromCollections( collections || [] ) );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Fonts' ) }\n\t\t\tonRequestClose={ onRequestClose }\n\t\t\tisFullScreen\n\t\t\tclassName=\"font-library-modal\"\n\t\t>\n\t\t\t<Tabs defaultTabId={ defaultTabId }>\n\t\t\t\t<div className=\"font-library-modal__tablist-container\">\n\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t{ tabs.map( ( { id, title } ) => (\n\t\t\t\t\t\t\t<Tabs.Tab key={ id } tabId={ id }>\n\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t</div>\n\t\t\t\t{ tabs.map( ( { id } ) => {\n\t\t\t\t\tlet contents;\n\t\t\t\t\tswitch ( id ) {\n\t\t\t\t\t\tcase 'upload-fonts':\n\t\t\t\t\t\t\tcontents = <UploadFonts />;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'installed-fonts':\n\t\t\t\t\t\t\tcontents = <InstalledFonts />;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tcontents = <FontCollection slug={ id } />;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\t\ttabId={ id }\n\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\tclassName=\"font-library-modal__tab-panel\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contents }\n\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Tabs>\n\t\t</Modal>\n\t);\n}\n\nexport default FontLibraryModal;\n"],
  "mappings": ";AAGA,SAAS,IAAI,UAAU;AACvB;AAAA,EACC;AAAA,EACA,eAAe;AAAA,OACT;AACP,SAAS,SAAS,WAAW,wBAAwB;AACrD,SAAS,iBAAiB;AAM1B,OAAO,oBAAoB;AAC3B,OAAO,oBAAoB;AAC3B,OAAO,iBAAiB;AACxB,SAAS,cAAc;AAuDpB,SAII,KAJJ;AArDH,IAAM,EAAE,KAAK,IAAI,OAAQ,qBAAsB;AAE/C,IAAM,cAAc;AAAA,EACnB,IAAI;AAAA,EACJ,OAAO,GAAI,WAAW,cAAe;AACtC;AAEA,IAAM,aAAa;AAAA,EAClB,IAAI;AAAA,EACJ,OAAO,GAAI,UAAU,MAAO;AAC7B;AAEA,IAAM,sBAAsB,CAAE,gBAC7B,YAAY,IAAK,CAAE,EAAE,MAAM,KAAK,OAAS;AAAA,EACxC,IAAI;AAAA,EACJ,OACC,YAAY,WAAW,KAAK,SAAS,iBAClC,GAAI,eAAgB,IACpB;AACL,EAAI;AAEL,SAAS,iBAAkB;AAAA,EAC1B;AAAA,EACA,eAAe;AAChB,GAGI;AACH,QAAM,EAAE,SAAS,cAAc,CAAC,EAAE,IACjC,iBAAwC,QAAQ,kBAAkB;AAAA,IACjE,SAAS;AAAA,EACV,CAAE;AACH,QAAM,gBAAgB,UAAW,CAAE,WAAY;AAC9C,WAAO,OAAQ,SAAU,EAAE,QAAS,UAAU;AAAA,MAC7C,MAAM;AAAA,MACN,MAAM;AAAA,IACP,CAAE;AAAA,EACH,GAAG,CAAC,CAAE;AAEN,QAAM,OAAwC,CAAE,WAAY;AAE5D,MAAK,eAAgB;AACpB,SAAK,KAAM,UAAW;AACtB,SAAK,KAAM,GAAG,oBAAqB,eAAe,CAAC,CAAE,CAAE;AAAA,EACxD;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,OAAQ;AAAA,MACpB;AAAA,MACA,cAAY;AAAA,MACZ,WAAU;AAAA,MAEV,+BAAC,QAAK,cACL;AAAA,4BAAC,SAAI,WAAU,yCACd,8BAAC,KAAK,SAAL,EACE,eAAK,IAAK,CAAE,EAAE,IAAI,MAAM,MACzB,oBAAC,KAAK,KAAL,EAAoB,OAAQ,IAC1B,mBADa,EAEhB,CACC,GACH,GACD;AAAA,QACE,KAAK,IAAK,CAAE,EAAE,GAAG,MAAO;AACzB,cAAI;AACJ,kBAAS,IAAK;AAAA,YACb,KAAK;AACJ,yBAAW,oBAAC,eAAY;AACxB;AAAA,YACD,KAAK;AACJ,yBAAW,oBAAC,kBAAe;AAC3B;AAAA,YACD;AACC,yBAAW,oBAAC,kBAAe,MAAO,IAAK;AAAA,UACzC;AACA,iBACC;AAAA,YAAC,KAAK;AAAA,YAAL;AAAA,cAEA,OAAQ;AAAA,cACR,WAAY;AAAA,cACZ,WAAU;AAAA,cAER;AAAA;AAAA,YALI;AAAA,UAMP;AAAA,QAEF,CAAE;AAAA,SACH;AAAA;AAAA,EACD;AAEF;AAEA,IAAO,gBAAQ;",
  "names": []
}
