{
  "version": 3,
  "sources": ["../src/font-families.tsx"],
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalText as WCText,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tButton,\n} from '@wordpress/components';\nimport { settings } from '@wordpress/icons';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Subtitle } from './subtitle';\nimport { useSetting } from './hooks';\nimport FontLibraryProvider, {\n\tFontLibraryContext,\n} from './font-library/context';\nimport FontLibraryModal from './font-library/modal';\nimport FontFamilyItem from './font-family-item';\nimport { setUIValuesNeeded } from './font-library/utils';\n\n/**\n * Maps the fonts with the source, if available.\n *\n * @param {Array}  fonts  The fonts to map.\n * @param {string} source The source of the fonts.\n * @return {Array} The mapped fonts.\n */\nfunction mapFontsWithSource( fonts: any[], source: string ) {\n\treturn fonts\n\t\t? fonts.map( ( f ) => setUIValuesNeeded( f, { source } ) )\n\t\t: [];\n}\n\nfunction FontFamiliesInner() {\n\tconst { baseCustomFonts, modalTabOpen, setModalTabOpen } =\n\t\tuseContext( FontLibraryContext );\n\tconst [ fontFamilies ] = useSetting( 'typography.fontFamilies' );\n\tconst [ baseFontFamilies ] = useSetting(\n\t\t'typography.fontFamilies',\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst themeFonts = mapFontsWithSource( fontFamilies?.theme, 'theme' );\n\tconst customFonts = mapFontsWithSource( fontFamilies?.custom, 'custom' );\n\tconst activeFonts = [ ...themeFonts, ...customFonts ].sort( ( a, b ) =>\n\t\ta.name.localeCompare( b.name )\n\t);\n\tconst hasFonts = 0 < activeFonts.length;\n\tconst hasInstalledFonts =\n\t\thasFonts ||\n\t\tbaseFontFamilies?.theme?.length > 0 ||\n\t\t( baseCustomFonts?.length ?? 0 ) > 0;\n\n\treturn (\n\t\t<>\n\t\t\t{ !! modalTabOpen && (\n\t\t\t\t<FontLibraryModal\n\t\t\t\t\tonRequestClose={ () => setModalTabOpen?.( '' ) }\n\t\t\t\t\tdefaultTabId={ modalTabOpen }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Fonts' ) }</Subtitle>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () => setModalTabOpen?.( 'installed-fonts' ) }\n\t\t\t\t\t\tlabel={ __( 'Manage fonts' ) }\n\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t\t{ activeFonts.length > 0 && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ItemGroup size=\"large\" isBordered isSeparated>\n\t\t\t\t\t\t\t{ activeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t<FontFamilyItem\n\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ ! hasFonts && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<WCText as=\"p\">\n\t\t\t\t\t\t\t{ hasInstalledFonts\n\t\t\t\t\t\t\t\t? __( 'No fonts activated.' )\n\t\t\t\t\t\t\t\t: __( 'No fonts installed.' ) }\n\t\t\t\t\t\t</WCText>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"global-styles-ui-font-families__manage-fonts\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetModalTabOpen?.(\n\t\t\t\t\t\t\t\t\thasInstalledFonts\n\t\t\t\t\t\t\t\t\t\t? 'installed-fonts'\n\t\t\t\t\t\t\t\t\t\t: 'upload-fonts'\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\t\t{ hasInstalledFonts\n\t\t\t\t\t\t\t\t? __( 'Manage fonts' )\n\t\t\t\t\t\t\t\t: __( 'Add fonts' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</>\n\t);\n}\n\nexport default function FontFamilies( { ...props } ) {\n\treturn (\n\t\t<FontLibraryProvider>\n\t\t\t<FontFamiliesInner { ...props } />\n\t\t</FontLibraryProvider>\n\t);\n}\n"],
  "mappings": ";AAGA,SAAS,UAAU;AACnB;AAAA,EACC,sBAAsB;AAAA,EACtB,2BAA2B;AAAA,EAC3B,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB;AAAA,OACM;AACP,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAK3B,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,OAAO;AAAA,EACN;AAAA,OACM;AACP,OAAO,sBAAsB;AAC7B,OAAO,oBAAoB;AAC3B,SAAS,yBAAyB;AAsC9B,SAgBC,UAhBD,KAMA,YANA;AA7BJ,SAAS,mBAAoB,OAAc,QAAiB;AAC3D,SAAO,QACJ,MAAM,IAAK,CAAE,MAAO,kBAAmB,GAAG,EAAE,OAAO,CAAE,CAAE,IACvD,CAAC;AACL;AAEA,SAAS,oBAAoB;AAC5B,QAAM,EAAE,iBAAiB,cAAc,gBAAgB,IACtD,WAAY,kBAAmB;AAChC,QAAM,CAAE,YAAa,IAAI,WAAY,yBAA0B;AAC/D,QAAM,CAAE,gBAAiB,IAAI;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,QAAM,aAAa,mBAAoB,cAAc,OAAO,OAAQ;AACpE,QAAM,cAAc,mBAAoB,cAAc,QAAQ,QAAS;AACvE,QAAM,cAAc,CAAE,GAAG,YAAY,GAAG,WAAY,EAAE;AAAA,IAAM,CAAE,GAAG,MAChE,EAAE,KAAK,cAAe,EAAE,IAAK;AAAA,EAC9B;AACA,QAAM,WAAW,IAAI,YAAY;AACjC,QAAM,oBACL,YACA,kBAAkB,OAAO,SAAS,MAChC,iBAAiB,UAAU,KAAM;AAEpC,SACC,iCACG;AAAA,KAAC,CAAE,gBACJ;AAAA,MAAC;AAAA;AAAA,QACA,gBAAiB,MAAM,kBAAmB,EAAG;AAAA,QAC7C,cAAe;AAAA;AAAA,IAChB;AAAA,IAED,qBAAC,UAAO,SAAU,GACjB;AAAA,2BAAC,UAAO,SAAQ,iBACf;AAAA,4BAAC,YAAS,OAAQ,GAAM,aAAI,OAAQ,GAAG;AAAA,QACvC;AAAA,UAAC;AAAA;AAAA,YACA,SAAU,MAAM,kBAAmB,iBAAkB;AAAA,YACrD,OAAQ,GAAI,cAAe;AAAA,YAC3B,MAAO;AAAA,YACP,MAAK;AAAA;AAAA,QACN;AAAA,SACD;AAAA,MACE,YAAY,SAAS,KACtB,gCACC,8BAAC,aAAU,MAAK,SAAQ,YAAU,MAAC,aAAW,MAC3C,sBAAY,IAAK,CAAE,SACpB;AAAA,QAAC;AAAA;AAAA,UAEA;AAAA;AAAA,QADM,KAAK;AAAA,MAEZ,CACC,GACH,GACD;AAAA,MAEC,CAAE,YACH,iCACC;AAAA,4BAAC,UAAO,IAAG,KACR,8BACC,GAAI,qBAAsB,IAC1B,GAAI,qBAAsB,GAC9B;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,uBAAqB;AAAA,YACrB,SAAU,MAAM;AACf;AAAA,gBACC,oBACG,oBACA;AAAA,cACJ;AAAA,YACD;AAAA,YAEE,8BACC,GAAI,cAAe,IACnB,GAAI,WAAY;AAAA;AAAA,QACpB;AAAA,SACD;AAAA,OAEF;AAAA,KACD;AAEF;AAEe,SAAR,aAA+B,EAAE,GAAG,MAAM,GAAI;AACpD,SACC,oBAAC,uBACA,8BAAC,qBAAoB,GAAG,OAAQ,GACjC;AAEF;",
  "names": []
}
