vinext 0.0.32 → 0.0.34
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.
- package/README.md +7 -6
- package/dist/config/next-config.d.ts +2 -0
- package/dist/config/next-config.js +4 -0
- package/dist/config/next-config.js.map +1 -1
- package/dist/deploy.js +52 -4
- package/dist/deploy.js.map +1 -1
- package/dist/entries/app-browser-entry.js +3 -330
- package/dist/entries/app-browser-entry.js.map +1 -1
- package/dist/entries/app-rsc-entry.js +444 -1265
- package/dist/entries/app-rsc-entry.js.map +1 -1
- package/dist/entries/app-ssr-entry.js +4 -460
- package/dist/entries/app-ssr-entry.js.map +1 -1
- package/dist/entries/pages-server-entry.js +8 -1
- package/dist/entries/pages-server-entry.js.map +1 -1
- package/dist/entries/runtime-entry-module.d.ts +13 -0
- package/dist/entries/runtime-entry-module.js +27 -0
- package/dist/entries/runtime-entry-module.js.map +1 -0
- package/dist/index.js +302 -23
- package/dist/index.js.map +1 -1
- package/dist/plugins/optimize-imports.d.ts +38 -0
- package/dist/plugins/optimize-imports.js +557 -0
- package/dist/plugins/optimize-imports.js.map +1 -0
- package/dist/server/app-browser-entry.d.ts +1 -0
- package/dist/server/app-browser-entry.js +160 -0
- package/dist/server/app-browser-entry.js.map +1 -0
- package/dist/server/app-browser-stream.d.ts +33 -0
- package/dist/server/app-browser-stream.js +54 -0
- package/dist/server/app-browser-stream.js.map +1 -0
- package/dist/server/app-page-boundary-render.d.ts +63 -0
- package/dist/server/app-page-boundary-render.js +182 -0
- package/dist/server/app-page-boundary-render.js.map +1 -0
- package/dist/server/app-page-boundary.d.ts +57 -0
- package/dist/server/app-page-boundary.js +60 -0
- package/dist/server/app-page-boundary.js.map +1 -0
- package/dist/server/app-page-cache.d.ts +61 -0
- package/dist/server/app-page-cache.js +133 -0
- package/dist/server/app-page-cache.js.map +1 -0
- package/dist/server/app-page-execution.d.ts +46 -0
- package/dist/server/app-page-execution.js +109 -0
- package/dist/server/app-page-execution.js.map +1 -0
- package/dist/server/app-page-probe.d.ts +17 -0
- package/dist/server/app-page-probe.js +35 -0
- package/dist/server/app-page-probe.js.map +1 -0
- package/dist/server/app-page-render.d.ts +59 -0
- package/dist/server/app-page-render.js +174 -0
- package/dist/server/app-page-render.js.map +1 -0
- package/dist/server/app-page-request.d.ts +58 -0
- package/dist/server/app-page-request.js +79 -0
- package/dist/server/app-page-request.js.map +1 -0
- package/dist/server/app-page-response.d.ts +51 -0
- package/dist/server/app-page-response.js +90 -0
- package/dist/server/app-page-response.js.map +1 -0
- package/dist/server/app-page-stream.d.ts +55 -0
- package/dist/server/app-page-stream.js +65 -0
- package/dist/server/app-page-stream.js.map +1 -0
- package/dist/server/app-route-handler-cache.d.ts +42 -0
- package/dist/server/app-route-handler-cache.js +69 -0
- package/dist/server/app-route-handler-cache.js.map +1 -0
- package/dist/server/app-route-handler-execution.d.ts +64 -0
- package/dist/server/app-route-handler-execution.js +100 -0
- package/dist/server/app-route-handler-execution.js.map +1 -0
- package/dist/server/app-route-handler-policy.d.ts +51 -0
- package/dist/server/app-route-handler-policy.js +57 -0
- package/dist/server/app-route-handler-policy.js.map +1 -0
- package/dist/server/app-route-handler-response.d.ts +26 -0
- package/dist/server/app-route-handler-response.js +61 -0
- package/dist/server/app-route-handler-response.js.map +1 -0
- package/dist/server/app-route-handler-runtime.d.ts +27 -0
- package/dist/server/app-route-handler-runtime.js +99 -0
- package/dist/server/app-route-handler-runtime.js.map +1 -0
- package/dist/server/app-ssr-entry.d.ts +19 -0
- package/dist/server/app-ssr-entry.js +105 -0
- package/dist/server/app-ssr-entry.js.map +1 -0
- package/dist/server/app-ssr-stream.d.ts +30 -0
- package/dist/server/app-ssr-stream.js +116 -0
- package/dist/server/app-ssr-stream.js.map +1 -0
- package/dist/server/prod-server.d.ts +13 -1
- package/dist/server/prod-server.js +113 -19
- package/dist/server/prod-server.js.map +1 -1
- package/dist/server/worker-utils.d.ts +0 -6
- package/dist/server/worker-utils.js +41 -5
- package/dist/server/worker-utils.js.map +1 -1
- package/dist/shims/error-boundary.js +1 -1
- package/dist/shims/font-google-base.js +1 -1
- package/dist/shims/font-google-base.js.map +1 -1
- package/dist/shims/font-google.d.ts +2 -3
- package/dist/shims/font-google.js +2 -3
- package/dist/shims/metadata.js +3 -3
- package/dist/shims/metadata.js.map +1 -1
- package/dist/shims/request-state-types.d.ts +2 -2
- package/dist/shims/unified-request-context.d.ts +1 -1
- package/package.json +1 -1
- package/dist/shims/font-google.generated.d.ts +0 -1929
- package/dist/shims/font-google.generated.js +0 -1929
- package/dist/shims/font-google.generated.js.map +0 -1
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import googleFonts, { buildGoogleFontsUrl, getSSRFontLinks, getSSRFontPreloads, getSSRFontStyles } from "./font-google-base.js";
|
|
2
|
-
import { ABeeZee, ADLaM_Display, AR_One_Sans, Abel, Abhaya_Libre, Aboreto, Abril_Fatface, Abyssinica_SIL, Aclonica, Acme, Actor, Adamina, Advent_Pro, Afacad, Afacad_Flux, Agbalumo, Agdasima, Agu_Display, Aguafina_Script, Akatab, Akaya_Kanadaka, Akaya_Telivigala, Akronim, Akshar, Aladin, Alan_Sans, Alata, Alatsi, Albert_Sans, Aldrich, Alef, Alegreya, Alegreya_SC, Alegreya_Sans, Alegreya_Sans_SC, Aleo, Alex_Brush, Alexandria, Alfa_Slab_One, Alice, Alike, Alike_Angular, Alkalami, Alkatra, Allan, Allerta, Allerta_Stencil, Allison, Allkin, Allura, Almarai, Almendra, Almendra_Display, Almendra_SC, Alumni_Sans, Alumni_Sans_Collegiate_One, Alumni_Sans_Inline_One, Alumni_Sans_Pinstripe, Alumni_Sans_SC, Alyamama, Amarante, Amaranth, Amarna, Amatic_SC, Amethysta, Amiko, Amiri, Amiri_Quran, Amita, Anaheim, Ancizar_Sans, Ancizar_Serif, Andada_Pro, Andika, Anek_Bangla, Anek_Devanagari, Anek_Gujarati, Anek_Gurmukhi, Anek_Kannada, Anek_Latin, Anek_Malayalam, Anek_Odia, Anek_Tamil, Anek_Telugu, Angkor, Annapurna_SIL, Annie_Use_Your_Telescope, Anonymous_Pro, Anta, Antic, Antic_Didone, Antic_Slab, Anton, Anton_SC, Antonio, Anuphan, Anybody, Aoboshi_One, Arapey, Arbutus, Arbutus_Slab, Architects_Daughter, Archivo, Archivo_Black, Archivo_Narrow, Are_You_Serious, Aref_Ruqaa, Aref_Ruqaa_Ink, Arima, Arimo, Arizonia, Armata, Arsenal, Arsenal_SC, Artifika, Arvo, Arya, Asap, Asap_Condensed, Asar, Asimovian, Asset, Assistant, Asta_Sans, Astloch, Asul, Athiti, Atkinson_Hyperlegible, Atkinson_Hyperlegible_Mono, Atkinson_Hyperlegible_Next, Atma, Atomic_Age, Aubrey, Audiowide, Autour_One, Average, Average_Sans, Averia_Gruesa_Libre, Averia_Libre, Averia_Sans_Libre, Averia_Serif_Libre, Azeret_Mono, B612, B612_Mono, BBH_Bartle, BBH_Bogle, BBH_Hegarty, BIZ_UDGothic, BIZ_UDMincho, BIZ_UDPGothic, BIZ_UDPMincho, Babylonica, Bacasime_Antique, Bad_Script, Badeen_Display, Bagel_Fat_One, Bahiana, Bahianita, Bai_Jamjuree, Bakbak_One, Ballet, Baloo_2, Baloo_Bhai_2, Baloo_Bhaijaan_2, Baloo_Bhaina_2, Baloo_Chettan_2, Baloo_Da_2, Baloo_Paaji_2, Baloo_Tamma_2, Baloo_Tammudu_2, Baloo_Thambi_2, Balsamiq_Sans, Balthazar, Bangers, Barlow, Barlow_Condensed, Barlow_Semi_Condensed, Barriecito, Barrio, Basic, Baskervville, Baskervville_SC, Battambang, Baumans, Bayon, Be_Vietnam_Pro, Beau_Rivage, Bebas_Neue, Beiruti, Belanosima, Belgrano, Bellefair, Belleza, Bellota, Bellota_Text, BenchNine, Benne, Bentham, Berkshire_Swash, Besley, Betania_Patmos, Betania_Patmos_GDL, Betania_Patmos_In, Betania_Patmos_In_GDL, Beth_Ellen, Bevan, BhuTuka_Expanded_One, Big_Shoulders, Big_Shoulders_Inline, Big_Shoulders_Stencil, Bigelow_Rules, Bigshot_One, Bilbo, Bilbo_Swash_Caps, BioRhyme, BioRhyme_Expanded, Birthstone, Birthstone_Bounce, Biryani, Bitcount, Bitcount_Grid_Double, Bitcount_Grid_Double_Ink, Bitcount_Grid_Single, Bitcount_Grid_Single_Ink, Bitcount_Ink, Bitcount_Prop_Double, Bitcount_Prop_Double_Ink, Bitcount_Prop_Single, Bitcount_Prop_Single_Ink, Bitcount_Single, Bitcount_Single_Ink, Bitter, Black_And_White_Picture, Black_Han_Sans, Black_Ops_One, Blaka, Blaka_Hollow, Blaka_Ink, Blinker, Bodoni_Moda, Bodoni_Moda_SC, Bokor, Boldonse, Bona_Nova, Bona_Nova_SC, Bonbon, Bonheur_Royale, Boogaloo, Borel, Bowlby_One, Bowlby_One_SC, Bpmf_Huninn, Bpmf_Iansui, Bpmf_Zihi_Kai_Std, Braah_One, Brawler, Bree_Serif, Bricolage_Grotesque, Bruno_Ace, Bruno_Ace_SC, Brygada_1918, Bubblegum_Sans, Bubbler_One, Buda, Buenard, Bungee, Bungee_Hairline, Bungee_Inline, Bungee_Outline, Bungee_Shade, Bungee_Spice, Bungee_Tint, Butcherman, Butterfly_Kids, Bytesized, Cabin, Cabin_Condensed, Cabin_Sketch, Cactus_Classical_Serif, Caesar_Dressing, Cagliostro, Cairo, Cairo_Play, Cal_Sans, Caladea, Calistoga, Calligraffitti, Cambay, Cambo, Candal, Cantarell, Cantata_One, Cantora_One, Caprasimo, Capriola, Caramel, Carattere, Cardo, Carlito, Carme, Carrois_Gothic, Carrois_Gothic_SC, Carter_One, Cascadia_Code, Cascadia_Mono, Castoro, Castoro_Titling, Catamaran, Caudex, Cause, Caveat, Caveat_Brush, Cedarville_Cursive, Ceviche_One, Chakra_Petch, Changa, Changa_One, Chango, Charis_SIL, Charm, Charmonman, Chathura, Chau_Philomene_One, Chela_One, Chelsea_Market, Chenla, Cherish, Cherry_Bomb_One, Cherry_Cream_Soda, Cherry_Swash, Chewy, Chicle, Chilanka, Chiron_GoRound_TC, Chiron_Hei_HK, Chiron_Sung_HK, Chivo, Chivo_Mono, Chocolate_Classical_Sans, Chokokutai, Chonburi, Cinzel, Cinzel_Decorative, Clicker_Script, Climate_Crisis, Coda, Codystar, Coiny, Combo, Comfortaa, Comforter, Comforter_Brush, Comic_Neue, Comic_Relief, Coming_Soon, Comme, Commissioner, Concert_One, Condiment, Content, Contrail_One, Convergence, Cookie, Copse, Coral_Pixels, Corben, Corinthia, Cormorant, Cormorant_Garamond, Cormorant_Infant, Cormorant_SC, Cormorant_Unicase, Cormorant_Upright, Cossette_Texte, Cossette_Titre, Courgette, Courier_Prime, Cousine, Coustard, Covered_By_Your_Grace, Crafty_Girls, Creepster, Crete_Round, Crimson_Pro, Crimson_Text, Croissant_One, Crushed, Cuprum, Cute_Font, Cutive, Cutive_Mono, DM_Mono, DM_Sans, DM_Serif_Display, DM_Serif_Text, Dai_Banna_SIL, Damion, Dancing_Script, Danfo, Dangrek, Darker_Grotesque, Darumadrop_One, David_Libre, Dawning_of_a_New_Day, Days_One, Dekko, Dela_Gothic_One, Delicious_Handrawn, Delius, Delius_Swash_Caps, Delius_Unicase, Della_Respira, Denk_One, Devonshire, Dhurjati, Didact_Gothic, Diphylleia, Diplomata, Diplomata_SC, Do_Hyeon, Dokdo, Domine, Donegal_One, Dongle, Doppio_One, Dorsa, Dosis, DotGothic16, Doto, Dr_Sugiyama, Duru_Sans, DynaPuff, Dynalight, EB_Garamond, Eagle_Lake, East_Sea_Dokdo, Eater, Economica, Eczar, Edu_AU_VIC_WA_NT_Arrows, Edu_AU_VIC_WA_NT_Dots, Edu_AU_VIC_WA_NT_Guides, Edu_AU_VIC_WA_NT_Hand, Edu_AU_VIC_WA_NT_Pre, Edu_NSW_ACT_Cursive, Edu_NSW_ACT_Foundation, Edu_NSW_ACT_Hand_Pre, Edu_QLD_Beginner, Edu_QLD_Hand, Edu_SA_Beginner, Edu_SA_Hand, Edu_TAS_Beginner, Edu_VIC_WA_NT_Beginner, Edu_VIC_WA_NT_Hand, Edu_VIC_WA_NT_Hand_Pre, El_Messiri, Electrolize, Elms_Sans, Elsie, Elsie_Swash_Caps, Emblema_One, Emilys_Candy, Encode_Sans, Encode_Sans_Condensed, Encode_Sans_Expanded, Encode_Sans_SC, Encode_Sans_Semi_Condensed, Encode_Sans_Semi_Expanded, Engagement, Englebert, Enriqueta, Ephesis, Epilogue, Epunda_Sans, Epunda_Slab, Erica_One, Esteban, Estonia, Euphoria_Script, Ewert, Exile, Exo, Exo_2, Expletus_Sans, Explora, Faculty_Glyphic, Fahkwang, Familjen_Grotesk, Fanwood_Text, Farro, Farsan, Fascinate, Fascinate_Inline, Faster_One, Fasthand, Fauna_One, Faustina, Federant, Federo, Felipa, Fenix, Festive, Figtree, Finger_Paint, Finlandica, Fira_Code, Fira_Mono, Fira_Sans, Fira_Sans_Condensed, Fira_Sans_Extra_Condensed, Fjalla_One, Fjord_One, Flamenco, Flavors, Fleur_De_Leah, Flow_Block, Flow_Circular, Flow_Rounded, Foldit, Fondamento, Fontdiner_Swanky, Forum, Fragment_Mono, Francois_One, Frank_Ruhl_Libre, Fraunces, Freckle_Face, Fredericka_the_Great, Fredoka, Freehand, Freeman, Fresca, Frijole, Fruktur, Fugaz_One, Fuggles, Funnel_Display, Funnel_Sans, Fustat, Fuzzy_Bubbles, GFS_Didot, GFS_Neohellenic, Ga_Maamli, Gabarito, Gabriela, Gaegu, Gafata, Gajraj_One, Galada, Galdeano, Galindo, Gamja_Flower, Gantari, Gasoek_One, Gayathri, Geist, Geist_Mono, Gelasio, Gemunu_Libre, Genos, Gentium_Book_Plus, Gentium_Plus, Geo, Geologica, Geom, Georama, Geostar, Geostar_Fill, Germania_One, Gideon_Roman, Gidole, Gidugu, Gilda_Display, Girassol, Give_You_Glory, Glass_Antiqua, Glegoo, Gloock, Gloria_Hallelujah, Glory, Gluten, Goblin_One, Gochi_Hand, Goldman, Golos_Text, Google_Sans, Google_Sans_Code, Google_Sans_Flex, Gorditas, Gothic_A1, Gotu, Goudy_Bookletter_1911, Gowun_Batang, Gowun_Dodum, Graduate, Grand_Hotel, Grandiflora_One, Grandstander, Grape_Nuts, Gravitas_One, Great_Vibes, Grechen_Fuemen, Grenze, Grenze_Gotisch, Grey_Qo, Griffy, Gruppo, Gudea, Gugi, Gulzar, Gupter, Gurajada, Gveret_Levin, Gwendolyn, Habibi, Hachi_Maru_Pop, Hahmlet, Halant, Hammersmith_One, Hanalei, Hanalei_Fill, Handjet, Handlee, Hanken_Grotesk, Hanuman, Happy_Monkey, Harmattan, Headland_One, Hedvig_Letters_Sans, Hedvig_Letters_Serif, Heebo, Henny_Penny, Hepta_Slab, Herr_Von_Muellerhoff, Hi_Melody, Hina_Mincho, Hind, Hind_Guntur, Hind_Madurai, Hind_Mysuru, Hind_Siliguri, Hind_Vadodara, Holtwood_One_SC, Homemade_Apple, Homenaje, Honk, Host_Grotesk, Hubballi, Hubot_Sans, Huninn, Hurricane, IBM_Plex_Mono, IBM_Plex_Sans, IBM_Plex_Sans_Arabic, IBM_Plex_Sans_Condensed, IBM_Plex_Sans_Devanagari, IBM_Plex_Sans_Hebrew, IBM_Plex_Sans_JP, IBM_Plex_Sans_KR, IBM_Plex_Sans_Thai, IBM_Plex_Sans_Thai_Looped, IBM_Plex_Serif, IM_Fell_DW_Pica, IM_Fell_DW_Pica_SC, IM_Fell_Double_Pica, IM_Fell_Double_Pica_SC, IM_Fell_English, IM_Fell_English_SC, IM_Fell_French_Canon, IM_Fell_French_Canon_SC, IM_Fell_Great_Primer, IM_Fell_Great_Primer_SC, Iansui, Ibarra_Real_Nova, Iceberg, Iceland, Idiqlat, Imbue, Imperial_Script, Imprima, Inclusive_Sans, Inconsolata, Inder, Indie_Flower, Ingrid_Darling, Inika, Inknut_Antiqua, Inria_Sans, Inria_Serif, Inspiration, Instrument_Sans, Instrument_Serif, Intel_One_Mono, Inter, Inter_Tight, Irish_Grover, Island_Moments, Istok_Web, Italiana, Italianno, Itim, Jacquard_12, Jacquard_12_Charted, Jacquard_24, Jacquard_24_Charted, Jacquarda_Bastarda_9, Jacquarda_Bastarda_9_Charted, Jacques_Francois, Jacques_Francois_Shadow, Jaini, Jaini_Purva, Jaldi, Jaro, Jersey_10, Jersey_10_Charted, Jersey_15, Jersey_15_Charted, Jersey_20, Jersey_20_Charted, Jersey_25, Jersey_25_Charted, JetBrains_Mono, Jim_Nightshade, Joan, Jockey_One, Jolly_Lodger, Jomhuria, Jomolhari, Josefin_Sans, Josefin_Slab, Jost, Joti_One, Jua, Judson, Julee, Julius_Sans_One, Junge, Jura, Just_Another_Hand, Just_Me_Again_Down_Here, K2D, Kablammo, Kadwa, Kaisei_Decol, Kaisei_HarunoUmi, Kaisei_Opti, Kaisei_Tokumin, Kalam, Kalnia, Kalnia_Glaze, Kameron, Kanchenjunga, Kanit, Kantumruy_Pro, Kapakana, Karantina, Karla, Karla_Tamil_Inclined, Karla_Tamil_Upright, Karma, Katibeh, Kaushan_Script, Kavivanar, Kavoon, Kay_Pho_Du, Kdam_Thmor_Pro, Keania_One, Kedebideri, Kelly_Slab, Kenia, Khand, Khmer, Khula, Kings, Kirang_Haerang, Kite_One, Kiwi_Maru, Klee_One, Knewave, KoHo, Kodchasan, Kode_Mono, Koh_Santepheap, Kolker_Brush, Konkhmer_Sleokchher, Kosugi, Kosugi_Maru, Kotta_One, Koulen, Kranky, Kreon, Kristi, Krona_One, Krub, Kufam, Kulim_Park, Kumar_One, Kumar_One_Outline, Kumbh_Sans, Kurale, LINE_Seed_JP, LXGW_Marker_Gothic, LXGW_WenKai_Mono_TC, LXGW_WenKai_TC, La_Belle_Aurore, Labrada, Lacquer, Laila, Lakki_Reddy, Lalezar, Lancelot, Langar, Lateef, Lato, Lavishly_Yours, League_Gothic, League_Script, League_Spartan, Leckerli_One, Ledger, Lekton, Lemon, Lemonada, Lexend, Lexend_Deca, Lexend_Exa, Lexend_Giga, Lexend_Mega, Lexend_Peta, Lexend_Tera, Lexend_Zetta, Libertinus_Keyboard, Libertinus_Math, Libertinus_Mono, Libertinus_Sans, Libertinus_Serif, Libertinus_Serif_Display, Libre_Barcode_128, Libre_Barcode_128_Text, Libre_Barcode_39, Libre_Barcode_39_Extended, Libre_Barcode_39_Extended_Text, Libre_Barcode_39_Text, Libre_Barcode_EAN13_Text, Libre_Baskerville, Libre_Bodoni, Libre_Caslon_Display, Libre_Caslon_Text, Libre_Franklin, Licorice, Life_Savers, Lilex, Lilita_One, Lily_Script_One, Limelight, Linden_Hill, Linefont, Lisu_Bosa, Liter, Literata, Liu_Jian_Mao_Cao, Livvic, Lobster, Lobster_Two, Londrina_Outline, Londrina_Shadow, Londrina_Sketch, Londrina_Solid, Long_Cang, Lora, Love_Light, Love_Ya_Like_A_Sister, Loved_by_the_King, Lovers_Quarrel, Luckiest_Guy, Lugrasimo, Lumanosimo, Lunasima, Lusitana, Lustria, Luxurious_Roman, Luxurious_Script, M_PLUS_1, M_PLUS_1_Code, M_PLUS_1p, M_PLUS_2, M_PLUS_Code_Latin, M_PLUS_Rounded_1c, Ma_Shan_Zheng, Macondo, Macondo_Swash_Caps, Mada, Madimi_One, Magra, Maiden_Orange, Maitree, Major_Mono_Display, Mako, Mali, Mallanna, Maname, Mandali, Manjari, Manrope, Mansalva, Manuale, Manufacturing_Consent, Marcellus, Marcellus_SC, Marck_Script, Margarine, Marhey, Markazi_Text, Marko_One, Marmelad, Martel, Martel_Sans, Martian_Mono, Marvel, Matangi, Mate, Mate_SC, Matemasie, Maven_Pro, McLaren, Mea_Culpa, Meddon, MedievalSharp, Medula_One, Meera_Inimai, Megrim, Meie_Script, Menbere, Meow_Script, Merienda, Merriweather, Merriweather_Sans, Metal, Metal_Mania, Metamorphous, Metrophobic, Michroma, Micro_5, Micro_5_Charted, Milonga, Miltonian, Miltonian_Tattoo, Mina, Mingzat, Miniver, Miriam_Libre, Mirza, Miss_Fajardose, Mitr, Mochiy_Pop_One, Mochiy_Pop_P_One, Modak, Modern_Antiqua, Moderustic, Mogra, Mohave, Moirai_One, Molengo, Molle, Momo_Signature, Momo_Trust_Display, Momo_Trust_Sans, Mona_Sans, Monda, Monofett, Monomakh, Monomaniac_One, Monoton, Monsieur_La_Doulaise, Montaga, Montagu_Slab, MonteCarlo, Montez, Montserrat, Montserrat_Alternates, Montserrat_Underline, Moo_Lah_Lah, Mooli, Moon_Dance, Moul, Moulpali, Mountains_of_Christmas, Mouse_Memoirs, Mozilla_Headline, Mozilla_Text, Mr_Bedfort, Mr_Dafoe, Mr_De_Haviland, Mrs_Saint_Delafield, Mrs_Sheppards, Ms_Madi, Mukta, Mukta_Mahee, Mukta_Malar, Mukta_Vaani, Mulish, Murecho, MuseoModerno, My_Soul, Mynerve, Mystery_Quest, NTR, Nabla, Namdhinggo, Nanum_Brush_Script, Nanum_Gothic, Nanum_Gothic_Coding, Nanum_Myeongjo, Nanum_Pen_Script, Narnoor, Nata_Sans, National_Park, Neonderthaw, Nerko_One, Neucha, Neuton, New_Amsterdam, New_Rocker, New_Tegomin, News_Cycle, Newsreader, Niconne, Niramit, Nixie_One, Nobile, Nokora, Norican, Nosifer, Notable, Nothing_You_Could_Do, Noticia_Text, Noto_Color_Emoji, Noto_Emoji, Noto_Kufi_Arabic, Noto_Music, Noto_Naskh_Arabic, Noto_Nastaliq_Urdu, Noto_Rashi_Hebrew, Noto_Sans, Noto_Sans_Adlam, Noto_Sans_Adlam_Unjoined, Noto_Sans_Anatolian_Hieroglyphs, Noto_Sans_Arabic, Noto_Sans_Armenian, Noto_Sans_Avestan, Noto_Sans_Balinese, Noto_Sans_Bamum, Noto_Sans_Bassa_Vah, Noto_Sans_Batak, Noto_Sans_Bengali, Noto_Sans_Bhaiksuki, Noto_Sans_Brahmi, Noto_Sans_Buginese, Noto_Sans_Buhid, Noto_Sans_Canadian_Aboriginal, Noto_Sans_Carian, Noto_Sans_Caucasian_Albanian, Noto_Sans_Chakma, Noto_Sans_Cham, Noto_Sans_Cherokee, Noto_Sans_Chorasmian, Noto_Sans_Coptic, Noto_Sans_Cuneiform, Noto_Sans_Cypriot, Noto_Sans_Cypro_Minoan, Noto_Sans_Deseret, Noto_Sans_Devanagari, Noto_Sans_Display, Noto_Sans_Duployan, Noto_Sans_Egyptian_Hieroglyphs, Noto_Sans_Elbasan, Noto_Sans_Elymaic, Noto_Sans_Ethiopic, Noto_Sans_Georgian, Noto_Sans_Glagolitic, Noto_Sans_Gothic, Noto_Sans_Grantha, Noto_Sans_Gujarati, Noto_Sans_Gunjala_Gondi, Noto_Sans_Gurmukhi, Noto_Sans_HK, Noto_Sans_Hanifi_Rohingya, Noto_Sans_Hanunoo, Noto_Sans_Hatran, Noto_Sans_Hebrew, Noto_Sans_Imperial_Aramaic, Noto_Sans_Indic_Siyaq_Numbers, Noto_Sans_Inscriptional_Pahlavi, Noto_Sans_Inscriptional_Parthian, Noto_Sans_JP, Noto_Sans_Javanese, Noto_Sans_KR, Noto_Sans_Kaithi, Noto_Sans_Kannada, Noto_Sans_Kawi, Noto_Sans_Kayah_Li, Noto_Sans_Kharoshthi, Noto_Sans_Khmer, Noto_Sans_Khojki, Noto_Sans_Khudawadi, Noto_Sans_Lao, Noto_Sans_Lao_Looped, Noto_Sans_Lepcha, Noto_Sans_Limbu, Noto_Sans_Linear_A, Noto_Sans_Linear_B, Noto_Sans_Lisu, Noto_Sans_Lycian, Noto_Sans_Lydian, Noto_Sans_Mahajani, Noto_Sans_Malayalam, Noto_Sans_Mandaic, Noto_Sans_Manichaean, Noto_Sans_Marchen, Noto_Sans_Masaram_Gondi, Noto_Sans_Math, Noto_Sans_Mayan_Numerals, Noto_Sans_Medefaidrin, Noto_Sans_Meetei_Mayek, Noto_Sans_Mende_Kikakui, Noto_Sans_Meroitic, Noto_Sans_Miao, Noto_Sans_Modi, Noto_Sans_Mongolian, Noto_Sans_Mono, Noto_Sans_Mro, Noto_Sans_Multani, Noto_Sans_Myanmar, Noto_Sans_NKo, Noto_Sans_NKo_Unjoined, Noto_Sans_Nabataean, Noto_Sans_Nag_Mundari, Noto_Sans_Nandinagari, Noto_Sans_New_Tai_Lue, Noto_Sans_Newa, Noto_Sans_Nushu, Noto_Sans_Ogham, Noto_Sans_Ol_Chiki, Noto_Sans_Old_Hungarian, Noto_Sans_Old_Italic, Noto_Sans_Old_North_Arabian, Noto_Sans_Old_Permic, Noto_Sans_Old_Persian, Noto_Sans_Old_Sogdian, Noto_Sans_Old_South_Arabian, Noto_Sans_Old_Turkic, Noto_Sans_Oriya, Noto_Sans_Osage, Noto_Sans_Osmanya, Noto_Sans_Pahawh_Hmong, Noto_Sans_Palmyrene, Noto_Sans_Pau_Cin_Hau, Noto_Sans_PhagsPa, Noto_Sans_Phoenician, Noto_Sans_Psalter_Pahlavi, Noto_Sans_Rejang, Noto_Sans_Runic, Noto_Sans_SC, Noto_Sans_Samaritan, Noto_Sans_Saurashtra, Noto_Sans_Sharada, Noto_Sans_Shavian, Noto_Sans_Siddham, Noto_Sans_SignWriting, Noto_Sans_Sinhala, Noto_Sans_Sogdian, Noto_Sans_Sora_Sompeng, Noto_Sans_Soyombo, Noto_Sans_Sundanese, Noto_Sans_Sunuwar, Noto_Sans_Syloti_Nagri, Noto_Sans_Symbols, Noto_Sans_Symbols_2, Noto_Sans_Syriac, Noto_Sans_Syriac_Eastern, Noto_Sans_Syriac_Western, Noto_Sans_TC, Noto_Sans_Tagalog, Noto_Sans_Tagbanwa, Noto_Sans_Tai_Le, Noto_Sans_Tai_Tham, Noto_Sans_Tai_Viet, Noto_Sans_Takri, Noto_Sans_Tamil, Noto_Sans_Tamil_Supplement, Noto_Sans_Tangsa, Noto_Sans_Telugu, Noto_Sans_Thaana, Noto_Sans_Thai, Noto_Sans_Thai_Looped, Noto_Sans_Tifinagh, Noto_Sans_Tirhuta, Noto_Sans_Ugaritic, Noto_Sans_Vai, Noto_Sans_Vithkuqi, Noto_Sans_Wancho, Noto_Sans_Warang_Citi, Noto_Sans_Yi, Noto_Sans_Zanabazar_Square, Noto_Serif, Noto_Serif_Ahom, Noto_Serif_Armenian, Noto_Serif_Balinese, Noto_Serif_Bengali, Noto_Serif_Devanagari, Noto_Serif_Display, Noto_Serif_Dives_Akuru, Noto_Serif_Dogra, Noto_Serif_Ethiopic, Noto_Serif_Georgian, Noto_Serif_Grantha, Noto_Serif_Gujarati, Noto_Serif_Gurmukhi, Noto_Serif_HK, Noto_Serif_Hebrew, Noto_Serif_Hentaigana, Noto_Serif_JP, Noto_Serif_KR, Noto_Serif_Kannada, Noto_Serif_Khitan_Small_Script, Noto_Serif_Khmer, Noto_Serif_Khojki, Noto_Serif_Lao, Noto_Serif_Makasar, Noto_Serif_Malayalam, Noto_Serif_Myanmar, Noto_Serif_NP_Hmong, Noto_Serif_Old_Uyghur, Noto_Serif_Oriya, Noto_Serif_Ottoman_Siyaq, Noto_Serif_SC, Noto_Serif_Sinhala, Noto_Serif_TC, Noto_Serif_Tamil, Noto_Serif_Tangut, Noto_Serif_Telugu, Noto_Serif_Thai, Noto_Serif_Tibetan, Noto_Serif_Todhri, Noto_Serif_Toto, Noto_Serif_Vithkuqi, Noto_Serif_Yezidi, Noto_Traditional_Nushu, Noto_Znamenny_Musical_Notation, Nova_Cut, Nova_Flat, Nova_Mono, Nova_Oval, Nova_Round, Nova_Script, Nova_Slim, Nova_Square, Numans, Nunito, Nunito_Sans, Nuosu_SIL, Odibee_Sans, Odor_Mean_Chey, Offside, Oi, Ojuju, Old_Standard_TT, Oldenburg, Ole, Oleo_Script, Oleo_Script_Swash_Caps, Onest, Oooh_Baby, Open_Sans, Oranienbaum, Orbit, Orbitron, Oregano, Orelega_One, Orienta, Original_Surfer, Oswald, Outfit, Over_the_Rainbow, Overlock, Overlock_SC, Overpass, Overpass_Mono, Ovo, Oxanium, Oxygen, Oxygen_Mono, PT_Mono, PT_Sans, PT_Sans_Caption, PT_Sans_Narrow, PT_Serif, PT_Serif_Caption, Pacifico, Padauk, Padyakke_Expanded_One, Palanquin, Palanquin_Dark, Palette_Mosaic, Pangolin, Paprika, Parastoo, Parisienne, Parkinsans, Passero_One, Passion_One, Passions_Conflict, Pathway_Extreme, Pathway_Gothic_One, Patrick_Hand, Patrick_Hand_SC, Pattaya, Patua_One, Pavanam, Paytone_One, Peddana, Peralta, Permanent_Marker, Petemoss, Petit_Formal_Script, Petrona, Phetsarath, Philosopher, Phudu, Piazzolla, Piedra, Pinyon_Script, Pirata_One, Pixelify_Sans, Plaster, Platypi, Play, Playball, Playfair, Playfair_Display, Playfair_Display_SC, Playpen_Sans, Playpen_Sans_Arabic, Playpen_Sans_Deva, Playpen_Sans_Hebrew, Playpen_Sans_Thai, Playwrite_AR, Playwrite_AR_Guides, Playwrite_AT, Playwrite_AT_Guides, Playwrite_AU_NSW, Playwrite_AU_NSW_Guides, Playwrite_AU_QLD, Playwrite_AU_QLD_Guides, Playwrite_AU_SA, Playwrite_AU_SA_Guides, Playwrite_AU_TAS, Playwrite_AU_TAS_Guides, Playwrite_AU_VIC, Playwrite_AU_VIC_Guides, Playwrite_BE_VLG, Playwrite_BE_VLG_Guides, Playwrite_BE_WAL, Playwrite_BE_WAL_Guides, Playwrite_BR, Playwrite_BR_Guides, Playwrite_CA, Playwrite_CA_Guides, Playwrite_CL, Playwrite_CL_Guides, Playwrite_CO, Playwrite_CO_Guides, Playwrite_CU, Playwrite_CU_Guides, Playwrite_CZ, Playwrite_CZ_Guides, Playwrite_DE_Grund, Playwrite_DE_Grund_Guides, Playwrite_DE_LA, Playwrite_DE_LA_Guides, Playwrite_DE_SAS, Playwrite_DE_SAS_Guides, Playwrite_DE_VA, Playwrite_DE_VA_Guides, Playwrite_DK_Loopet, Playwrite_DK_Loopet_Guides, Playwrite_DK_Uloopet, Playwrite_DK_Uloopet_Guides, Playwrite_ES, Playwrite_ES_Deco, Playwrite_ES_Deco_Guides, Playwrite_ES_Guides, Playwrite_FR_Moderne, Playwrite_FR_Moderne_Guides, Playwrite_FR_Trad, Playwrite_FR_Trad_Guides, Playwrite_GB_J, Playwrite_GB_J_Guides, Playwrite_GB_S, Playwrite_GB_S_Guides, Playwrite_HR, Playwrite_HR_Guides, Playwrite_HR_Lijeva, Playwrite_HR_Lijeva_Guides, Playwrite_HU, Playwrite_HU_Guides, Playwrite_ID, Playwrite_ID_Guides, Playwrite_IE, Playwrite_IE_Guides, Playwrite_IN, Playwrite_IN_Guides, Playwrite_IS, Playwrite_IS_Guides, Playwrite_IT_Moderna, Playwrite_IT_Moderna_Guides, Playwrite_IT_Trad, Playwrite_IT_Trad_Guides, Playwrite_MX, Playwrite_MX_Guides, Playwrite_NG_Modern, Playwrite_NG_Modern_Guides, Playwrite_NL, Playwrite_NL_Guides, Playwrite_NO, Playwrite_NO_Guides, Playwrite_NZ, Playwrite_NZ_Basic, Playwrite_NZ_Basic_Guides, Playwrite_NZ_Guides, Playwrite_PE, Playwrite_PE_Guides, Playwrite_PL, Playwrite_PL_Guides, Playwrite_PT, Playwrite_PT_Guides, Playwrite_RO, Playwrite_RO_Guides, Playwrite_SK, Playwrite_SK_Guides, Playwrite_TZ, Playwrite_TZ_Guides, Playwrite_US_Modern, Playwrite_US_Modern_Guides, Playwrite_US_Trad, Playwrite_US_Trad_Guides, Playwrite_VN, Playwrite_VN_Guides, Playwrite_ZA, Playwrite_ZA_Guides, Plus_Jakarta_Sans, Pochaevsk, Podkova, Poetsen_One, Poiret_One, Poller_One, Poltawski_Nowy, Poly, Pompiere, Ponnala, Ponomar, Pontano_Sans, Poor_Story, Poppins, Port_Lligat_Sans, Port_Lligat_Slab, Potta_One, Pragati_Narrow, Praise, Prata, Preahvihear, Press_Start_2P, Pridi, Princess_Sofia, Prociono, Prompt, Prosto_One, Protest_Guerrilla, Protest_Revolution, Protest_Riot, Protest_Strike, Proza_Libre, Public_Sans, Puppies_Play, Puritan, Purple_Purse, Qahiri, Quando, Quantico, Quattrocento, Quattrocento_Sans, Questrial, Quicksand, Quintessential, Qwigley, Qwitcher_Grypen, REM, Racing_Sans_One, Radio_Canada, Radio_Canada_Big, Radley, Rajdhani, Rakkas, Raleway, Raleway_Dots, Ramabhadra, Ramaraja, Rambla, Rammetto_One, Rampart_One, Ramsina, Ranchers, Rancho, Ranga, Rasa, Rationale, Ravi_Prakash, Readex_Pro, Recursive, Red_Hat_Display, Red_Hat_Mono, Red_Hat_Text, Red_Rose, Redacted, Redacted_Script, Reddit_Mono, Reddit_Sans, Reddit_Sans_Condensed, Redressed, Reem_Kufi, Reem_Kufi_Fun, Reem_Kufi_Ink, Reenie_Beanie, Reggae_One, Rethink_Sans, Revalia, Rhodium_Libre, Ribeye, Ribeye_Marrow, Righteous, Risque, Road_Rage, Roboto, Roboto_Condensed, Roboto_Flex, Roboto_Mono, Roboto_Serif, Roboto_Slab, Rochester, Rock_3D, Rock_Salt, RocknRoll_One, Rokkitt, Romanesco, Ropa_Sans, Rosario, Rosarivo, Rouge_Script, Rowdies, Rozha_One, Rubik, Rubik_80s_Fade, Rubik_Beastly, Rubik_Broken_Fax, Rubik_Bubbles, Rubik_Burned, Rubik_Dirt, Rubik_Distressed, Rubik_Doodle_Shadow, Rubik_Doodle_Triangles, Rubik_Gemstones, Rubik_Glitch, Rubik_Glitch_Pop, Rubik_Iso, Rubik_Lines, Rubik_Maps, Rubik_Marker_Hatch, Rubik_Maze, Rubik_Microbe, Rubik_Mono_One, Rubik_Moonrocks, Rubik_Pixels, Rubik_Puddles, Rubik_Scribble, Rubik_Spray_Paint, Rubik_Storm, Rubik_Vinyl, Rubik_Wet_Paint, Ruda, Rufina, Ruge_Boogie, Ruluko, Rum_Raisin, Ruslan_Display, Russo_One, Ruthie, Ruwudu, Rye, SN_Pro, STIX_Two_Text, SUSE, SUSE_Mono, Sacramento, Sahitya, Sail, Saira, Saira_Condensed, Saira_Extra_Condensed, Saira_Semi_Condensed, Saira_Stencil_One, Salsa, Sanchez, Sancreek, Sankofa_Display, Sansation, Sansita, Sansita_Swashed, Sarabun, Sarala, Sarina, Sarpanch, Sassy_Frass, Satisfy, Savate, Sawarabi_Gothic, Sawarabi_Mincho, Scada, Scheherazade_New, Schibsted_Grotesk, Schoolbell, Science_Gothic, Scope_One, Seaweed_Script, Secular_One, Sedan, Sedan_SC, Sedgwick_Ave, Sedgwick_Ave_Display, Sekuya, Sen, Send_Flowers, Sevillana, Seymour_One, Shadows_Into_Light, Shadows_Into_Light_Two, Shafarik, Shalimar, Shantell_Sans, Shanti, Share, Share_Tech, Share_Tech_Mono, Shippori_Antique, Shippori_Antique_B1, Shippori_Mincho, Shippori_Mincho_B1, Shizuru, Shojumaru, Short_Stack, Shrikhand, Siemreap, Sigmar, Sigmar_One, Signika, Signika_Negative, Silkscreen, Simonetta, Single_Day, Sintony, Sirin_Stencil, Sirivennela, Six_Caps, Sixtyfour, Sixtyfour_Convergence, Skranji, Slabo_13px, Slabo_27px, Slackey, Slackside_One, Smokum, Smooch, Smooch_Sans, Smythe, Sniglet, Snippet, Snowburst_One, Sofadi_One, Sofia, Sofia_Sans, Sofia_Sans_Condensed, Sofia_Sans_Extra_Condensed, Sofia_Sans_Semi_Condensed, Solitreo, Solway, Sometype_Mono, Song_Myung, Sono, Sonsie_One, Sora, Sorts_Mill_Goudy, Sour_Gummy, Source_Code_Pro, Source_Sans_3, Source_Serif_4, Space_Grotesk, Space_Mono, Special_Elite, Special_Gothic, Special_Gothic_Condensed_One, Special_Gothic_Expanded_One, Spectral, Spectral_SC, Spicy_Rice, Spinnaker, Spirax, Splash, Spline_Sans, Spline_Sans_Mono, Squada_One, Square_Peg, Sree_Krushnadevaraya, Sriracha, Srisakdi, Staatliches, Stack_Sans_Headline, Stack_Sans_Notch, Stack_Sans_Text, Stalemate, Stalinist_One, Stardos_Stencil, Stick, Stick_No_Bills, Stint_Ultra_Condensed, Stint_Ultra_Expanded, Stoke, Story_Script, Strait, Style_Script, Stylish, Sue_Ellen_Francisco, Suez_One, Sulphur_Point, Sumana, Sunflower, Sunshiney, Supermercado_One, Sura, Suranna, Suravaram, Suwannaphum, Swanky_and_Moo_Moo, Syncopate, Syne, Syne_Mono, Syne_Tactile, TASA_Explorer, TASA_Orbiter, Tac_One, Tagesschrift, Tai_Heritage_Pro, Tajawal, Tangerine, Tapestry, Taprom, Tauri, Taviraj, Teachers, Teko, Tektur, Telex, Tenali_Ramakrishna, Tenor_Sans, Text_Me_One, Texturina, Thasadith, The_Girl_Next_Door, The_Nautigal, Tienne, TikTok_Sans, Tillana, Tilt_Neon, Tilt_Prism, Tilt_Warp, Timmana, Tinos, Tiny5, Tiro_Bangla, Tiro_Devanagari_Hindi, Tiro_Devanagari_Marathi, Tiro_Devanagari_Sanskrit, Tiro_Gurmukhi, Tiro_Kannada, Tiro_Tamil, Tiro_Telugu, Tirra, Titan_One, Titillium_Web, Tomorrow, Tourney, Trade_Winds, Train_One, Triodion, Trirong, Trispace, Trocchi, Trochut, Truculenta, Trykker, Tsukimi_Rounded, Tuffy, Tulpen_One, Turret_Road, Twinkle_Star, Ubuntu, Ubuntu_Condensed, Ubuntu_Mono, Ubuntu_Sans, Ubuntu_Sans_Mono, Uchen, Ultra, Unbounded, Uncial_Antiqua, Underdog, Unica_One, UnifrakturCook, UnifrakturMaguntia, Unkempt, Unlock, Unna, UoqMunThenKhung, Updock, Urbanist, VT323, Vampiro_One, Varela, Varela_Round, Varta, Vast_Shadow, Vazirmatn, Vend_Sans, Vesper_Libre, Viaoda_Libre, Vibes, Vibur, Victor_Mono, Vidaloka, Viga, Vina_Sans, Voces, Volkhov, Vollkorn, Vollkorn_SC, Voltaire, Vujahday_Script, WDXL_Lubrifont_JP_N, WDXL_Lubrifont_SC, WDXL_Lubrifont_TC, Waiting_for_the_Sunrise, Wallpoet, Walter_Turncoat, Warnes, Water_Brush, Waterfall, Wavefont, Wellfleet, Wendy_One, Whisper, WindSong, Winky_Rough, Winky_Sans, Wire_One, Wittgenstein, Wix_Madefor_Display, Wix_Madefor_Text, Work_Sans, Workbench, Xanh_Mono, Yaldevi, Yanone_Kaffeesatz, Yantramanav, Yarndings_12, Yarndings_12_Charted, Yarndings_20, Yarndings_20_Charted, Yatra_One, Yellowtail, Yeon_Sung, Yeseva_One, Yesteryear, Yomogi, Young_Serif, Yrsa, Ysabeau, Ysabeau_Infant, Ysabeau_Office, Ysabeau_SC, Yuji_Boku, Yuji_Hentaigana_Akari, Yuji_Hentaigana_Akebono, Yuji_Mai, Yuji_Syuku, Yusei_Magic, ZCOOL_KuaiLe, ZCOOL_QingKe_HuangYou, ZCOOL_XiaoWei, Zain, Zalando_Sans, Zalando_Sans_Expanded, Zalando_Sans_SemiExpanded, Zen_Antique, Zen_Antique_Soft, Zen_Dots, Zen_Kaku_Gothic_Antique, Zen_Kaku_Gothic_New, Zen_Kurenaido, Zen_Loop, Zen_Maru_Gothic, Zen_Old_Mincho, Zen_Tokyo_Zoo, Zeyada, Zhi_Mang_Xing, Zilla_Slab, Zilla_Slab_Highlight } from "./font-google.generated.js";
|
|
3
|
-
export { ABeeZee, ADLaM_Display, AR_One_Sans, Abel, Abhaya_Libre, Aboreto, Abril_Fatface, Abyssinica_SIL, Aclonica, Acme, Actor, Adamina, Advent_Pro, Afacad, Afacad_Flux, Agbalumo, Agdasima, Agu_Display, Aguafina_Script, Akatab, Akaya_Kanadaka, Akaya_Telivigala, Akronim, Akshar, Aladin, Alan_Sans, Alata, Alatsi, Albert_Sans, Aldrich, Alef, Alegreya, Alegreya_SC, Alegreya_Sans, Alegreya_Sans_SC, Aleo, Alex_Brush, Alexandria, Alfa_Slab_One, Alice, Alike, Alike_Angular, Alkalami, Alkatra, Allan, Allerta, Allerta_Stencil, Allison, Allkin, Allura, Almarai, Almendra, Almendra_Display, Almendra_SC, Alumni_Sans, Alumni_Sans_Collegiate_One, Alumni_Sans_Inline_One, Alumni_Sans_Pinstripe, Alumni_Sans_SC, Alyamama, Amarante, Amaranth, Amarna, Amatic_SC, Amethysta, Amiko, Amiri, Amiri_Quran, Amita, Anaheim, Ancizar_Sans, Ancizar_Serif, Andada_Pro, Andika, Anek_Bangla, Anek_Devanagari, Anek_Gujarati, Anek_Gurmukhi, Anek_Kannada, Anek_Latin, Anek_Malayalam, Anek_Odia, Anek_Tamil, Anek_Telugu, Angkor, Annapurna_SIL, Annie_Use_Your_Telescope, Anonymous_Pro, Anta, Antic, Antic_Didone, Antic_Slab, Anton, Anton_SC, Antonio, Anuphan, Anybody, Aoboshi_One, Arapey, Arbutus, Arbutus_Slab, Architects_Daughter, Archivo, Archivo_Black, Archivo_Narrow, Are_You_Serious, Aref_Ruqaa, Aref_Ruqaa_Ink, Arima, Arimo, Arizonia, Armata, Arsenal, Arsenal_SC, Artifika, Arvo, Arya, Asap, Asap_Condensed, Asar, Asimovian, Asset, Assistant, Asta_Sans, Astloch, Asul, Athiti, Atkinson_Hyperlegible, Atkinson_Hyperlegible_Mono, Atkinson_Hyperlegible_Next, Atma, Atomic_Age, Aubrey, Audiowide, Autour_One, Average, Average_Sans, Averia_Gruesa_Libre, Averia_Libre, Averia_Sans_Libre, Averia_Serif_Libre, Azeret_Mono, B612, B612_Mono, BBH_Bartle, BBH_Bogle, BBH_Hegarty, BIZ_UDGothic, BIZ_UDMincho, BIZ_UDPGothic, BIZ_UDPMincho, Babylonica, Bacasime_Antique, Bad_Script, Badeen_Display, Bagel_Fat_One, Bahiana, Bahianita, Bai_Jamjuree, Bakbak_One, Ballet, Baloo_2, Baloo_Bhai_2, Baloo_Bhaijaan_2, Baloo_Bhaina_2, Baloo_Chettan_2, Baloo_Da_2, Baloo_Paaji_2, Baloo_Tamma_2, Baloo_Tammudu_2, Baloo_Thambi_2, Balsamiq_Sans, Balthazar, Bangers, Barlow, Barlow_Condensed, Barlow_Semi_Condensed, Barriecito, Barrio, Basic, Baskervville, Baskervville_SC, Battambang, Baumans, Bayon, Be_Vietnam_Pro, Beau_Rivage, Bebas_Neue, Beiruti, Belanosima, Belgrano, Bellefair, Belleza, Bellota, Bellota_Text, BenchNine, Benne, Bentham, Berkshire_Swash, Besley, Betania_Patmos, Betania_Patmos_GDL, Betania_Patmos_In, Betania_Patmos_In_GDL, Beth_Ellen, Bevan, BhuTuka_Expanded_One, Big_Shoulders, Big_Shoulders_Inline, Big_Shoulders_Stencil, Bigelow_Rules, Bigshot_One, Bilbo, Bilbo_Swash_Caps, BioRhyme, BioRhyme_Expanded, Birthstone, Birthstone_Bounce, Biryani, Bitcount, Bitcount_Grid_Double, Bitcount_Grid_Double_Ink, Bitcount_Grid_Single, Bitcount_Grid_Single_Ink, Bitcount_Ink, Bitcount_Prop_Double, Bitcount_Prop_Double_Ink, Bitcount_Prop_Single, Bitcount_Prop_Single_Ink, Bitcount_Single, Bitcount_Single_Ink, Bitter, Black_And_White_Picture, Black_Han_Sans, Black_Ops_One, Blaka, Blaka_Hollow, Blaka_Ink, Blinker, Bodoni_Moda, Bodoni_Moda_SC, Bokor, Boldonse, Bona_Nova, Bona_Nova_SC, Bonbon, Bonheur_Royale, Boogaloo, Borel, Bowlby_One, Bowlby_One_SC, Bpmf_Huninn, Bpmf_Iansui, Bpmf_Zihi_Kai_Std, Braah_One, Brawler, Bree_Serif, Bricolage_Grotesque, Bruno_Ace, Bruno_Ace_SC, Brygada_1918, Bubblegum_Sans, Bubbler_One, Buda, Buenard, Bungee, Bungee_Hairline, Bungee_Inline, Bungee_Outline, Bungee_Shade, Bungee_Spice, Bungee_Tint, Butcherman, Butterfly_Kids, Bytesized, Cabin, Cabin_Condensed, Cabin_Sketch, Cactus_Classical_Serif, Caesar_Dressing, Cagliostro, Cairo, Cairo_Play, Cal_Sans, Caladea, Calistoga, Calligraffitti, Cambay, Cambo, Candal, Cantarell, Cantata_One, Cantora_One, Caprasimo, Capriola, Caramel, Carattere, Cardo, Carlito, Carme, Carrois_Gothic, Carrois_Gothic_SC, Carter_One, Cascadia_Code, Cascadia_Mono, Castoro, Castoro_Titling, Catamaran, Caudex, Cause, Caveat, Caveat_Brush, Cedarville_Cursive, Ceviche_One, Chakra_Petch, Changa, Changa_One, Chango, Charis_SIL, Charm, Charmonman, Chathura, Chau_Philomene_One, Chela_One, Chelsea_Market, Chenla, Cherish, Cherry_Bomb_One, Cherry_Cream_Soda, Cherry_Swash, Chewy, Chicle, Chilanka, Chiron_GoRound_TC, Chiron_Hei_HK, Chiron_Sung_HK, Chivo, Chivo_Mono, Chocolate_Classical_Sans, Chokokutai, Chonburi, Cinzel, Cinzel_Decorative, Clicker_Script, Climate_Crisis, Coda, Codystar, Coiny, Combo, Comfortaa, Comforter, Comforter_Brush, Comic_Neue, Comic_Relief, Coming_Soon, Comme, Commissioner, Concert_One, Condiment, Content, Contrail_One, Convergence, Cookie, Copse, Coral_Pixels, Corben, Corinthia, Cormorant, Cormorant_Garamond, Cormorant_Infant, Cormorant_SC, Cormorant_Unicase, Cormorant_Upright, Cossette_Texte, Cossette_Titre, Courgette, Courier_Prime, Cousine, Coustard, Covered_By_Your_Grace, Crafty_Girls, Creepster, Crete_Round, Crimson_Pro, Crimson_Text, Croissant_One, Crushed, Cuprum, Cute_Font, Cutive, Cutive_Mono, DM_Mono, DM_Sans, DM_Serif_Display, DM_Serif_Text, Dai_Banna_SIL, Damion, Dancing_Script, Danfo, Dangrek, Darker_Grotesque, Darumadrop_One, David_Libre, Dawning_of_a_New_Day, Days_One, Dekko, Dela_Gothic_One, Delicious_Handrawn, Delius, Delius_Swash_Caps, Delius_Unicase, Della_Respira, Denk_One, Devonshire, Dhurjati, Didact_Gothic, Diphylleia, Diplomata, Diplomata_SC, Do_Hyeon, Dokdo, Domine, Donegal_One, Dongle, Doppio_One, Dorsa, Dosis, DotGothic16, Doto, Dr_Sugiyama, Duru_Sans, DynaPuff, Dynalight, EB_Garamond, Eagle_Lake, East_Sea_Dokdo, Eater, Economica, Eczar, Edu_AU_VIC_WA_NT_Arrows, Edu_AU_VIC_WA_NT_Dots, Edu_AU_VIC_WA_NT_Guides, Edu_AU_VIC_WA_NT_Hand, Edu_AU_VIC_WA_NT_Pre, Edu_NSW_ACT_Cursive, Edu_NSW_ACT_Foundation, Edu_NSW_ACT_Hand_Pre, Edu_QLD_Beginner, Edu_QLD_Hand, Edu_SA_Beginner, Edu_SA_Hand, Edu_TAS_Beginner, Edu_VIC_WA_NT_Beginner, Edu_VIC_WA_NT_Hand, Edu_VIC_WA_NT_Hand_Pre, El_Messiri, Electrolize, Elms_Sans, Elsie, Elsie_Swash_Caps, Emblema_One, Emilys_Candy, Encode_Sans, Encode_Sans_Condensed, Encode_Sans_Expanded, Encode_Sans_SC, Encode_Sans_Semi_Condensed, Encode_Sans_Semi_Expanded, Engagement, Englebert, Enriqueta, Ephesis, Epilogue, Epunda_Sans, Epunda_Slab, Erica_One, Esteban, Estonia, Euphoria_Script, Ewert, Exile, Exo, Exo_2, Expletus_Sans, Explora, Faculty_Glyphic, Fahkwang, Familjen_Grotesk, Fanwood_Text, Farro, Farsan, Fascinate, Fascinate_Inline, Faster_One, Fasthand, Fauna_One, Faustina, Federant, Federo, Felipa, Fenix, Festive, Figtree, Finger_Paint, Finlandica, Fira_Code, Fira_Mono, Fira_Sans, Fira_Sans_Condensed, Fira_Sans_Extra_Condensed, Fjalla_One, Fjord_One, Flamenco, Flavors, Fleur_De_Leah, Flow_Block, Flow_Circular, Flow_Rounded, Foldit, Fondamento, Fontdiner_Swanky, Forum, Fragment_Mono, Francois_One, Frank_Ruhl_Libre, Fraunces, Freckle_Face, Fredericka_the_Great, Fredoka, Freehand, Freeman, Fresca, Frijole, Fruktur, Fugaz_One, Fuggles, Funnel_Display, Funnel_Sans, Fustat, Fuzzy_Bubbles, GFS_Didot, GFS_Neohellenic, Ga_Maamli, Gabarito, Gabriela, Gaegu, Gafata, Gajraj_One, Galada, Galdeano, Galindo, Gamja_Flower, Gantari, Gasoek_One, Gayathri, Geist, Geist_Mono, Gelasio, Gemunu_Libre, Genos, Gentium_Book_Plus, Gentium_Plus, Geo, Geologica, Geom, Georama, Geostar, Geostar_Fill, Germania_One, Gideon_Roman, Gidole, Gidugu, Gilda_Display, Girassol, Give_You_Glory, Glass_Antiqua, Glegoo, Gloock, Gloria_Hallelujah, Glory, Gluten, Goblin_One, Gochi_Hand, Goldman, Golos_Text, Google_Sans, Google_Sans_Code, Google_Sans_Flex, Gorditas, Gothic_A1, Gotu, Goudy_Bookletter_1911, Gowun_Batang, Gowun_Dodum, Graduate, Grand_Hotel, Grandiflora_One, Grandstander, Grape_Nuts, Gravitas_One, Great_Vibes, Grechen_Fuemen, Grenze, Grenze_Gotisch, Grey_Qo, Griffy, Gruppo, Gudea, Gugi, Gulzar, Gupter, Gurajada, Gveret_Levin, Gwendolyn, Habibi, Hachi_Maru_Pop, Hahmlet, Halant, Hammersmith_One, Hanalei, Hanalei_Fill, Handjet, Handlee, Hanken_Grotesk, Hanuman, Happy_Monkey, Harmattan, Headland_One, Hedvig_Letters_Sans, Hedvig_Letters_Serif, Heebo, Henny_Penny, Hepta_Slab, Herr_Von_Muellerhoff, Hi_Melody, Hina_Mincho, Hind, Hind_Guntur, Hind_Madurai, Hind_Mysuru, Hind_Siliguri, Hind_Vadodara, Holtwood_One_SC, Homemade_Apple, Homenaje, Honk, Host_Grotesk, Hubballi, Hubot_Sans, Huninn, Hurricane, IBM_Plex_Mono, IBM_Plex_Sans, IBM_Plex_Sans_Arabic, IBM_Plex_Sans_Condensed, IBM_Plex_Sans_Devanagari, IBM_Plex_Sans_Hebrew, IBM_Plex_Sans_JP, IBM_Plex_Sans_KR, IBM_Plex_Sans_Thai, IBM_Plex_Sans_Thai_Looped, IBM_Plex_Serif, IM_Fell_DW_Pica, IM_Fell_DW_Pica_SC, IM_Fell_Double_Pica, IM_Fell_Double_Pica_SC, IM_Fell_English, IM_Fell_English_SC, IM_Fell_French_Canon, IM_Fell_French_Canon_SC, IM_Fell_Great_Primer, IM_Fell_Great_Primer_SC, Iansui, Ibarra_Real_Nova, Iceberg, Iceland, Idiqlat, Imbue, Imperial_Script, Imprima, Inclusive_Sans, Inconsolata, Inder, Indie_Flower, Ingrid_Darling, Inika, Inknut_Antiqua, Inria_Sans, Inria_Serif, Inspiration, Instrument_Sans, Instrument_Serif, Intel_One_Mono, Inter, Inter_Tight, Irish_Grover, Island_Moments, Istok_Web, Italiana, Italianno, Itim, Jacquard_12, Jacquard_12_Charted, Jacquard_24, Jacquard_24_Charted, Jacquarda_Bastarda_9, Jacquarda_Bastarda_9_Charted, Jacques_Francois, Jacques_Francois_Shadow, Jaini, Jaini_Purva, Jaldi, Jaro, Jersey_10, Jersey_10_Charted, Jersey_15, Jersey_15_Charted, Jersey_20, Jersey_20_Charted, Jersey_25, Jersey_25_Charted, JetBrains_Mono, Jim_Nightshade, Joan, Jockey_One, Jolly_Lodger, Jomhuria, Jomolhari, Josefin_Sans, Josefin_Slab, Jost, Joti_One, Jua, Judson, Julee, Julius_Sans_One, Junge, Jura, Just_Another_Hand, Just_Me_Again_Down_Here, K2D, Kablammo, Kadwa, Kaisei_Decol, Kaisei_HarunoUmi, Kaisei_Opti, Kaisei_Tokumin, Kalam, Kalnia, Kalnia_Glaze, Kameron, Kanchenjunga, Kanit, Kantumruy_Pro, Kapakana, Karantina, Karla, Karla_Tamil_Inclined, Karla_Tamil_Upright, Karma, Katibeh, Kaushan_Script, Kavivanar, Kavoon, Kay_Pho_Du, Kdam_Thmor_Pro, Keania_One, Kedebideri, Kelly_Slab, Kenia, Khand, Khmer, Khula, Kings, Kirang_Haerang, Kite_One, Kiwi_Maru, Klee_One, Knewave, KoHo, Kodchasan, Kode_Mono, Koh_Santepheap, Kolker_Brush, Konkhmer_Sleokchher, Kosugi, Kosugi_Maru, Kotta_One, Koulen, Kranky, Kreon, Kristi, Krona_One, Krub, Kufam, Kulim_Park, Kumar_One, Kumar_One_Outline, Kumbh_Sans, Kurale, LINE_Seed_JP, LXGW_Marker_Gothic, LXGW_WenKai_Mono_TC, LXGW_WenKai_TC, La_Belle_Aurore, Labrada, Lacquer, Laila, Lakki_Reddy, Lalezar, Lancelot, Langar, Lateef, Lato, Lavishly_Yours, League_Gothic, League_Script, League_Spartan, Leckerli_One, Ledger, Lekton, Lemon, Lemonada, Lexend, Lexend_Deca, Lexend_Exa, Lexend_Giga, Lexend_Mega, Lexend_Peta, Lexend_Tera, Lexend_Zetta, Libertinus_Keyboard, Libertinus_Math, Libertinus_Mono, Libertinus_Sans, Libertinus_Serif, Libertinus_Serif_Display, Libre_Barcode_128, Libre_Barcode_128_Text, Libre_Barcode_39, Libre_Barcode_39_Extended, Libre_Barcode_39_Extended_Text, Libre_Barcode_39_Text, Libre_Barcode_EAN13_Text, Libre_Baskerville, Libre_Bodoni, Libre_Caslon_Display, Libre_Caslon_Text, Libre_Franklin, Licorice, Life_Savers, Lilex, Lilita_One, Lily_Script_One, Limelight, Linden_Hill, Linefont, Lisu_Bosa, Liter, Literata, Liu_Jian_Mao_Cao, Livvic, Lobster, Lobster_Two, Londrina_Outline, Londrina_Shadow, Londrina_Sketch, Londrina_Solid, Long_Cang, Lora, Love_Light, Love_Ya_Like_A_Sister, Loved_by_the_King, Lovers_Quarrel, Luckiest_Guy, Lugrasimo, Lumanosimo, Lunasima, Lusitana, Lustria, Luxurious_Roman, Luxurious_Script, M_PLUS_1, M_PLUS_1_Code, M_PLUS_1p, M_PLUS_2, M_PLUS_Code_Latin, M_PLUS_Rounded_1c, Ma_Shan_Zheng, Macondo, Macondo_Swash_Caps, Mada, Madimi_One, Magra, Maiden_Orange, Maitree, Major_Mono_Display, Mako, Mali, Mallanna, Maname, Mandali, Manjari, Manrope, Mansalva, Manuale, Manufacturing_Consent, Marcellus, Marcellus_SC, Marck_Script, Margarine, Marhey, Markazi_Text, Marko_One, Marmelad, Martel, Martel_Sans, Martian_Mono, Marvel, Matangi, Mate, Mate_SC, Matemasie, Maven_Pro, McLaren, Mea_Culpa, Meddon, MedievalSharp, Medula_One, Meera_Inimai, Megrim, Meie_Script, Menbere, Meow_Script, Merienda, Merriweather, Merriweather_Sans, Metal, Metal_Mania, Metamorphous, Metrophobic, Michroma, Micro_5, Micro_5_Charted, Milonga, Miltonian, Miltonian_Tattoo, Mina, Mingzat, Miniver, Miriam_Libre, Mirza, Miss_Fajardose, Mitr, Mochiy_Pop_One, Mochiy_Pop_P_One, Modak, Modern_Antiqua, Moderustic, Mogra, Mohave, Moirai_One, Molengo, Molle, Momo_Signature, Momo_Trust_Display, Momo_Trust_Sans, Mona_Sans, Monda, Monofett, Monomakh, Monomaniac_One, Monoton, Monsieur_La_Doulaise, Montaga, Montagu_Slab, MonteCarlo, Montez, Montserrat, Montserrat_Alternates, Montserrat_Underline, Moo_Lah_Lah, Mooli, Moon_Dance, Moul, Moulpali, Mountains_of_Christmas, Mouse_Memoirs, Mozilla_Headline, Mozilla_Text, Mr_Bedfort, Mr_Dafoe, Mr_De_Haviland, Mrs_Saint_Delafield, Mrs_Sheppards, Ms_Madi, Mukta, Mukta_Mahee, Mukta_Malar, Mukta_Vaani, Mulish, Murecho, MuseoModerno, My_Soul, Mynerve, Mystery_Quest, NTR, Nabla, Namdhinggo, Nanum_Brush_Script, Nanum_Gothic, Nanum_Gothic_Coding, Nanum_Myeongjo, Nanum_Pen_Script, Narnoor, Nata_Sans, National_Park, Neonderthaw, Nerko_One, Neucha, Neuton, New_Amsterdam, New_Rocker, New_Tegomin, News_Cycle, Newsreader, Niconne, Niramit, Nixie_One, Nobile, Nokora, Norican, Nosifer, Notable, Nothing_You_Could_Do, Noticia_Text, Noto_Color_Emoji, Noto_Emoji, Noto_Kufi_Arabic, Noto_Music, Noto_Naskh_Arabic, Noto_Nastaliq_Urdu, Noto_Rashi_Hebrew, Noto_Sans, Noto_Sans_Adlam, Noto_Sans_Adlam_Unjoined, Noto_Sans_Anatolian_Hieroglyphs, Noto_Sans_Arabic, Noto_Sans_Armenian, Noto_Sans_Avestan, Noto_Sans_Balinese, Noto_Sans_Bamum, Noto_Sans_Bassa_Vah, Noto_Sans_Batak, Noto_Sans_Bengali, Noto_Sans_Bhaiksuki, Noto_Sans_Brahmi, Noto_Sans_Buginese, Noto_Sans_Buhid, Noto_Sans_Canadian_Aboriginal, Noto_Sans_Carian, Noto_Sans_Caucasian_Albanian, Noto_Sans_Chakma, Noto_Sans_Cham, Noto_Sans_Cherokee, Noto_Sans_Chorasmian, Noto_Sans_Coptic, Noto_Sans_Cuneiform, Noto_Sans_Cypriot, Noto_Sans_Cypro_Minoan, Noto_Sans_Deseret, Noto_Sans_Devanagari, Noto_Sans_Display, Noto_Sans_Duployan, Noto_Sans_Egyptian_Hieroglyphs, Noto_Sans_Elbasan, Noto_Sans_Elymaic, Noto_Sans_Ethiopic, Noto_Sans_Georgian, Noto_Sans_Glagolitic, Noto_Sans_Gothic, Noto_Sans_Grantha, Noto_Sans_Gujarati, Noto_Sans_Gunjala_Gondi, Noto_Sans_Gurmukhi, Noto_Sans_HK, Noto_Sans_Hanifi_Rohingya, Noto_Sans_Hanunoo, Noto_Sans_Hatran, Noto_Sans_Hebrew, Noto_Sans_Imperial_Aramaic, Noto_Sans_Indic_Siyaq_Numbers, Noto_Sans_Inscriptional_Pahlavi, Noto_Sans_Inscriptional_Parthian, Noto_Sans_JP, Noto_Sans_Javanese, Noto_Sans_KR, Noto_Sans_Kaithi, Noto_Sans_Kannada, Noto_Sans_Kawi, Noto_Sans_Kayah_Li, Noto_Sans_Kharoshthi, Noto_Sans_Khmer, Noto_Sans_Khojki, Noto_Sans_Khudawadi, Noto_Sans_Lao, Noto_Sans_Lao_Looped, Noto_Sans_Lepcha, Noto_Sans_Limbu, Noto_Sans_Linear_A, Noto_Sans_Linear_B, Noto_Sans_Lisu, Noto_Sans_Lycian, Noto_Sans_Lydian, Noto_Sans_Mahajani, Noto_Sans_Malayalam, Noto_Sans_Mandaic, Noto_Sans_Manichaean, Noto_Sans_Marchen, Noto_Sans_Masaram_Gondi, Noto_Sans_Math, Noto_Sans_Mayan_Numerals, Noto_Sans_Medefaidrin, Noto_Sans_Meetei_Mayek, Noto_Sans_Mende_Kikakui, Noto_Sans_Meroitic, Noto_Sans_Miao, Noto_Sans_Modi, Noto_Sans_Mongolian, Noto_Sans_Mono, Noto_Sans_Mro, Noto_Sans_Multani, Noto_Sans_Myanmar, Noto_Sans_NKo, Noto_Sans_NKo_Unjoined, Noto_Sans_Nabataean, Noto_Sans_Nag_Mundari, Noto_Sans_Nandinagari, Noto_Sans_New_Tai_Lue, Noto_Sans_Newa, Noto_Sans_Nushu, Noto_Sans_Ogham, Noto_Sans_Ol_Chiki, Noto_Sans_Old_Hungarian, Noto_Sans_Old_Italic, Noto_Sans_Old_North_Arabian, Noto_Sans_Old_Permic, Noto_Sans_Old_Persian, Noto_Sans_Old_Sogdian, Noto_Sans_Old_South_Arabian, Noto_Sans_Old_Turkic, Noto_Sans_Oriya, Noto_Sans_Osage, Noto_Sans_Osmanya, Noto_Sans_Pahawh_Hmong, Noto_Sans_Palmyrene, Noto_Sans_Pau_Cin_Hau, Noto_Sans_PhagsPa, Noto_Sans_Phoenician, Noto_Sans_Psalter_Pahlavi, Noto_Sans_Rejang, Noto_Sans_Runic, Noto_Sans_SC, Noto_Sans_Samaritan, Noto_Sans_Saurashtra, Noto_Sans_Sharada, Noto_Sans_Shavian, Noto_Sans_Siddham, Noto_Sans_SignWriting, Noto_Sans_Sinhala, Noto_Sans_Sogdian, Noto_Sans_Sora_Sompeng, Noto_Sans_Soyombo, Noto_Sans_Sundanese, Noto_Sans_Sunuwar, Noto_Sans_Syloti_Nagri, Noto_Sans_Symbols, Noto_Sans_Symbols_2, Noto_Sans_Syriac, Noto_Sans_Syriac_Eastern, Noto_Sans_Syriac_Western, Noto_Sans_TC, Noto_Sans_Tagalog, Noto_Sans_Tagbanwa, Noto_Sans_Tai_Le, Noto_Sans_Tai_Tham, Noto_Sans_Tai_Viet, Noto_Sans_Takri, Noto_Sans_Tamil, Noto_Sans_Tamil_Supplement, Noto_Sans_Tangsa, Noto_Sans_Telugu, Noto_Sans_Thaana, Noto_Sans_Thai, Noto_Sans_Thai_Looped, Noto_Sans_Tifinagh, Noto_Sans_Tirhuta, Noto_Sans_Ugaritic, Noto_Sans_Vai, Noto_Sans_Vithkuqi, Noto_Sans_Wancho, Noto_Sans_Warang_Citi, Noto_Sans_Yi, Noto_Sans_Zanabazar_Square, Noto_Serif, Noto_Serif_Ahom, Noto_Serif_Armenian, Noto_Serif_Balinese, Noto_Serif_Bengali, Noto_Serif_Devanagari, Noto_Serif_Display, Noto_Serif_Dives_Akuru, Noto_Serif_Dogra, Noto_Serif_Ethiopic, Noto_Serif_Georgian, Noto_Serif_Grantha, Noto_Serif_Gujarati, Noto_Serif_Gurmukhi, Noto_Serif_HK, Noto_Serif_Hebrew, Noto_Serif_Hentaigana, Noto_Serif_JP, Noto_Serif_KR, Noto_Serif_Kannada, Noto_Serif_Khitan_Small_Script, Noto_Serif_Khmer, Noto_Serif_Khojki, Noto_Serif_Lao, Noto_Serif_Makasar, Noto_Serif_Malayalam, Noto_Serif_Myanmar, Noto_Serif_NP_Hmong, Noto_Serif_Old_Uyghur, Noto_Serif_Oriya, Noto_Serif_Ottoman_Siyaq, Noto_Serif_SC, Noto_Serif_Sinhala, Noto_Serif_TC, Noto_Serif_Tamil, Noto_Serif_Tangut, Noto_Serif_Telugu, Noto_Serif_Thai, Noto_Serif_Tibetan, Noto_Serif_Todhri, Noto_Serif_Toto, Noto_Serif_Vithkuqi, Noto_Serif_Yezidi, Noto_Traditional_Nushu, Noto_Znamenny_Musical_Notation, Nova_Cut, Nova_Flat, Nova_Mono, Nova_Oval, Nova_Round, Nova_Script, Nova_Slim, Nova_Square, Numans, Nunito, Nunito_Sans, Nuosu_SIL, Odibee_Sans, Odor_Mean_Chey, Offside, Oi, Ojuju, Old_Standard_TT, Oldenburg, Ole, Oleo_Script, Oleo_Script_Swash_Caps, Onest, Oooh_Baby, Open_Sans, Oranienbaum, Orbit, Orbitron, Oregano, Orelega_One, Orienta, Original_Surfer, Oswald, Outfit, Over_the_Rainbow, Overlock, Overlock_SC, Overpass, Overpass_Mono, Ovo, Oxanium, Oxygen, Oxygen_Mono, PT_Mono, PT_Sans, PT_Sans_Caption, PT_Sans_Narrow, PT_Serif, PT_Serif_Caption, Pacifico, Padauk, Padyakke_Expanded_One, Palanquin, Palanquin_Dark, Palette_Mosaic, Pangolin, Paprika, Parastoo, Parisienne, Parkinsans, Passero_One, Passion_One, Passions_Conflict, Pathway_Extreme, Pathway_Gothic_One, Patrick_Hand, Patrick_Hand_SC, Pattaya, Patua_One, Pavanam, Paytone_One, Peddana, Peralta, Permanent_Marker, Petemoss, Petit_Formal_Script, Petrona, Phetsarath, Philosopher, Phudu, Piazzolla, Piedra, Pinyon_Script, Pirata_One, Pixelify_Sans, Plaster, Platypi, Play, Playball, Playfair, Playfair_Display, Playfair_Display_SC, Playpen_Sans, Playpen_Sans_Arabic, Playpen_Sans_Deva, Playpen_Sans_Hebrew, Playpen_Sans_Thai, Playwrite_AR, Playwrite_AR_Guides, Playwrite_AT, Playwrite_AT_Guides, Playwrite_AU_NSW, Playwrite_AU_NSW_Guides, Playwrite_AU_QLD, Playwrite_AU_QLD_Guides, Playwrite_AU_SA, Playwrite_AU_SA_Guides, Playwrite_AU_TAS, Playwrite_AU_TAS_Guides, Playwrite_AU_VIC, Playwrite_AU_VIC_Guides, Playwrite_BE_VLG, Playwrite_BE_VLG_Guides, Playwrite_BE_WAL, Playwrite_BE_WAL_Guides, Playwrite_BR, Playwrite_BR_Guides, Playwrite_CA, Playwrite_CA_Guides, Playwrite_CL, Playwrite_CL_Guides, Playwrite_CO, Playwrite_CO_Guides, Playwrite_CU, Playwrite_CU_Guides, Playwrite_CZ, Playwrite_CZ_Guides, Playwrite_DE_Grund, Playwrite_DE_Grund_Guides, Playwrite_DE_LA, Playwrite_DE_LA_Guides, Playwrite_DE_SAS, Playwrite_DE_SAS_Guides, Playwrite_DE_VA, Playwrite_DE_VA_Guides, Playwrite_DK_Loopet, Playwrite_DK_Loopet_Guides, Playwrite_DK_Uloopet, Playwrite_DK_Uloopet_Guides, Playwrite_ES, Playwrite_ES_Deco, Playwrite_ES_Deco_Guides, Playwrite_ES_Guides, Playwrite_FR_Moderne, Playwrite_FR_Moderne_Guides, Playwrite_FR_Trad, Playwrite_FR_Trad_Guides, Playwrite_GB_J, Playwrite_GB_J_Guides, Playwrite_GB_S, Playwrite_GB_S_Guides, Playwrite_HR, Playwrite_HR_Guides, Playwrite_HR_Lijeva, Playwrite_HR_Lijeva_Guides, Playwrite_HU, Playwrite_HU_Guides, Playwrite_ID, Playwrite_ID_Guides, Playwrite_IE, Playwrite_IE_Guides, Playwrite_IN, Playwrite_IN_Guides, Playwrite_IS, Playwrite_IS_Guides, Playwrite_IT_Moderna, Playwrite_IT_Moderna_Guides, Playwrite_IT_Trad, Playwrite_IT_Trad_Guides, Playwrite_MX, Playwrite_MX_Guides, Playwrite_NG_Modern, Playwrite_NG_Modern_Guides, Playwrite_NL, Playwrite_NL_Guides, Playwrite_NO, Playwrite_NO_Guides, Playwrite_NZ, Playwrite_NZ_Basic, Playwrite_NZ_Basic_Guides, Playwrite_NZ_Guides, Playwrite_PE, Playwrite_PE_Guides, Playwrite_PL, Playwrite_PL_Guides, Playwrite_PT, Playwrite_PT_Guides, Playwrite_RO, Playwrite_RO_Guides, Playwrite_SK, Playwrite_SK_Guides, Playwrite_TZ, Playwrite_TZ_Guides, Playwrite_US_Modern, Playwrite_US_Modern_Guides, Playwrite_US_Trad, Playwrite_US_Trad_Guides, Playwrite_VN, Playwrite_VN_Guides, Playwrite_ZA, Playwrite_ZA_Guides, Plus_Jakarta_Sans, Pochaevsk, Podkova, Poetsen_One, Poiret_One, Poller_One, Poltawski_Nowy, Poly, Pompiere, Ponnala, Ponomar, Pontano_Sans, Poor_Story, Poppins, Port_Lligat_Sans, Port_Lligat_Slab, Potta_One, Pragati_Narrow, Praise, Prata, Preahvihear, Press_Start_2P, Pridi, Princess_Sofia, Prociono, Prompt, Prosto_One, Protest_Guerrilla, Protest_Revolution, Protest_Riot, Protest_Strike, Proza_Libre, Public_Sans, Puppies_Play, Puritan, Purple_Purse, Qahiri, Quando, Quantico, Quattrocento, Quattrocento_Sans, Questrial, Quicksand, Quintessential, Qwigley, Qwitcher_Grypen, REM, Racing_Sans_One, Radio_Canada, Radio_Canada_Big, Radley, Rajdhani, Rakkas, Raleway, Raleway_Dots, Ramabhadra, Ramaraja, Rambla, Rammetto_One, Rampart_One, Ramsina, Ranchers, Rancho, Ranga, Rasa, Rationale, Ravi_Prakash, Readex_Pro, Recursive, Red_Hat_Display, Red_Hat_Mono, Red_Hat_Text, Red_Rose, Redacted, Redacted_Script, Reddit_Mono, Reddit_Sans, Reddit_Sans_Condensed, Redressed, Reem_Kufi, Reem_Kufi_Fun, Reem_Kufi_Ink, Reenie_Beanie, Reggae_One, Rethink_Sans, Revalia, Rhodium_Libre, Ribeye, Ribeye_Marrow, Righteous, Risque, Road_Rage, Roboto, Roboto_Condensed, Roboto_Flex, Roboto_Mono, Roboto_Serif, Roboto_Slab, Rochester, Rock_3D, Rock_Salt, RocknRoll_One, Rokkitt, Romanesco, Ropa_Sans, Rosario, Rosarivo, Rouge_Script, Rowdies, Rozha_One, Rubik, Rubik_80s_Fade, Rubik_Beastly, Rubik_Broken_Fax, Rubik_Bubbles, Rubik_Burned, Rubik_Dirt, Rubik_Distressed, Rubik_Doodle_Shadow, Rubik_Doodle_Triangles, Rubik_Gemstones, Rubik_Glitch, Rubik_Glitch_Pop, Rubik_Iso, Rubik_Lines, Rubik_Maps, Rubik_Marker_Hatch, Rubik_Maze, Rubik_Microbe, Rubik_Mono_One, Rubik_Moonrocks, Rubik_Pixels, Rubik_Puddles, Rubik_Scribble, Rubik_Spray_Paint, Rubik_Storm, Rubik_Vinyl, Rubik_Wet_Paint, Ruda, Rufina, Ruge_Boogie, Ruluko, Rum_Raisin, Ruslan_Display, Russo_One, Ruthie, Ruwudu, Rye, SN_Pro, STIX_Two_Text, SUSE, SUSE_Mono, Sacramento, Sahitya, Sail, Saira, Saira_Condensed, Saira_Extra_Condensed, Saira_Semi_Condensed, Saira_Stencil_One, Salsa, Sanchez, Sancreek, Sankofa_Display, Sansation, Sansita, Sansita_Swashed, Sarabun, Sarala, Sarina, Sarpanch, Sassy_Frass, Satisfy, Savate, Sawarabi_Gothic, Sawarabi_Mincho, Scada, Scheherazade_New, Schibsted_Grotesk, Schoolbell, Science_Gothic, Scope_One, Seaweed_Script, Secular_One, Sedan, Sedan_SC, Sedgwick_Ave, Sedgwick_Ave_Display, Sekuya, Sen, Send_Flowers, Sevillana, Seymour_One, Shadows_Into_Light, Shadows_Into_Light_Two, Shafarik, Shalimar, Shantell_Sans, Shanti, Share, Share_Tech, Share_Tech_Mono, Shippori_Antique, Shippori_Antique_B1, Shippori_Mincho, Shippori_Mincho_B1, Shizuru, Shojumaru, Short_Stack, Shrikhand, Siemreap, Sigmar, Sigmar_One, Signika, Signika_Negative, Silkscreen, Simonetta, Single_Day, Sintony, Sirin_Stencil, Sirivennela, Six_Caps, Sixtyfour, Sixtyfour_Convergence, Skranji, Slabo_13px, Slabo_27px, Slackey, Slackside_One, Smokum, Smooch, Smooch_Sans, Smythe, Sniglet, Snippet, Snowburst_One, Sofadi_One, Sofia, Sofia_Sans, Sofia_Sans_Condensed, Sofia_Sans_Extra_Condensed, Sofia_Sans_Semi_Condensed, Solitreo, Solway, Sometype_Mono, Song_Myung, Sono, Sonsie_One, Sora, Sorts_Mill_Goudy, Sour_Gummy, Source_Code_Pro, Source_Sans_3, Source_Serif_4, Space_Grotesk, Space_Mono, Special_Elite, Special_Gothic, Special_Gothic_Condensed_One, Special_Gothic_Expanded_One, Spectral, Spectral_SC, Spicy_Rice, Spinnaker, Spirax, Splash, Spline_Sans, Spline_Sans_Mono, Squada_One, Square_Peg, Sree_Krushnadevaraya, Sriracha, Srisakdi, Staatliches, Stack_Sans_Headline, Stack_Sans_Notch, Stack_Sans_Text, Stalemate, Stalinist_One, Stardos_Stencil, Stick, Stick_No_Bills, Stint_Ultra_Condensed, Stint_Ultra_Expanded, Stoke, Story_Script, Strait, Style_Script, Stylish, Sue_Ellen_Francisco, Suez_One, Sulphur_Point, Sumana, Sunflower, Sunshiney, Supermercado_One, Sura, Suranna, Suravaram, Suwannaphum, Swanky_and_Moo_Moo, Syncopate, Syne, Syne_Mono, Syne_Tactile, TASA_Explorer, TASA_Orbiter, Tac_One, Tagesschrift, Tai_Heritage_Pro, Tajawal, Tangerine, Tapestry, Taprom, Tauri, Taviraj, Teachers, Teko, Tektur, Telex, Tenali_Ramakrishna, Tenor_Sans, Text_Me_One, Texturina, Thasadith, The_Girl_Next_Door, The_Nautigal, Tienne, TikTok_Sans, Tillana, Tilt_Neon, Tilt_Prism, Tilt_Warp, Timmana, Tinos, Tiny5, Tiro_Bangla, Tiro_Devanagari_Hindi, Tiro_Devanagari_Marathi, Tiro_Devanagari_Sanskrit, Tiro_Gurmukhi, Tiro_Kannada, Tiro_Tamil, Tiro_Telugu, Tirra, Titan_One, Titillium_Web, Tomorrow, Tourney, Trade_Winds, Train_One, Triodion, Trirong, Trispace, Trocchi, Trochut, Truculenta, Trykker, Tsukimi_Rounded, Tuffy, Tulpen_One, Turret_Road, Twinkle_Star, Ubuntu, Ubuntu_Condensed, Ubuntu_Mono, Ubuntu_Sans, Ubuntu_Sans_Mono, Uchen, Ultra, Unbounded, Uncial_Antiqua, Underdog, Unica_One, UnifrakturCook, UnifrakturMaguntia, Unkempt, Unlock, Unna, UoqMunThenKhung, Updock, Urbanist, VT323, Vampiro_One, Varela, Varela_Round, Varta, Vast_Shadow, Vazirmatn, Vend_Sans, Vesper_Libre, Viaoda_Libre, Vibes, Vibur, Victor_Mono, Vidaloka, Viga, Vina_Sans, Voces, Volkhov, Vollkorn, Vollkorn_SC, Voltaire, Vujahday_Script, WDXL_Lubrifont_JP_N, WDXL_Lubrifont_SC, WDXL_Lubrifont_TC, Waiting_for_the_Sunrise, Wallpoet, Walter_Turncoat, Warnes, Water_Brush, Waterfall, Wavefont, Wellfleet, Wendy_One, Whisper, WindSong, Winky_Rough, Winky_Sans, Wire_One, Wittgenstein, Wix_Madefor_Display, Wix_Madefor_Text, Work_Sans, Workbench, Xanh_Mono, Yaldevi, Yanone_Kaffeesatz, Yantramanav, Yarndings_12, Yarndings_12_Charted, Yarndings_20, Yarndings_20_Charted, Yatra_One, Yellowtail, Yeon_Sung, Yeseva_One, Yesteryear, Yomogi, Young_Serif, Yrsa, Ysabeau, Ysabeau_Infant, Ysabeau_Office, Ysabeau_SC, Yuji_Boku, Yuji_Hentaigana_Akari, Yuji_Hentaigana_Akebono, Yuji_Mai, Yuji_Syuku, Yusei_Magic, ZCOOL_KuaiLe, ZCOOL_QingKe_HuangYou, ZCOOL_XiaoWei, Zain, Zalando_Sans, Zalando_Sans_Expanded, Zalando_Sans_SemiExpanded, Zen_Antique, Zen_Antique_Soft, Zen_Dots, Zen_Kaku_Gothic_Antique, Zen_Kaku_Gothic_New, Zen_Kurenaido, Zen_Loop, Zen_Maru_Gothic, Zen_Old_Mincho, Zen_Tokyo_Zoo, Zeyada, Zhi_Mang_Xing, Zilla_Slab, Zilla_Slab_Highlight, buildGoogleFontsUrl, googleFonts as default, getSSRFontLinks, getSSRFontPreloads, getSSRFontStyles };
|
|
1
|
+
import googleFonts, { buildGoogleFontsUrl, createFontLoader, getSSRFontLinks, getSSRFontPreloads, getSSRFontStyles } from "./font-google-base.js";
|
|
2
|
+
export { buildGoogleFontsUrl, createFontLoader, googleFonts as default, getSSRFontLinks, getSSRFontPreloads, getSSRFontStyles };
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import googleFonts, { buildGoogleFontsUrl, getSSRFontLinks, getSSRFontPreloads, getSSRFontStyles } from "./font-google-base.js";
|
|
2
|
-
import { ABeeZee, ADLaM_Display, AR_One_Sans, Abel, Abhaya_Libre, Aboreto, Abril_Fatface, Abyssinica_SIL, Aclonica, Acme, Actor, Adamina, Advent_Pro, Afacad, Afacad_Flux, Agbalumo, Agdasima, Agu_Display, Aguafina_Script, Akatab, Akaya_Kanadaka, Akaya_Telivigala, Akronim, Akshar, Aladin, Alan_Sans, Alata, Alatsi, Albert_Sans, Aldrich, Alef, Alegreya, Alegreya_SC, Alegreya_Sans, Alegreya_Sans_SC, Aleo, Alex_Brush, Alexandria, Alfa_Slab_One, Alice, Alike, Alike_Angular, Alkalami, Alkatra, Allan, Allerta, Allerta_Stencil, Allison, Allkin, Allura, Almarai, Almendra, Almendra_Display, Almendra_SC, Alumni_Sans, Alumni_Sans_Collegiate_One, Alumni_Sans_Inline_One, Alumni_Sans_Pinstripe, Alumni_Sans_SC, Alyamama, Amarante, Amaranth, Amarna, Amatic_SC, Amethysta, Amiko, Amiri, Amiri_Quran, Amita, Anaheim, Ancizar_Sans, Ancizar_Serif, Andada_Pro, Andika, Anek_Bangla, Anek_Devanagari, Anek_Gujarati, Anek_Gurmukhi, Anek_Kannada, Anek_Latin, Anek_Malayalam, Anek_Odia, Anek_Tamil, Anek_Telugu, Angkor, Annapurna_SIL, Annie_Use_Your_Telescope, Anonymous_Pro, Anta, Antic, Antic_Didone, Antic_Slab, Anton, Anton_SC, Antonio, Anuphan, Anybody, Aoboshi_One, Arapey, Arbutus, Arbutus_Slab, Architects_Daughter, Archivo, Archivo_Black, Archivo_Narrow, Are_You_Serious, Aref_Ruqaa, Aref_Ruqaa_Ink, Arima, Arimo, Arizonia, Armata, Arsenal, Arsenal_SC, Artifika, Arvo, Arya, Asap, Asap_Condensed, Asar, Asimovian, Asset, Assistant, Asta_Sans, Astloch, Asul, Athiti, Atkinson_Hyperlegible, Atkinson_Hyperlegible_Mono, Atkinson_Hyperlegible_Next, Atma, Atomic_Age, Aubrey, Audiowide, Autour_One, Average, Average_Sans, Averia_Gruesa_Libre, Averia_Libre, Averia_Sans_Libre, Averia_Serif_Libre, Azeret_Mono, B612, B612_Mono, BBH_Bartle, BBH_Bogle, BBH_Hegarty, BIZ_UDGothic, BIZ_UDMincho, BIZ_UDPGothic, BIZ_UDPMincho, Babylonica, Bacasime_Antique, Bad_Script, Badeen_Display, Bagel_Fat_One, Bahiana, Bahianita, Bai_Jamjuree, Bakbak_One, Ballet, Baloo_2, Baloo_Bhai_2, Baloo_Bhaijaan_2, Baloo_Bhaina_2, Baloo_Chettan_2, Baloo_Da_2, Baloo_Paaji_2, Baloo_Tamma_2, Baloo_Tammudu_2, Baloo_Thambi_2, Balsamiq_Sans, Balthazar, Bangers, Barlow, Barlow_Condensed, Barlow_Semi_Condensed, Barriecito, Barrio, Basic, Baskervville, Baskervville_SC, Battambang, Baumans, Bayon, Be_Vietnam_Pro, Beau_Rivage, Bebas_Neue, Beiruti, Belanosima, Belgrano, Bellefair, Belleza, Bellota, Bellota_Text, BenchNine, Benne, Bentham, Berkshire_Swash, Besley, Betania_Patmos, Betania_Patmos_GDL, Betania_Patmos_In, Betania_Patmos_In_GDL, Beth_Ellen, Bevan, BhuTuka_Expanded_One, Big_Shoulders, Big_Shoulders_Inline, Big_Shoulders_Stencil, Bigelow_Rules, Bigshot_One, Bilbo, Bilbo_Swash_Caps, BioRhyme, BioRhyme_Expanded, Birthstone, Birthstone_Bounce, Biryani, Bitcount, Bitcount_Grid_Double, Bitcount_Grid_Double_Ink, Bitcount_Grid_Single, Bitcount_Grid_Single_Ink, Bitcount_Ink, Bitcount_Prop_Double, Bitcount_Prop_Double_Ink, Bitcount_Prop_Single, Bitcount_Prop_Single_Ink, Bitcount_Single, Bitcount_Single_Ink, Bitter, Black_And_White_Picture, Black_Han_Sans, Black_Ops_One, Blaka, Blaka_Hollow, Blaka_Ink, Blinker, Bodoni_Moda, Bodoni_Moda_SC, Bokor, Boldonse, Bona_Nova, Bona_Nova_SC, Bonbon, Bonheur_Royale, Boogaloo, Borel, Bowlby_One, Bowlby_One_SC, Bpmf_Huninn, Bpmf_Iansui, Bpmf_Zihi_Kai_Std, Braah_One, Brawler, Bree_Serif, Bricolage_Grotesque, Bruno_Ace, Bruno_Ace_SC, Brygada_1918, Bubblegum_Sans, Bubbler_One, Buda, Buenard, Bungee, Bungee_Hairline, Bungee_Inline, Bungee_Outline, Bungee_Shade, Bungee_Spice, Bungee_Tint, Butcherman, Butterfly_Kids, Bytesized, Cabin, Cabin_Condensed, Cabin_Sketch, Cactus_Classical_Serif, Caesar_Dressing, Cagliostro, Cairo, Cairo_Play, Cal_Sans, Caladea, Calistoga, Calligraffitti, Cambay, Cambo, Candal, Cantarell, Cantata_One, Cantora_One, Caprasimo, Capriola, Caramel, Carattere, Cardo, Carlito, Carme, Carrois_Gothic, Carrois_Gothic_SC, Carter_One, Cascadia_Code, Cascadia_Mono, Castoro, Castoro_Titling, Catamaran, Caudex, Cause, Caveat, Caveat_Brush, Cedarville_Cursive, Ceviche_One, Chakra_Petch, Changa, Changa_One, Chango, Charis_SIL, Charm, Charmonman, Chathura, Chau_Philomene_One, Chela_One, Chelsea_Market, Chenla, Cherish, Cherry_Bomb_One, Cherry_Cream_Soda, Cherry_Swash, Chewy, Chicle, Chilanka, Chiron_GoRound_TC, Chiron_Hei_HK, Chiron_Sung_HK, Chivo, Chivo_Mono, Chocolate_Classical_Sans, Chokokutai, Chonburi, Cinzel, Cinzel_Decorative, Clicker_Script, Climate_Crisis, Coda, Codystar, Coiny, Combo, Comfortaa, Comforter, Comforter_Brush, Comic_Neue, Comic_Relief, Coming_Soon, Comme, Commissioner, Concert_One, Condiment, Content, Contrail_One, Convergence, Cookie, Copse, Coral_Pixels, Corben, Corinthia, Cormorant, Cormorant_Garamond, Cormorant_Infant, Cormorant_SC, Cormorant_Unicase, Cormorant_Upright, Cossette_Texte, Cossette_Titre, Courgette, Courier_Prime, Cousine, Coustard, Covered_By_Your_Grace, Crafty_Girls, Creepster, Crete_Round, Crimson_Pro, Crimson_Text, Croissant_One, Crushed, Cuprum, Cute_Font, Cutive, Cutive_Mono, DM_Mono, DM_Sans, DM_Serif_Display, DM_Serif_Text, Dai_Banna_SIL, Damion, Dancing_Script, Danfo, Dangrek, Darker_Grotesque, Darumadrop_One, David_Libre, Dawning_of_a_New_Day, Days_One, Dekko, Dela_Gothic_One, Delicious_Handrawn, Delius, Delius_Swash_Caps, Delius_Unicase, Della_Respira, Denk_One, Devonshire, Dhurjati, Didact_Gothic, Diphylleia, Diplomata, Diplomata_SC, Do_Hyeon, Dokdo, Domine, Donegal_One, Dongle, Doppio_One, Dorsa, Dosis, DotGothic16, Doto, Dr_Sugiyama, Duru_Sans, DynaPuff, Dynalight, EB_Garamond, Eagle_Lake, East_Sea_Dokdo, Eater, Economica, Eczar, Edu_AU_VIC_WA_NT_Arrows, Edu_AU_VIC_WA_NT_Dots, Edu_AU_VIC_WA_NT_Guides, Edu_AU_VIC_WA_NT_Hand, Edu_AU_VIC_WA_NT_Pre, Edu_NSW_ACT_Cursive, Edu_NSW_ACT_Foundation, Edu_NSW_ACT_Hand_Pre, Edu_QLD_Beginner, Edu_QLD_Hand, Edu_SA_Beginner, Edu_SA_Hand, Edu_TAS_Beginner, Edu_VIC_WA_NT_Beginner, Edu_VIC_WA_NT_Hand, Edu_VIC_WA_NT_Hand_Pre, El_Messiri, Electrolize, Elms_Sans, Elsie, Elsie_Swash_Caps, Emblema_One, Emilys_Candy, Encode_Sans, Encode_Sans_Condensed, Encode_Sans_Expanded, Encode_Sans_SC, Encode_Sans_Semi_Condensed, Encode_Sans_Semi_Expanded, Engagement, Englebert, Enriqueta, Ephesis, Epilogue, Epunda_Sans, Epunda_Slab, Erica_One, Esteban, Estonia, Euphoria_Script, Ewert, Exile, Exo, Exo_2, Expletus_Sans, Explora, Faculty_Glyphic, Fahkwang, Familjen_Grotesk, Fanwood_Text, Farro, Farsan, Fascinate, Fascinate_Inline, Faster_One, Fasthand, Fauna_One, Faustina, Federant, Federo, Felipa, Fenix, Festive, Figtree, Finger_Paint, Finlandica, Fira_Code, Fira_Mono, Fira_Sans, Fira_Sans_Condensed, Fira_Sans_Extra_Condensed, Fjalla_One, Fjord_One, Flamenco, Flavors, Fleur_De_Leah, Flow_Block, Flow_Circular, Flow_Rounded, Foldit, Fondamento, Fontdiner_Swanky, Forum, Fragment_Mono, Francois_One, Frank_Ruhl_Libre, Fraunces, Freckle_Face, Fredericka_the_Great, Fredoka, Freehand, Freeman, Fresca, Frijole, Fruktur, Fugaz_One, Fuggles, Funnel_Display, Funnel_Sans, Fustat, Fuzzy_Bubbles, GFS_Didot, GFS_Neohellenic, Ga_Maamli, Gabarito, Gabriela, Gaegu, Gafata, Gajraj_One, Galada, Galdeano, Galindo, Gamja_Flower, Gantari, Gasoek_One, Gayathri, Geist, Geist_Mono, Gelasio, Gemunu_Libre, Genos, Gentium_Book_Plus, Gentium_Plus, Geo, Geologica, Geom, Georama, Geostar, Geostar_Fill, Germania_One, Gideon_Roman, Gidole, Gidugu, Gilda_Display, Girassol, Give_You_Glory, Glass_Antiqua, Glegoo, Gloock, Gloria_Hallelujah, Glory, Gluten, Goblin_One, Gochi_Hand, Goldman, Golos_Text, Google_Sans, Google_Sans_Code, Google_Sans_Flex, Gorditas, Gothic_A1, Gotu, Goudy_Bookletter_1911, Gowun_Batang, Gowun_Dodum, Graduate, Grand_Hotel, Grandiflora_One, Grandstander, Grape_Nuts, Gravitas_One, Great_Vibes, Grechen_Fuemen, Grenze, Grenze_Gotisch, Grey_Qo, Griffy, Gruppo, Gudea, Gugi, Gulzar, Gupter, Gurajada, Gveret_Levin, Gwendolyn, Habibi, Hachi_Maru_Pop, Hahmlet, Halant, Hammersmith_One, Hanalei, Hanalei_Fill, Handjet, Handlee, Hanken_Grotesk, Hanuman, Happy_Monkey, Harmattan, Headland_One, Hedvig_Letters_Sans, Hedvig_Letters_Serif, Heebo, Henny_Penny, Hepta_Slab, Herr_Von_Muellerhoff, Hi_Melody, Hina_Mincho, Hind, Hind_Guntur, Hind_Madurai, Hind_Mysuru, Hind_Siliguri, Hind_Vadodara, Holtwood_One_SC, Homemade_Apple, Homenaje, Honk, Host_Grotesk, Hubballi, Hubot_Sans, Huninn, Hurricane, IBM_Plex_Mono, IBM_Plex_Sans, IBM_Plex_Sans_Arabic, IBM_Plex_Sans_Condensed, IBM_Plex_Sans_Devanagari, IBM_Plex_Sans_Hebrew, IBM_Plex_Sans_JP, IBM_Plex_Sans_KR, IBM_Plex_Sans_Thai, IBM_Plex_Sans_Thai_Looped, IBM_Plex_Serif, IM_Fell_DW_Pica, IM_Fell_DW_Pica_SC, IM_Fell_Double_Pica, IM_Fell_Double_Pica_SC, IM_Fell_English, IM_Fell_English_SC, IM_Fell_French_Canon, IM_Fell_French_Canon_SC, IM_Fell_Great_Primer, IM_Fell_Great_Primer_SC, Iansui, Ibarra_Real_Nova, Iceberg, Iceland, Idiqlat, Imbue, Imperial_Script, Imprima, Inclusive_Sans, Inconsolata, Inder, Indie_Flower, Ingrid_Darling, Inika, Inknut_Antiqua, Inria_Sans, Inria_Serif, Inspiration, Instrument_Sans, Instrument_Serif, Intel_One_Mono, Inter, Inter_Tight, Irish_Grover, Island_Moments, Istok_Web, Italiana, Italianno, Itim, Jacquard_12, Jacquard_12_Charted, Jacquard_24, Jacquard_24_Charted, Jacquarda_Bastarda_9, Jacquarda_Bastarda_9_Charted, Jacques_Francois, Jacques_Francois_Shadow, Jaini, Jaini_Purva, Jaldi, Jaro, Jersey_10, Jersey_10_Charted, Jersey_15, Jersey_15_Charted, Jersey_20, Jersey_20_Charted, Jersey_25, Jersey_25_Charted, JetBrains_Mono, Jim_Nightshade, Joan, Jockey_One, Jolly_Lodger, Jomhuria, Jomolhari, Josefin_Sans, Josefin_Slab, Jost, Joti_One, Jua, Judson, Julee, Julius_Sans_One, Junge, Jura, Just_Another_Hand, Just_Me_Again_Down_Here, K2D, Kablammo, Kadwa, Kaisei_Decol, Kaisei_HarunoUmi, Kaisei_Opti, Kaisei_Tokumin, Kalam, Kalnia, Kalnia_Glaze, Kameron, Kanchenjunga, Kanit, Kantumruy_Pro, Kapakana, Karantina, Karla, Karla_Tamil_Inclined, Karla_Tamil_Upright, Karma, Katibeh, Kaushan_Script, Kavivanar, Kavoon, Kay_Pho_Du, Kdam_Thmor_Pro, Keania_One, Kedebideri, Kelly_Slab, Kenia, Khand, Khmer, Khula, Kings, Kirang_Haerang, Kite_One, Kiwi_Maru, Klee_One, Knewave, KoHo, Kodchasan, Kode_Mono, Koh_Santepheap, Kolker_Brush, Konkhmer_Sleokchher, Kosugi, Kosugi_Maru, Kotta_One, Koulen, Kranky, Kreon, Kristi, Krona_One, Krub, Kufam, Kulim_Park, Kumar_One, Kumar_One_Outline, Kumbh_Sans, Kurale, LINE_Seed_JP, LXGW_Marker_Gothic, LXGW_WenKai_Mono_TC, LXGW_WenKai_TC, La_Belle_Aurore, Labrada, Lacquer, Laila, Lakki_Reddy, Lalezar, Lancelot, Langar, Lateef, Lato, Lavishly_Yours, League_Gothic, League_Script, League_Spartan, Leckerli_One, Ledger, Lekton, Lemon, Lemonada, Lexend, Lexend_Deca, Lexend_Exa, Lexend_Giga, Lexend_Mega, Lexend_Peta, Lexend_Tera, Lexend_Zetta, Libertinus_Keyboard, Libertinus_Math, Libertinus_Mono, Libertinus_Sans, Libertinus_Serif, Libertinus_Serif_Display, Libre_Barcode_128, Libre_Barcode_128_Text, Libre_Barcode_39, Libre_Barcode_39_Extended, Libre_Barcode_39_Extended_Text, Libre_Barcode_39_Text, Libre_Barcode_EAN13_Text, Libre_Baskerville, Libre_Bodoni, Libre_Caslon_Display, Libre_Caslon_Text, Libre_Franklin, Licorice, Life_Savers, Lilex, Lilita_One, Lily_Script_One, Limelight, Linden_Hill, Linefont, Lisu_Bosa, Liter, Literata, Liu_Jian_Mao_Cao, Livvic, Lobster, Lobster_Two, Londrina_Outline, Londrina_Shadow, Londrina_Sketch, Londrina_Solid, Long_Cang, Lora, Love_Light, Love_Ya_Like_A_Sister, Loved_by_the_King, Lovers_Quarrel, Luckiest_Guy, Lugrasimo, Lumanosimo, Lunasima, Lusitana, Lustria, Luxurious_Roman, Luxurious_Script, M_PLUS_1, M_PLUS_1_Code, M_PLUS_1p, M_PLUS_2, M_PLUS_Code_Latin, M_PLUS_Rounded_1c, Ma_Shan_Zheng, Macondo, Macondo_Swash_Caps, Mada, Madimi_One, Magra, Maiden_Orange, Maitree, Major_Mono_Display, Mako, Mali, Mallanna, Maname, Mandali, Manjari, Manrope, Mansalva, Manuale, Manufacturing_Consent, Marcellus, Marcellus_SC, Marck_Script, Margarine, Marhey, Markazi_Text, Marko_One, Marmelad, Martel, Martel_Sans, Martian_Mono, Marvel, Matangi, Mate, Mate_SC, Matemasie, Maven_Pro, McLaren, Mea_Culpa, Meddon, MedievalSharp, Medula_One, Meera_Inimai, Megrim, Meie_Script, Menbere, Meow_Script, Merienda, Merriweather, Merriweather_Sans, Metal, Metal_Mania, Metamorphous, Metrophobic, Michroma, Micro_5, Micro_5_Charted, Milonga, Miltonian, Miltonian_Tattoo, Mina, Mingzat, Miniver, Miriam_Libre, Mirza, Miss_Fajardose, Mitr, Mochiy_Pop_One, Mochiy_Pop_P_One, Modak, Modern_Antiqua, Moderustic, Mogra, Mohave, Moirai_One, Molengo, Molle, Momo_Signature, Momo_Trust_Display, Momo_Trust_Sans, Mona_Sans, Monda, Monofett, Monomakh, Monomaniac_One, Monoton, Monsieur_La_Doulaise, Montaga, Montagu_Slab, MonteCarlo, Montez, Montserrat, Montserrat_Alternates, Montserrat_Underline, Moo_Lah_Lah, Mooli, Moon_Dance, Moul, Moulpali, Mountains_of_Christmas, Mouse_Memoirs, Mozilla_Headline, Mozilla_Text, Mr_Bedfort, Mr_Dafoe, Mr_De_Haviland, Mrs_Saint_Delafield, Mrs_Sheppards, Ms_Madi, Mukta, Mukta_Mahee, Mukta_Malar, Mukta_Vaani, Mulish, Murecho, MuseoModerno, My_Soul, Mynerve, Mystery_Quest, NTR, Nabla, Namdhinggo, Nanum_Brush_Script, Nanum_Gothic, Nanum_Gothic_Coding, Nanum_Myeongjo, Nanum_Pen_Script, Narnoor, Nata_Sans, National_Park, Neonderthaw, Nerko_One, Neucha, Neuton, New_Amsterdam, New_Rocker, New_Tegomin, News_Cycle, Newsreader, Niconne, Niramit, Nixie_One, Nobile, Nokora, Norican, Nosifer, Notable, Nothing_You_Could_Do, Noticia_Text, Noto_Color_Emoji, Noto_Emoji, Noto_Kufi_Arabic, Noto_Music, Noto_Naskh_Arabic, Noto_Nastaliq_Urdu, Noto_Rashi_Hebrew, Noto_Sans, Noto_Sans_Adlam, Noto_Sans_Adlam_Unjoined, Noto_Sans_Anatolian_Hieroglyphs, Noto_Sans_Arabic, Noto_Sans_Armenian, Noto_Sans_Avestan, Noto_Sans_Balinese, Noto_Sans_Bamum, Noto_Sans_Bassa_Vah, Noto_Sans_Batak, Noto_Sans_Bengali, Noto_Sans_Bhaiksuki, Noto_Sans_Brahmi, Noto_Sans_Buginese, Noto_Sans_Buhid, Noto_Sans_Canadian_Aboriginal, Noto_Sans_Carian, Noto_Sans_Caucasian_Albanian, Noto_Sans_Chakma, Noto_Sans_Cham, Noto_Sans_Cherokee, Noto_Sans_Chorasmian, Noto_Sans_Coptic, Noto_Sans_Cuneiform, Noto_Sans_Cypriot, Noto_Sans_Cypro_Minoan, Noto_Sans_Deseret, Noto_Sans_Devanagari, Noto_Sans_Display, Noto_Sans_Duployan, Noto_Sans_Egyptian_Hieroglyphs, Noto_Sans_Elbasan, Noto_Sans_Elymaic, Noto_Sans_Ethiopic, Noto_Sans_Georgian, Noto_Sans_Glagolitic, Noto_Sans_Gothic, Noto_Sans_Grantha, Noto_Sans_Gujarati, Noto_Sans_Gunjala_Gondi, Noto_Sans_Gurmukhi, Noto_Sans_HK, Noto_Sans_Hanifi_Rohingya, Noto_Sans_Hanunoo, Noto_Sans_Hatran, Noto_Sans_Hebrew, Noto_Sans_Imperial_Aramaic, Noto_Sans_Indic_Siyaq_Numbers, Noto_Sans_Inscriptional_Pahlavi, Noto_Sans_Inscriptional_Parthian, Noto_Sans_JP, Noto_Sans_Javanese, Noto_Sans_KR, Noto_Sans_Kaithi, Noto_Sans_Kannada, Noto_Sans_Kawi, Noto_Sans_Kayah_Li, Noto_Sans_Kharoshthi, Noto_Sans_Khmer, Noto_Sans_Khojki, Noto_Sans_Khudawadi, Noto_Sans_Lao, Noto_Sans_Lao_Looped, Noto_Sans_Lepcha, Noto_Sans_Limbu, Noto_Sans_Linear_A, Noto_Sans_Linear_B, Noto_Sans_Lisu, Noto_Sans_Lycian, Noto_Sans_Lydian, Noto_Sans_Mahajani, Noto_Sans_Malayalam, Noto_Sans_Mandaic, Noto_Sans_Manichaean, Noto_Sans_Marchen, Noto_Sans_Masaram_Gondi, Noto_Sans_Math, Noto_Sans_Mayan_Numerals, Noto_Sans_Medefaidrin, Noto_Sans_Meetei_Mayek, Noto_Sans_Mende_Kikakui, Noto_Sans_Meroitic, Noto_Sans_Miao, Noto_Sans_Modi, Noto_Sans_Mongolian, Noto_Sans_Mono, Noto_Sans_Mro, Noto_Sans_Multani, Noto_Sans_Myanmar, Noto_Sans_NKo, Noto_Sans_NKo_Unjoined, Noto_Sans_Nabataean, Noto_Sans_Nag_Mundari, Noto_Sans_Nandinagari, Noto_Sans_New_Tai_Lue, Noto_Sans_Newa, Noto_Sans_Nushu, Noto_Sans_Ogham, Noto_Sans_Ol_Chiki, Noto_Sans_Old_Hungarian, Noto_Sans_Old_Italic, Noto_Sans_Old_North_Arabian, Noto_Sans_Old_Permic, Noto_Sans_Old_Persian, Noto_Sans_Old_Sogdian, Noto_Sans_Old_South_Arabian, Noto_Sans_Old_Turkic, Noto_Sans_Oriya, Noto_Sans_Osage, Noto_Sans_Osmanya, Noto_Sans_Pahawh_Hmong, Noto_Sans_Palmyrene, Noto_Sans_Pau_Cin_Hau, Noto_Sans_PhagsPa, Noto_Sans_Phoenician, Noto_Sans_Psalter_Pahlavi, Noto_Sans_Rejang, Noto_Sans_Runic, Noto_Sans_SC, Noto_Sans_Samaritan, Noto_Sans_Saurashtra, Noto_Sans_Sharada, Noto_Sans_Shavian, Noto_Sans_Siddham, Noto_Sans_SignWriting, Noto_Sans_Sinhala, Noto_Sans_Sogdian, Noto_Sans_Sora_Sompeng, Noto_Sans_Soyombo, Noto_Sans_Sundanese, Noto_Sans_Sunuwar, Noto_Sans_Syloti_Nagri, Noto_Sans_Symbols, Noto_Sans_Symbols_2, Noto_Sans_Syriac, Noto_Sans_Syriac_Eastern, Noto_Sans_Syriac_Western, Noto_Sans_TC, Noto_Sans_Tagalog, Noto_Sans_Tagbanwa, Noto_Sans_Tai_Le, Noto_Sans_Tai_Tham, Noto_Sans_Tai_Viet, Noto_Sans_Takri, Noto_Sans_Tamil, Noto_Sans_Tamil_Supplement, Noto_Sans_Tangsa, Noto_Sans_Telugu, Noto_Sans_Thaana, Noto_Sans_Thai, Noto_Sans_Thai_Looped, Noto_Sans_Tifinagh, Noto_Sans_Tirhuta, Noto_Sans_Ugaritic, Noto_Sans_Vai, Noto_Sans_Vithkuqi, Noto_Sans_Wancho, Noto_Sans_Warang_Citi, Noto_Sans_Yi, Noto_Sans_Zanabazar_Square, Noto_Serif, Noto_Serif_Ahom, Noto_Serif_Armenian, Noto_Serif_Balinese, Noto_Serif_Bengali, Noto_Serif_Devanagari, Noto_Serif_Display, Noto_Serif_Dives_Akuru, Noto_Serif_Dogra, Noto_Serif_Ethiopic, Noto_Serif_Georgian, Noto_Serif_Grantha, Noto_Serif_Gujarati, Noto_Serif_Gurmukhi, Noto_Serif_HK, Noto_Serif_Hebrew, Noto_Serif_Hentaigana, Noto_Serif_JP, Noto_Serif_KR, Noto_Serif_Kannada, Noto_Serif_Khitan_Small_Script, Noto_Serif_Khmer, Noto_Serif_Khojki, Noto_Serif_Lao, Noto_Serif_Makasar, Noto_Serif_Malayalam, Noto_Serif_Myanmar, Noto_Serif_NP_Hmong, Noto_Serif_Old_Uyghur, Noto_Serif_Oriya, Noto_Serif_Ottoman_Siyaq, Noto_Serif_SC, Noto_Serif_Sinhala, Noto_Serif_TC, Noto_Serif_Tamil, Noto_Serif_Tangut, Noto_Serif_Telugu, Noto_Serif_Thai, Noto_Serif_Tibetan, Noto_Serif_Todhri, Noto_Serif_Toto, Noto_Serif_Vithkuqi, Noto_Serif_Yezidi, Noto_Traditional_Nushu, Noto_Znamenny_Musical_Notation, Nova_Cut, Nova_Flat, Nova_Mono, Nova_Oval, Nova_Round, Nova_Script, Nova_Slim, Nova_Square, Numans, Nunito, Nunito_Sans, Nuosu_SIL, Odibee_Sans, Odor_Mean_Chey, Offside, Oi, Ojuju, Old_Standard_TT, Oldenburg, Ole, Oleo_Script, Oleo_Script_Swash_Caps, Onest, Oooh_Baby, Open_Sans, Oranienbaum, Orbit, Orbitron, Oregano, Orelega_One, Orienta, Original_Surfer, Oswald, Outfit, Over_the_Rainbow, Overlock, Overlock_SC, Overpass, Overpass_Mono, Ovo, Oxanium, Oxygen, Oxygen_Mono, PT_Mono, PT_Sans, PT_Sans_Caption, PT_Sans_Narrow, PT_Serif, PT_Serif_Caption, Pacifico, Padauk, Padyakke_Expanded_One, Palanquin, Palanquin_Dark, Palette_Mosaic, Pangolin, Paprika, Parastoo, Parisienne, Parkinsans, Passero_One, Passion_One, Passions_Conflict, Pathway_Extreme, Pathway_Gothic_One, Patrick_Hand, Patrick_Hand_SC, Pattaya, Patua_One, Pavanam, Paytone_One, Peddana, Peralta, Permanent_Marker, Petemoss, Petit_Formal_Script, Petrona, Phetsarath, Philosopher, Phudu, Piazzolla, Piedra, Pinyon_Script, Pirata_One, Pixelify_Sans, Plaster, Platypi, Play, Playball, Playfair, Playfair_Display, Playfair_Display_SC, Playpen_Sans, Playpen_Sans_Arabic, Playpen_Sans_Deva, Playpen_Sans_Hebrew, Playpen_Sans_Thai, Playwrite_AR, Playwrite_AR_Guides, Playwrite_AT, Playwrite_AT_Guides, Playwrite_AU_NSW, Playwrite_AU_NSW_Guides, Playwrite_AU_QLD, Playwrite_AU_QLD_Guides, Playwrite_AU_SA, Playwrite_AU_SA_Guides, Playwrite_AU_TAS, Playwrite_AU_TAS_Guides, Playwrite_AU_VIC, Playwrite_AU_VIC_Guides, Playwrite_BE_VLG, Playwrite_BE_VLG_Guides, Playwrite_BE_WAL, Playwrite_BE_WAL_Guides, Playwrite_BR, Playwrite_BR_Guides, Playwrite_CA, Playwrite_CA_Guides, Playwrite_CL, Playwrite_CL_Guides, Playwrite_CO, Playwrite_CO_Guides, Playwrite_CU, Playwrite_CU_Guides, Playwrite_CZ, Playwrite_CZ_Guides, Playwrite_DE_Grund, Playwrite_DE_Grund_Guides, Playwrite_DE_LA, Playwrite_DE_LA_Guides, Playwrite_DE_SAS, Playwrite_DE_SAS_Guides, Playwrite_DE_VA, Playwrite_DE_VA_Guides, Playwrite_DK_Loopet, Playwrite_DK_Loopet_Guides, Playwrite_DK_Uloopet, Playwrite_DK_Uloopet_Guides, Playwrite_ES, Playwrite_ES_Deco, Playwrite_ES_Deco_Guides, Playwrite_ES_Guides, Playwrite_FR_Moderne, Playwrite_FR_Moderne_Guides, Playwrite_FR_Trad, Playwrite_FR_Trad_Guides, Playwrite_GB_J, Playwrite_GB_J_Guides, Playwrite_GB_S, Playwrite_GB_S_Guides, Playwrite_HR, Playwrite_HR_Guides, Playwrite_HR_Lijeva, Playwrite_HR_Lijeva_Guides, Playwrite_HU, Playwrite_HU_Guides, Playwrite_ID, Playwrite_ID_Guides, Playwrite_IE, Playwrite_IE_Guides, Playwrite_IN, Playwrite_IN_Guides, Playwrite_IS, Playwrite_IS_Guides, Playwrite_IT_Moderna, Playwrite_IT_Moderna_Guides, Playwrite_IT_Trad, Playwrite_IT_Trad_Guides, Playwrite_MX, Playwrite_MX_Guides, Playwrite_NG_Modern, Playwrite_NG_Modern_Guides, Playwrite_NL, Playwrite_NL_Guides, Playwrite_NO, Playwrite_NO_Guides, Playwrite_NZ, Playwrite_NZ_Basic, Playwrite_NZ_Basic_Guides, Playwrite_NZ_Guides, Playwrite_PE, Playwrite_PE_Guides, Playwrite_PL, Playwrite_PL_Guides, Playwrite_PT, Playwrite_PT_Guides, Playwrite_RO, Playwrite_RO_Guides, Playwrite_SK, Playwrite_SK_Guides, Playwrite_TZ, Playwrite_TZ_Guides, Playwrite_US_Modern, Playwrite_US_Modern_Guides, Playwrite_US_Trad, Playwrite_US_Trad_Guides, Playwrite_VN, Playwrite_VN_Guides, Playwrite_ZA, Playwrite_ZA_Guides, Plus_Jakarta_Sans, Pochaevsk, Podkova, Poetsen_One, Poiret_One, Poller_One, Poltawski_Nowy, Poly, Pompiere, Ponnala, Ponomar, Pontano_Sans, Poor_Story, Poppins, Port_Lligat_Sans, Port_Lligat_Slab, Potta_One, Pragati_Narrow, Praise, Prata, Preahvihear, Press_Start_2P, Pridi, Princess_Sofia, Prociono, Prompt, Prosto_One, Protest_Guerrilla, Protest_Revolution, Protest_Riot, Protest_Strike, Proza_Libre, Public_Sans, Puppies_Play, Puritan, Purple_Purse, Qahiri, Quando, Quantico, Quattrocento, Quattrocento_Sans, Questrial, Quicksand, Quintessential, Qwigley, Qwitcher_Grypen, REM, Racing_Sans_One, Radio_Canada, Radio_Canada_Big, Radley, Rajdhani, Rakkas, Raleway, Raleway_Dots, Ramabhadra, Ramaraja, Rambla, Rammetto_One, Rampart_One, Ramsina, Ranchers, Rancho, Ranga, Rasa, Rationale, Ravi_Prakash, Readex_Pro, Recursive, Red_Hat_Display, Red_Hat_Mono, Red_Hat_Text, Red_Rose, Redacted, Redacted_Script, Reddit_Mono, Reddit_Sans, Reddit_Sans_Condensed, Redressed, Reem_Kufi, Reem_Kufi_Fun, Reem_Kufi_Ink, Reenie_Beanie, Reggae_One, Rethink_Sans, Revalia, Rhodium_Libre, Ribeye, Ribeye_Marrow, Righteous, Risque, Road_Rage, Roboto, Roboto_Condensed, Roboto_Flex, Roboto_Mono, Roboto_Serif, Roboto_Slab, Rochester, Rock_3D, Rock_Salt, RocknRoll_One, Rokkitt, Romanesco, Ropa_Sans, Rosario, Rosarivo, Rouge_Script, Rowdies, Rozha_One, Rubik, Rubik_80s_Fade, Rubik_Beastly, Rubik_Broken_Fax, Rubik_Bubbles, Rubik_Burned, Rubik_Dirt, Rubik_Distressed, Rubik_Doodle_Shadow, Rubik_Doodle_Triangles, Rubik_Gemstones, Rubik_Glitch, Rubik_Glitch_Pop, Rubik_Iso, Rubik_Lines, Rubik_Maps, Rubik_Marker_Hatch, Rubik_Maze, Rubik_Microbe, Rubik_Mono_One, Rubik_Moonrocks, Rubik_Pixels, Rubik_Puddles, Rubik_Scribble, Rubik_Spray_Paint, Rubik_Storm, Rubik_Vinyl, Rubik_Wet_Paint, Ruda, Rufina, Ruge_Boogie, Ruluko, Rum_Raisin, Ruslan_Display, Russo_One, Ruthie, Ruwudu, Rye, SN_Pro, STIX_Two_Text, SUSE, SUSE_Mono, Sacramento, Sahitya, Sail, Saira, Saira_Condensed, Saira_Extra_Condensed, Saira_Semi_Condensed, Saira_Stencil_One, Salsa, Sanchez, Sancreek, Sankofa_Display, Sansation, Sansita, Sansita_Swashed, Sarabun, Sarala, Sarina, Sarpanch, Sassy_Frass, Satisfy, Savate, Sawarabi_Gothic, Sawarabi_Mincho, Scada, Scheherazade_New, Schibsted_Grotesk, Schoolbell, Science_Gothic, Scope_One, Seaweed_Script, Secular_One, Sedan, Sedan_SC, Sedgwick_Ave, Sedgwick_Ave_Display, Sekuya, Sen, Send_Flowers, Sevillana, Seymour_One, Shadows_Into_Light, Shadows_Into_Light_Two, Shafarik, Shalimar, Shantell_Sans, Shanti, Share, Share_Tech, Share_Tech_Mono, Shippori_Antique, Shippori_Antique_B1, Shippori_Mincho, Shippori_Mincho_B1, Shizuru, Shojumaru, Short_Stack, Shrikhand, Siemreap, Sigmar, Sigmar_One, Signika, Signika_Negative, Silkscreen, Simonetta, Single_Day, Sintony, Sirin_Stencil, Sirivennela, Six_Caps, Sixtyfour, Sixtyfour_Convergence, Skranji, Slabo_13px, Slabo_27px, Slackey, Slackside_One, Smokum, Smooch, Smooch_Sans, Smythe, Sniglet, Snippet, Snowburst_One, Sofadi_One, Sofia, Sofia_Sans, Sofia_Sans_Condensed, Sofia_Sans_Extra_Condensed, Sofia_Sans_Semi_Condensed, Solitreo, Solway, Sometype_Mono, Song_Myung, Sono, Sonsie_One, Sora, Sorts_Mill_Goudy, Sour_Gummy, Source_Code_Pro, Source_Sans_3, Source_Serif_4, Space_Grotesk, Space_Mono, Special_Elite, Special_Gothic, Special_Gothic_Condensed_One, Special_Gothic_Expanded_One, Spectral, Spectral_SC, Spicy_Rice, Spinnaker, Spirax, Splash, Spline_Sans, Spline_Sans_Mono, Squada_One, Square_Peg, Sree_Krushnadevaraya, Sriracha, Srisakdi, Staatliches, Stack_Sans_Headline, Stack_Sans_Notch, Stack_Sans_Text, Stalemate, Stalinist_One, Stardos_Stencil, Stick, Stick_No_Bills, Stint_Ultra_Condensed, Stint_Ultra_Expanded, Stoke, Story_Script, Strait, Style_Script, Stylish, Sue_Ellen_Francisco, Suez_One, Sulphur_Point, Sumana, Sunflower, Sunshiney, Supermercado_One, Sura, Suranna, Suravaram, Suwannaphum, Swanky_and_Moo_Moo, Syncopate, Syne, Syne_Mono, Syne_Tactile, TASA_Explorer, TASA_Orbiter, Tac_One, Tagesschrift, Tai_Heritage_Pro, Tajawal, Tangerine, Tapestry, Taprom, Tauri, Taviraj, Teachers, Teko, Tektur, Telex, Tenali_Ramakrishna, Tenor_Sans, Text_Me_One, Texturina, Thasadith, The_Girl_Next_Door, The_Nautigal, Tienne, TikTok_Sans, Tillana, Tilt_Neon, Tilt_Prism, Tilt_Warp, Timmana, Tinos, Tiny5, Tiro_Bangla, Tiro_Devanagari_Hindi, Tiro_Devanagari_Marathi, Tiro_Devanagari_Sanskrit, Tiro_Gurmukhi, Tiro_Kannada, Tiro_Tamil, Tiro_Telugu, Tirra, Titan_One, Titillium_Web, Tomorrow, Tourney, Trade_Winds, Train_One, Triodion, Trirong, Trispace, Trocchi, Trochut, Truculenta, Trykker, Tsukimi_Rounded, Tuffy, Tulpen_One, Turret_Road, Twinkle_Star, Ubuntu, Ubuntu_Condensed, Ubuntu_Mono, Ubuntu_Sans, Ubuntu_Sans_Mono, Uchen, Ultra, Unbounded, Uncial_Antiqua, Underdog, Unica_One, UnifrakturCook, UnifrakturMaguntia, Unkempt, Unlock, Unna, UoqMunThenKhung, Updock, Urbanist, VT323, Vampiro_One, Varela, Varela_Round, Varta, Vast_Shadow, Vazirmatn, Vend_Sans, Vesper_Libre, Viaoda_Libre, Vibes, Vibur, Victor_Mono, Vidaloka, Viga, Vina_Sans, Voces, Volkhov, Vollkorn, Vollkorn_SC, Voltaire, Vujahday_Script, WDXL_Lubrifont_JP_N, WDXL_Lubrifont_SC, WDXL_Lubrifont_TC, Waiting_for_the_Sunrise, Wallpoet, Walter_Turncoat, Warnes, Water_Brush, Waterfall, Wavefont, Wellfleet, Wendy_One, Whisper, WindSong, Winky_Rough, Winky_Sans, Wire_One, Wittgenstein, Wix_Madefor_Display, Wix_Madefor_Text, Work_Sans, Workbench, Xanh_Mono, Yaldevi, Yanone_Kaffeesatz, Yantramanav, Yarndings_12, Yarndings_12_Charted, Yarndings_20, Yarndings_20_Charted, Yatra_One, Yellowtail, Yeon_Sung, Yeseva_One, Yesteryear, Yomogi, Young_Serif, Yrsa, Ysabeau, Ysabeau_Infant, Ysabeau_Office, Ysabeau_SC, Yuji_Boku, Yuji_Hentaigana_Akari, Yuji_Hentaigana_Akebono, Yuji_Mai, Yuji_Syuku, Yusei_Magic, ZCOOL_KuaiLe, ZCOOL_QingKe_HuangYou, ZCOOL_XiaoWei, Zain, Zalando_Sans, Zalando_Sans_Expanded, Zalando_Sans_SemiExpanded, Zen_Antique, Zen_Antique_Soft, Zen_Dots, Zen_Kaku_Gothic_Antique, Zen_Kaku_Gothic_New, Zen_Kurenaido, Zen_Loop, Zen_Maru_Gothic, Zen_Old_Mincho, Zen_Tokyo_Zoo, Zeyada, Zhi_Mang_Xing, Zilla_Slab, Zilla_Slab_Highlight } from "./font-google.generated.js";
|
|
3
|
-
export { ABeeZee, ADLaM_Display, AR_One_Sans, Abel, Abhaya_Libre, Aboreto, Abril_Fatface, Abyssinica_SIL, Aclonica, Acme, Actor, Adamina, Advent_Pro, Afacad, Afacad_Flux, Agbalumo, Agdasima, Agu_Display, Aguafina_Script, Akatab, Akaya_Kanadaka, Akaya_Telivigala, Akronim, Akshar, Aladin, Alan_Sans, Alata, Alatsi, Albert_Sans, Aldrich, Alef, Alegreya, Alegreya_SC, Alegreya_Sans, Alegreya_Sans_SC, Aleo, Alex_Brush, Alexandria, Alfa_Slab_One, Alice, Alike, Alike_Angular, Alkalami, Alkatra, Allan, Allerta, Allerta_Stencil, Allison, Allkin, Allura, Almarai, Almendra, Almendra_Display, Almendra_SC, Alumni_Sans, Alumni_Sans_Collegiate_One, Alumni_Sans_Inline_One, Alumni_Sans_Pinstripe, Alumni_Sans_SC, Alyamama, Amarante, Amaranth, Amarna, Amatic_SC, Amethysta, Amiko, Amiri, Amiri_Quran, Amita, Anaheim, Ancizar_Sans, Ancizar_Serif, Andada_Pro, Andika, Anek_Bangla, Anek_Devanagari, Anek_Gujarati, Anek_Gurmukhi, Anek_Kannada, Anek_Latin, Anek_Malayalam, Anek_Odia, Anek_Tamil, Anek_Telugu, Angkor, Annapurna_SIL, Annie_Use_Your_Telescope, Anonymous_Pro, Anta, Antic, Antic_Didone, Antic_Slab, Anton, Anton_SC, Antonio, Anuphan, Anybody, Aoboshi_One, Arapey, Arbutus, Arbutus_Slab, Architects_Daughter, Archivo, Archivo_Black, Archivo_Narrow, Are_You_Serious, Aref_Ruqaa, Aref_Ruqaa_Ink, Arima, Arimo, Arizonia, Armata, Arsenal, Arsenal_SC, Artifika, Arvo, Arya, Asap, Asap_Condensed, Asar, Asimovian, Asset, Assistant, Asta_Sans, Astloch, Asul, Athiti, Atkinson_Hyperlegible, Atkinson_Hyperlegible_Mono, Atkinson_Hyperlegible_Next, Atma, Atomic_Age, Aubrey, Audiowide, Autour_One, Average, Average_Sans, Averia_Gruesa_Libre, Averia_Libre, Averia_Sans_Libre, Averia_Serif_Libre, Azeret_Mono, B612, B612_Mono, BBH_Bartle, BBH_Bogle, BBH_Hegarty, BIZ_UDGothic, BIZ_UDMincho, BIZ_UDPGothic, BIZ_UDPMincho, Babylonica, Bacasime_Antique, Bad_Script, Badeen_Display, Bagel_Fat_One, Bahiana, Bahianita, Bai_Jamjuree, Bakbak_One, Ballet, Baloo_2, Baloo_Bhai_2, Baloo_Bhaijaan_2, Baloo_Bhaina_2, Baloo_Chettan_2, Baloo_Da_2, Baloo_Paaji_2, Baloo_Tamma_2, Baloo_Tammudu_2, Baloo_Thambi_2, Balsamiq_Sans, Balthazar, Bangers, Barlow, Barlow_Condensed, Barlow_Semi_Condensed, Barriecito, Barrio, Basic, Baskervville, Baskervville_SC, Battambang, Baumans, Bayon, Be_Vietnam_Pro, Beau_Rivage, Bebas_Neue, Beiruti, Belanosima, Belgrano, Bellefair, Belleza, Bellota, Bellota_Text, BenchNine, Benne, Bentham, Berkshire_Swash, Besley, Betania_Patmos, Betania_Patmos_GDL, Betania_Patmos_In, Betania_Patmos_In_GDL, Beth_Ellen, Bevan, BhuTuka_Expanded_One, Big_Shoulders, Big_Shoulders_Inline, Big_Shoulders_Stencil, Bigelow_Rules, Bigshot_One, Bilbo, Bilbo_Swash_Caps, BioRhyme, BioRhyme_Expanded, Birthstone, Birthstone_Bounce, Biryani, Bitcount, Bitcount_Grid_Double, Bitcount_Grid_Double_Ink, Bitcount_Grid_Single, Bitcount_Grid_Single_Ink, Bitcount_Ink, Bitcount_Prop_Double, Bitcount_Prop_Double_Ink, Bitcount_Prop_Single, Bitcount_Prop_Single_Ink, Bitcount_Single, Bitcount_Single_Ink, Bitter, Black_And_White_Picture, Black_Han_Sans, Black_Ops_One, Blaka, Blaka_Hollow, Blaka_Ink, Blinker, Bodoni_Moda, Bodoni_Moda_SC, Bokor, Boldonse, Bona_Nova, Bona_Nova_SC, Bonbon, Bonheur_Royale, Boogaloo, Borel, Bowlby_One, Bowlby_One_SC, Bpmf_Huninn, Bpmf_Iansui, Bpmf_Zihi_Kai_Std, Braah_One, Brawler, Bree_Serif, Bricolage_Grotesque, Bruno_Ace, Bruno_Ace_SC, Brygada_1918, Bubblegum_Sans, Bubbler_One, Buda, Buenard, Bungee, Bungee_Hairline, Bungee_Inline, Bungee_Outline, Bungee_Shade, Bungee_Spice, Bungee_Tint, Butcherman, Butterfly_Kids, Bytesized, Cabin, Cabin_Condensed, Cabin_Sketch, Cactus_Classical_Serif, Caesar_Dressing, Cagliostro, Cairo, Cairo_Play, Cal_Sans, Caladea, Calistoga, Calligraffitti, Cambay, Cambo, Candal, Cantarell, Cantata_One, Cantora_One, Caprasimo, Capriola, Caramel, Carattere, Cardo, Carlito, Carme, Carrois_Gothic, Carrois_Gothic_SC, Carter_One, Cascadia_Code, Cascadia_Mono, Castoro, Castoro_Titling, Catamaran, Caudex, Cause, Caveat, Caveat_Brush, Cedarville_Cursive, Ceviche_One, Chakra_Petch, Changa, Changa_One, Chango, Charis_SIL, Charm, Charmonman, Chathura, Chau_Philomene_One, Chela_One, Chelsea_Market, Chenla, Cherish, Cherry_Bomb_One, Cherry_Cream_Soda, Cherry_Swash, Chewy, Chicle, Chilanka, Chiron_GoRound_TC, Chiron_Hei_HK, Chiron_Sung_HK, Chivo, Chivo_Mono, Chocolate_Classical_Sans, Chokokutai, Chonburi, Cinzel, Cinzel_Decorative, Clicker_Script, Climate_Crisis, Coda, Codystar, Coiny, Combo, Comfortaa, Comforter, Comforter_Brush, Comic_Neue, Comic_Relief, Coming_Soon, Comme, Commissioner, Concert_One, Condiment, Content, Contrail_One, Convergence, Cookie, Copse, Coral_Pixels, Corben, Corinthia, Cormorant, Cormorant_Garamond, Cormorant_Infant, Cormorant_SC, Cormorant_Unicase, Cormorant_Upright, Cossette_Texte, Cossette_Titre, Courgette, Courier_Prime, Cousine, Coustard, Covered_By_Your_Grace, Crafty_Girls, Creepster, Crete_Round, Crimson_Pro, Crimson_Text, Croissant_One, Crushed, Cuprum, Cute_Font, Cutive, Cutive_Mono, DM_Mono, DM_Sans, DM_Serif_Display, DM_Serif_Text, Dai_Banna_SIL, Damion, Dancing_Script, Danfo, Dangrek, Darker_Grotesque, Darumadrop_One, David_Libre, Dawning_of_a_New_Day, Days_One, Dekko, Dela_Gothic_One, Delicious_Handrawn, Delius, Delius_Swash_Caps, Delius_Unicase, Della_Respira, Denk_One, Devonshire, Dhurjati, Didact_Gothic, Diphylleia, Diplomata, Diplomata_SC, Do_Hyeon, Dokdo, Domine, Donegal_One, Dongle, Doppio_One, Dorsa, Dosis, DotGothic16, Doto, Dr_Sugiyama, Duru_Sans, DynaPuff, Dynalight, EB_Garamond, Eagle_Lake, East_Sea_Dokdo, Eater, Economica, Eczar, Edu_AU_VIC_WA_NT_Arrows, Edu_AU_VIC_WA_NT_Dots, Edu_AU_VIC_WA_NT_Guides, Edu_AU_VIC_WA_NT_Hand, Edu_AU_VIC_WA_NT_Pre, Edu_NSW_ACT_Cursive, Edu_NSW_ACT_Foundation, Edu_NSW_ACT_Hand_Pre, Edu_QLD_Beginner, Edu_QLD_Hand, Edu_SA_Beginner, Edu_SA_Hand, Edu_TAS_Beginner, Edu_VIC_WA_NT_Beginner, Edu_VIC_WA_NT_Hand, Edu_VIC_WA_NT_Hand_Pre, El_Messiri, Electrolize, Elms_Sans, Elsie, Elsie_Swash_Caps, Emblema_One, Emilys_Candy, Encode_Sans, Encode_Sans_Condensed, Encode_Sans_Expanded, Encode_Sans_SC, Encode_Sans_Semi_Condensed, Encode_Sans_Semi_Expanded, Engagement, Englebert, Enriqueta, Ephesis, Epilogue, Epunda_Sans, Epunda_Slab, Erica_One, Esteban, Estonia, Euphoria_Script, Ewert, Exile, Exo, Exo_2, Expletus_Sans, Explora, Faculty_Glyphic, Fahkwang, Familjen_Grotesk, Fanwood_Text, Farro, Farsan, Fascinate, Fascinate_Inline, Faster_One, Fasthand, Fauna_One, Faustina, Federant, Federo, Felipa, Fenix, Festive, Figtree, Finger_Paint, Finlandica, Fira_Code, Fira_Mono, Fira_Sans, Fira_Sans_Condensed, Fira_Sans_Extra_Condensed, Fjalla_One, Fjord_One, Flamenco, Flavors, Fleur_De_Leah, Flow_Block, Flow_Circular, Flow_Rounded, Foldit, Fondamento, Fontdiner_Swanky, Forum, Fragment_Mono, Francois_One, Frank_Ruhl_Libre, Fraunces, Freckle_Face, Fredericka_the_Great, Fredoka, Freehand, Freeman, Fresca, Frijole, Fruktur, Fugaz_One, Fuggles, Funnel_Display, Funnel_Sans, Fustat, Fuzzy_Bubbles, GFS_Didot, GFS_Neohellenic, Ga_Maamli, Gabarito, Gabriela, Gaegu, Gafata, Gajraj_One, Galada, Galdeano, Galindo, Gamja_Flower, Gantari, Gasoek_One, Gayathri, Geist, Geist_Mono, Gelasio, Gemunu_Libre, Genos, Gentium_Book_Plus, Gentium_Plus, Geo, Geologica, Geom, Georama, Geostar, Geostar_Fill, Germania_One, Gideon_Roman, Gidole, Gidugu, Gilda_Display, Girassol, Give_You_Glory, Glass_Antiqua, Glegoo, Gloock, Gloria_Hallelujah, Glory, Gluten, Goblin_One, Gochi_Hand, Goldman, Golos_Text, Google_Sans, Google_Sans_Code, Google_Sans_Flex, Gorditas, Gothic_A1, Gotu, Goudy_Bookletter_1911, Gowun_Batang, Gowun_Dodum, Graduate, Grand_Hotel, Grandiflora_One, Grandstander, Grape_Nuts, Gravitas_One, Great_Vibes, Grechen_Fuemen, Grenze, Grenze_Gotisch, Grey_Qo, Griffy, Gruppo, Gudea, Gugi, Gulzar, Gupter, Gurajada, Gveret_Levin, Gwendolyn, Habibi, Hachi_Maru_Pop, Hahmlet, Halant, Hammersmith_One, Hanalei, Hanalei_Fill, Handjet, Handlee, Hanken_Grotesk, Hanuman, Happy_Monkey, Harmattan, Headland_One, Hedvig_Letters_Sans, Hedvig_Letters_Serif, Heebo, Henny_Penny, Hepta_Slab, Herr_Von_Muellerhoff, Hi_Melody, Hina_Mincho, Hind, Hind_Guntur, Hind_Madurai, Hind_Mysuru, Hind_Siliguri, Hind_Vadodara, Holtwood_One_SC, Homemade_Apple, Homenaje, Honk, Host_Grotesk, Hubballi, Hubot_Sans, Huninn, Hurricane, IBM_Plex_Mono, IBM_Plex_Sans, IBM_Plex_Sans_Arabic, IBM_Plex_Sans_Condensed, IBM_Plex_Sans_Devanagari, IBM_Plex_Sans_Hebrew, IBM_Plex_Sans_JP, IBM_Plex_Sans_KR, IBM_Plex_Sans_Thai, IBM_Plex_Sans_Thai_Looped, IBM_Plex_Serif, IM_Fell_DW_Pica, IM_Fell_DW_Pica_SC, IM_Fell_Double_Pica, IM_Fell_Double_Pica_SC, IM_Fell_English, IM_Fell_English_SC, IM_Fell_French_Canon, IM_Fell_French_Canon_SC, IM_Fell_Great_Primer, IM_Fell_Great_Primer_SC, Iansui, Ibarra_Real_Nova, Iceberg, Iceland, Idiqlat, Imbue, Imperial_Script, Imprima, Inclusive_Sans, Inconsolata, Inder, Indie_Flower, Ingrid_Darling, Inika, Inknut_Antiqua, Inria_Sans, Inria_Serif, Inspiration, Instrument_Sans, Instrument_Serif, Intel_One_Mono, Inter, Inter_Tight, Irish_Grover, Island_Moments, Istok_Web, Italiana, Italianno, Itim, Jacquard_12, Jacquard_12_Charted, Jacquard_24, Jacquard_24_Charted, Jacquarda_Bastarda_9, Jacquarda_Bastarda_9_Charted, Jacques_Francois, Jacques_Francois_Shadow, Jaini, Jaini_Purva, Jaldi, Jaro, Jersey_10, Jersey_10_Charted, Jersey_15, Jersey_15_Charted, Jersey_20, Jersey_20_Charted, Jersey_25, Jersey_25_Charted, JetBrains_Mono, Jim_Nightshade, Joan, Jockey_One, Jolly_Lodger, Jomhuria, Jomolhari, Josefin_Sans, Josefin_Slab, Jost, Joti_One, Jua, Judson, Julee, Julius_Sans_One, Junge, Jura, Just_Another_Hand, Just_Me_Again_Down_Here, K2D, Kablammo, Kadwa, Kaisei_Decol, Kaisei_HarunoUmi, Kaisei_Opti, Kaisei_Tokumin, Kalam, Kalnia, Kalnia_Glaze, Kameron, Kanchenjunga, Kanit, Kantumruy_Pro, Kapakana, Karantina, Karla, Karla_Tamil_Inclined, Karla_Tamil_Upright, Karma, Katibeh, Kaushan_Script, Kavivanar, Kavoon, Kay_Pho_Du, Kdam_Thmor_Pro, Keania_One, Kedebideri, Kelly_Slab, Kenia, Khand, Khmer, Khula, Kings, Kirang_Haerang, Kite_One, Kiwi_Maru, Klee_One, Knewave, KoHo, Kodchasan, Kode_Mono, Koh_Santepheap, Kolker_Brush, Konkhmer_Sleokchher, Kosugi, Kosugi_Maru, Kotta_One, Koulen, Kranky, Kreon, Kristi, Krona_One, Krub, Kufam, Kulim_Park, Kumar_One, Kumar_One_Outline, Kumbh_Sans, Kurale, LINE_Seed_JP, LXGW_Marker_Gothic, LXGW_WenKai_Mono_TC, LXGW_WenKai_TC, La_Belle_Aurore, Labrada, Lacquer, Laila, Lakki_Reddy, Lalezar, Lancelot, Langar, Lateef, Lato, Lavishly_Yours, League_Gothic, League_Script, League_Spartan, Leckerli_One, Ledger, Lekton, Lemon, Lemonada, Lexend, Lexend_Deca, Lexend_Exa, Lexend_Giga, Lexend_Mega, Lexend_Peta, Lexend_Tera, Lexend_Zetta, Libertinus_Keyboard, Libertinus_Math, Libertinus_Mono, Libertinus_Sans, Libertinus_Serif, Libertinus_Serif_Display, Libre_Barcode_128, Libre_Barcode_128_Text, Libre_Barcode_39, Libre_Barcode_39_Extended, Libre_Barcode_39_Extended_Text, Libre_Barcode_39_Text, Libre_Barcode_EAN13_Text, Libre_Baskerville, Libre_Bodoni, Libre_Caslon_Display, Libre_Caslon_Text, Libre_Franklin, Licorice, Life_Savers, Lilex, Lilita_One, Lily_Script_One, Limelight, Linden_Hill, Linefont, Lisu_Bosa, Liter, Literata, Liu_Jian_Mao_Cao, Livvic, Lobster, Lobster_Two, Londrina_Outline, Londrina_Shadow, Londrina_Sketch, Londrina_Solid, Long_Cang, Lora, Love_Light, Love_Ya_Like_A_Sister, Loved_by_the_King, Lovers_Quarrel, Luckiest_Guy, Lugrasimo, Lumanosimo, Lunasima, Lusitana, Lustria, Luxurious_Roman, Luxurious_Script, M_PLUS_1, M_PLUS_1_Code, M_PLUS_1p, M_PLUS_2, M_PLUS_Code_Latin, M_PLUS_Rounded_1c, Ma_Shan_Zheng, Macondo, Macondo_Swash_Caps, Mada, Madimi_One, Magra, Maiden_Orange, Maitree, Major_Mono_Display, Mako, Mali, Mallanna, Maname, Mandali, Manjari, Manrope, Mansalva, Manuale, Manufacturing_Consent, Marcellus, Marcellus_SC, Marck_Script, Margarine, Marhey, Markazi_Text, Marko_One, Marmelad, Martel, Martel_Sans, Martian_Mono, Marvel, Matangi, Mate, Mate_SC, Matemasie, Maven_Pro, McLaren, Mea_Culpa, Meddon, MedievalSharp, Medula_One, Meera_Inimai, Megrim, Meie_Script, Menbere, Meow_Script, Merienda, Merriweather, Merriweather_Sans, Metal, Metal_Mania, Metamorphous, Metrophobic, Michroma, Micro_5, Micro_5_Charted, Milonga, Miltonian, Miltonian_Tattoo, Mina, Mingzat, Miniver, Miriam_Libre, Mirza, Miss_Fajardose, Mitr, Mochiy_Pop_One, Mochiy_Pop_P_One, Modak, Modern_Antiqua, Moderustic, Mogra, Mohave, Moirai_One, Molengo, Molle, Momo_Signature, Momo_Trust_Display, Momo_Trust_Sans, Mona_Sans, Monda, Monofett, Monomakh, Monomaniac_One, Monoton, Monsieur_La_Doulaise, Montaga, Montagu_Slab, MonteCarlo, Montez, Montserrat, Montserrat_Alternates, Montserrat_Underline, Moo_Lah_Lah, Mooli, Moon_Dance, Moul, Moulpali, Mountains_of_Christmas, Mouse_Memoirs, Mozilla_Headline, Mozilla_Text, Mr_Bedfort, Mr_Dafoe, Mr_De_Haviland, Mrs_Saint_Delafield, Mrs_Sheppards, Ms_Madi, Mukta, Mukta_Mahee, Mukta_Malar, Mukta_Vaani, Mulish, Murecho, MuseoModerno, My_Soul, Mynerve, Mystery_Quest, NTR, Nabla, Namdhinggo, Nanum_Brush_Script, Nanum_Gothic, Nanum_Gothic_Coding, Nanum_Myeongjo, Nanum_Pen_Script, Narnoor, Nata_Sans, National_Park, Neonderthaw, Nerko_One, Neucha, Neuton, New_Amsterdam, New_Rocker, New_Tegomin, News_Cycle, Newsreader, Niconne, Niramit, Nixie_One, Nobile, Nokora, Norican, Nosifer, Notable, Nothing_You_Could_Do, Noticia_Text, Noto_Color_Emoji, Noto_Emoji, Noto_Kufi_Arabic, Noto_Music, Noto_Naskh_Arabic, Noto_Nastaliq_Urdu, Noto_Rashi_Hebrew, Noto_Sans, Noto_Sans_Adlam, Noto_Sans_Adlam_Unjoined, Noto_Sans_Anatolian_Hieroglyphs, Noto_Sans_Arabic, Noto_Sans_Armenian, Noto_Sans_Avestan, Noto_Sans_Balinese, Noto_Sans_Bamum, Noto_Sans_Bassa_Vah, Noto_Sans_Batak, Noto_Sans_Bengali, Noto_Sans_Bhaiksuki, Noto_Sans_Brahmi, Noto_Sans_Buginese, Noto_Sans_Buhid, Noto_Sans_Canadian_Aboriginal, Noto_Sans_Carian, Noto_Sans_Caucasian_Albanian, Noto_Sans_Chakma, Noto_Sans_Cham, Noto_Sans_Cherokee, Noto_Sans_Chorasmian, Noto_Sans_Coptic, Noto_Sans_Cuneiform, Noto_Sans_Cypriot, Noto_Sans_Cypro_Minoan, Noto_Sans_Deseret, Noto_Sans_Devanagari, Noto_Sans_Display, Noto_Sans_Duployan, Noto_Sans_Egyptian_Hieroglyphs, Noto_Sans_Elbasan, Noto_Sans_Elymaic, Noto_Sans_Ethiopic, Noto_Sans_Georgian, Noto_Sans_Glagolitic, Noto_Sans_Gothic, Noto_Sans_Grantha, Noto_Sans_Gujarati, Noto_Sans_Gunjala_Gondi, Noto_Sans_Gurmukhi, Noto_Sans_HK, Noto_Sans_Hanifi_Rohingya, Noto_Sans_Hanunoo, Noto_Sans_Hatran, Noto_Sans_Hebrew, Noto_Sans_Imperial_Aramaic, Noto_Sans_Indic_Siyaq_Numbers, Noto_Sans_Inscriptional_Pahlavi, Noto_Sans_Inscriptional_Parthian, Noto_Sans_JP, Noto_Sans_Javanese, Noto_Sans_KR, Noto_Sans_Kaithi, Noto_Sans_Kannada, Noto_Sans_Kawi, Noto_Sans_Kayah_Li, Noto_Sans_Kharoshthi, Noto_Sans_Khmer, Noto_Sans_Khojki, Noto_Sans_Khudawadi, Noto_Sans_Lao, Noto_Sans_Lao_Looped, Noto_Sans_Lepcha, Noto_Sans_Limbu, Noto_Sans_Linear_A, Noto_Sans_Linear_B, Noto_Sans_Lisu, Noto_Sans_Lycian, Noto_Sans_Lydian, Noto_Sans_Mahajani, Noto_Sans_Malayalam, Noto_Sans_Mandaic, Noto_Sans_Manichaean, Noto_Sans_Marchen, Noto_Sans_Masaram_Gondi, Noto_Sans_Math, Noto_Sans_Mayan_Numerals, Noto_Sans_Medefaidrin, Noto_Sans_Meetei_Mayek, Noto_Sans_Mende_Kikakui, Noto_Sans_Meroitic, Noto_Sans_Miao, Noto_Sans_Modi, Noto_Sans_Mongolian, Noto_Sans_Mono, Noto_Sans_Mro, Noto_Sans_Multani, Noto_Sans_Myanmar, Noto_Sans_NKo, Noto_Sans_NKo_Unjoined, Noto_Sans_Nabataean, Noto_Sans_Nag_Mundari, Noto_Sans_Nandinagari, Noto_Sans_New_Tai_Lue, Noto_Sans_Newa, Noto_Sans_Nushu, Noto_Sans_Ogham, Noto_Sans_Ol_Chiki, Noto_Sans_Old_Hungarian, Noto_Sans_Old_Italic, Noto_Sans_Old_North_Arabian, Noto_Sans_Old_Permic, Noto_Sans_Old_Persian, Noto_Sans_Old_Sogdian, Noto_Sans_Old_South_Arabian, Noto_Sans_Old_Turkic, Noto_Sans_Oriya, Noto_Sans_Osage, Noto_Sans_Osmanya, Noto_Sans_Pahawh_Hmong, Noto_Sans_Palmyrene, Noto_Sans_Pau_Cin_Hau, Noto_Sans_PhagsPa, Noto_Sans_Phoenician, Noto_Sans_Psalter_Pahlavi, Noto_Sans_Rejang, Noto_Sans_Runic, Noto_Sans_SC, Noto_Sans_Samaritan, Noto_Sans_Saurashtra, Noto_Sans_Sharada, Noto_Sans_Shavian, Noto_Sans_Siddham, Noto_Sans_SignWriting, Noto_Sans_Sinhala, Noto_Sans_Sogdian, Noto_Sans_Sora_Sompeng, Noto_Sans_Soyombo, Noto_Sans_Sundanese, Noto_Sans_Sunuwar, Noto_Sans_Syloti_Nagri, Noto_Sans_Symbols, Noto_Sans_Symbols_2, Noto_Sans_Syriac, Noto_Sans_Syriac_Eastern, Noto_Sans_Syriac_Western, Noto_Sans_TC, Noto_Sans_Tagalog, Noto_Sans_Tagbanwa, Noto_Sans_Tai_Le, Noto_Sans_Tai_Tham, Noto_Sans_Tai_Viet, Noto_Sans_Takri, Noto_Sans_Tamil, Noto_Sans_Tamil_Supplement, Noto_Sans_Tangsa, Noto_Sans_Telugu, Noto_Sans_Thaana, Noto_Sans_Thai, Noto_Sans_Thai_Looped, Noto_Sans_Tifinagh, Noto_Sans_Tirhuta, Noto_Sans_Ugaritic, Noto_Sans_Vai, Noto_Sans_Vithkuqi, Noto_Sans_Wancho, Noto_Sans_Warang_Citi, Noto_Sans_Yi, Noto_Sans_Zanabazar_Square, Noto_Serif, Noto_Serif_Ahom, Noto_Serif_Armenian, Noto_Serif_Balinese, Noto_Serif_Bengali, Noto_Serif_Devanagari, Noto_Serif_Display, Noto_Serif_Dives_Akuru, Noto_Serif_Dogra, Noto_Serif_Ethiopic, Noto_Serif_Georgian, Noto_Serif_Grantha, Noto_Serif_Gujarati, Noto_Serif_Gurmukhi, Noto_Serif_HK, Noto_Serif_Hebrew, Noto_Serif_Hentaigana, Noto_Serif_JP, Noto_Serif_KR, Noto_Serif_Kannada, Noto_Serif_Khitan_Small_Script, Noto_Serif_Khmer, Noto_Serif_Khojki, Noto_Serif_Lao, Noto_Serif_Makasar, Noto_Serif_Malayalam, Noto_Serif_Myanmar, Noto_Serif_NP_Hmong, Noto_Serif_Old_Uyghur, Noto_Serif_Oriya, Noto_Serif_Ottoman_Siyaq, Noto_Serif_SC, Noto_Serif_Sinhala, Noto_Serif_TC, Noto_Serif_Tamil, Noto_Serif_Tangut, Noto_Serif_Telugu, Noto_Serif_Thai, Noto_Serif_Tibetan, Noto_Serif_Todhri, Noto_Serif_Toto, Noto_Serif_Vithkuqi, Noto_Serif_Yezidi, Noto_Traditional_Nushu, Noto_Znamenny_Musical_Notation, Nova_Cut, Nova_Flat, Nova_Mono, Nova_Oval, Nova_Round, Nova_Script, Nova_Slim, Nova_Square, Numans, Nunito, Nunito_Sans, Nuosu_SIL, Odibee_Sans, Odor_Mean_Chey, Offside, Oi, Ojuju, Old_Standard_TT, Oldenburg, Ole, Oleo_Script, Oleo_Script_Swash_Caps, Onest, Oooh_Baby, Open_Sans, Oranienbaum, Orbit, Orbitron, Oregano, Orelega_One, Orienta, Original_Surfer, Oswald, Outfit, Over_the_Rainbow, Overlock, Overlock_SC, Overpass, Overpass_Mono, Ovo, Oxanium, Oxygen, Oxygen_Mono, PT_Mono, PT_Sans, PT_Sans_Caption, PT_Sans_Narrow, PT_Serif, PT_Serif_Caption, Pacifico, Padauk, Padyakke_Expanded_One, Palanquin, Palanquin_Dark, Palette_Mosaic, Pangolin, Paprika, Parastoo, Parisienne, Parkinsans, Passero_One, Passion_One, Passions_Conflict, Pathway_Extreme, Pathway_Gothic_One, Patrick_Hand, Patrick_Hand_SC, Pattaya, Patua_One, Pavanam, Paytone_One, Peddana, Peralta, Permanent_Marker, Petemoss, Petit_Formal_Script, Petrona, Phetsarath, Philosopher, Phudu, Piazzolla, Piedra, Pinyon_Script, Pirata_One, Pixelify_Sans, Plaster, Platypi, Play, Playball, Playfair, Playfair_Display, Playfair_Display_SC, Playpen_Sans, Playpen_Sans_Arabic, Playpen_Sans_Deva, Playpen_Sans_Hebrew, Playpen_Sans_Thai, Playwrite_AR, Playwrite_AR_Guides, Playwrite_AT, Playwrite_AT_Guides, Playwrite_AU_NSW, Playwrite_AU_NSW_Guides, Playwrite_AU_QLD, Playwrite_AU_QLD_Guides, Playwrite_AU_SA, Playwrite_AU_SA_Guides, Playwrite_AU_TAS, Playwrite_AU_TAS_Guides, Playwrite_AU_VIC, Playwrite_AU_VIC_Guides, Playwrite_BE_VLG, Playwrite_BE_VLG_Guides, Playwrite_BE_WAL, Playwrite_BE_WAL_Guides, Playwrite_BR, Playwrite_BR_Guides, Playwrite_CA, Playwrite_CA_Guides, Playwrite_CL, Playwrite_CL_Guides, Playwrite_CO, Playwrite_CO_Guides, Playwrite_CU, Playwrite_CU_Guides, Playwrite_CZ, Playwrite_CZ_Guides, Playwrite_DE_Grund, Playwrite_DE_Grund_Guides, Playwrite_DE_LA, Playwrite_DE_LA_Guides, Playwrite_DE_SAS, Playwrite_DE_SAS_Guides, Playwrite_DE_VA, Playwrite_DE_VA_Guides, Playwrite_DK_Loopet, Playwrite_DK_Loopet_Guides, Playwrite_DK_Uloopet, Playwrite_DK_Uloopet_Guides, Playwrite_ES, Playwrite_ES_Deco, Playwrite_ES_Deco_Guides, Playwrite_ES_Guides, Playwrite_FR_Moderne, Playwrite_FR_Moderne_Guides, Playwrite_FR_Trad, Playwrite_FR_Trad_Guides, Playwrite_GB_J, Playwrite_GB_J_Guides, Playwrite_GB_S, Playwrite_GB_S_Guides, Playwrite_HR, Playwrite_HR_Guides, Playwrite_HR_Lijeva, Playwrite_HR_Lijeva_Guides, Playwrite_HU, Playwrite_HU_Guides, Playwrite_ID, Playwrite_ID_Guides, Playwrite_IE, Playwrite_IE_Guides, Playwrite_IN, Playwrite_IN_Guides, Playwrite_IS, Playwrite_IS_Guides, Playwrite_IT_Moderna, Playwrite_IT_Moderna_Guides, Playwrite_IT_Trad, Playwrite_IT_Trad_Guides, Playwrite_MX, Playwrite_MX_Guides, Playwrite_NG_Modern, Playwrite_NG_Modern_Guides, Playwrite_NL, Playwrite_NL_Guides, Playwrite_NO, Playwrite_NO_Guides, Playwrite_NZ, Playwrite_NZ_Basic, Playwrite_NZ_Basic_Guides, Playwrite_NZ_Guides, Playwrite_PE, Playwrite_PE_Guides, Playwrite_PL, Playwrite_PL_Guides, Playwrite_PT, Playwrite_PT_Guides, Playwrite_RO, Playwrite_RO_Guides, Playwrite_SK, Playwrite_SK_Guides, Playwrite_TZ, Playwrite_TZ_Guides, Playwrite_US_Modern, Playwrite_US_Modern_Guides, Playwrite_US_Trad, Playwrite_US_Trad_Guides, Playwrite_VN, Playwrite_VN_Guides, Playwrite_ZA, Playwrite_ZA_Guides, Plus_Jakarta_Sans, Pochaevsk, Podkova, Poetsen_One, Poiret_One, Poller_One, Poltawski_Nowy, Poly, Pompiere, Ponnala, Ponomar, Pontano_Sans, Poor_Story, Poppins, Port_Lligat_Sans, Port_Lligat_Slab, Potta_One, Pragati_Narrow, Praise, Prata, Preahvihear, Press_Start_2P, Pridi, Princess_Sofia, Prociono, Prompt, Prosto_One, Protest_Guerrilla, Protest_Revolution, Protest_Riot, Protest_Strike, Proza_Libre, Public_Sans, Puppies_Play, Puritan, Purple_Purse, Qahiri, Quando, Quantico, Quattrocento, Quattrocento_Sans, Questrial, Quicksand, Quintessential, Qwigley, Qwitcher_Grypen, REM, Racing_Sans_One, Radio_Canada, Radio_Canada_Big, Radley, Rajdhani, Rakkas, Raleway, Raleway_Dots, Ramabhadra, Ramaraja, Rambla, Rammetto_One, Rampart_One, Ramsina, Ranchers, Rancho, Ranga, Rasa, Rationale, Ravi_Prakash, Readex_Pro, Recursive, Red_Hat_Display, Red_Hat_Mono, Red_Hat_Text, Red_Rose, Redacted, Redacted_Script, Reddit_Mono, Reddit_Sans, Reddit_Sans_Condensed, Redressed, Reem_Kufi, Reem_Kufi_Fun, Reem_Kufi_Ink, Reenie_Beanie, Reggae_One, Rethink_Sans, Revalia, Rhodium_Libre, Ribeye, Ribeye_Marrow, Righteous, Risque, Road_Rage, Roboto, Roboto_Condensed, Roboto_Flex, Roboto_Mono, Roboto_Serif, Roboto_Slab, Rochester, Rock_3D, Rock_Salt, RocknRoll_One, Rokkitt, Romanesco, Ropa_Sans, Rosario, Rosarivo, Rouge_Script, Rowdies, Rozha_One, Rubik, Rubik_80s_Fade, Rubik_Beastly, Rubik_Broken_Fax, Rubik_Bubbles, Rubik_Burned, Rubik_Dirt, Rubik_Distressed, Rubik_Doodle_Shadow, Rubik_Doodle_Triangles, Rubik_Gemstones, Rubik_Glitch, Rubik_Glitch_Pop, Rubik_Iso, Rubik_Lines, Rubik_Maps, Rubik_Marker_Hatch, Rubik_Maze, Rubik_Microbe, Rubik_Mono_One, Rubik_Moonrocks, Rubik_Pixels, Rubik_Puddles, Rubik_Scribble, Rubik_Spray_Paint, Rubik_Storm, Rubik_Vinyl, Rubik_Wet_Paint, Ruda, Rufina, Ruge_Boogie, Ruluko, Rum_Raisin, Ruslan_Display, Russo_One, Ruthie, Ruwudu, Rye, SN_Pro, STIX_Two_Text, SUSE, SUSE_Mono, Sacramento, Sahitya, Sail, Saira, Saira_Condensed, Saira_Extra_Condensed, Saira_Semi_Condensed, Saira_Stencil_One, Salsa, Sanchez, Sancreek, Sankofa_Display, Sansation, Sansita, Sansita_Swashed, Sarabun, Sarala, Sarina, Sarpanch, Sassy_Frass, Satisfy, Savate, Sawarabi_Gothic, Sawarabi_Mincho, Scada, Scheherazade_New, Schibsted_Grotesk, Schoolbell, Science_Gothic, Scope_One, Seaweed_Script, Secular_One, Sedan, Sedan_SC, Sedgwick_Ave, Sedgwick_Ave_Display, Sekuya, Sen, Send_Flowers, Sevillana, Seymour_One, Shadows_Into_Light, Shadows_Into_Light_Two, Shafarik, Shalimar, Shantell_Sans, Shanti, Share, Share_Tech, Share_Tech_Mono, Shippori_Antique, Shippori_Antique_B1, Shippori_Mincho, Shippori_Mincho_B1, Shizuru, Shojumaru, Short_Stack, Shrikhand, Siemreap, Sigmar, Sigmar_One, Signika, Signika_Negative, Silkscreen, Simonetta, Single_Day, Sintony, Sirin_Stencil, Sirivennela, Six_Caps, Sixtyfour, Sixtyfour_Convergence, Skranji, Slabo_13px, Slabo_27px, Slackey, Slackside_One, Smokum, Smooch, Smooch_Sans, Smythe, Sniglet, Snippet, Snowburst_One, Sofadi_One, Sofia, Sofia_Sans, Sofia_Sans_Condensed, Sofia_Sans_Extra_Condensed, Sofia_Sans_Semi_Condensed, Solitreo, Solway, Sometype_Mono, Song_Myung, Sono, Sonsie_One, Sora, Sorts_Mill_Goudy, Sour_Gummy, Source_Code_Pro, Source_Sans_3, Source_Serif_4, Space_Grotesk, Space_Mono, Special_Elite, Special_Gothic, Special_Gothic_Condensed_One, Special_Gothic_Expanded_One, Spectral, Spectral_SC, Spicy_Rice, Spinnaker, Spirax, Splash, Spline_Sans, Spline_Sans_Mono, Squada_One, Square_Peg, Sree_Krushnadevaraya, Sriracha, Srisakdi, Staatliches, Stack_Sans_Headline, Stack_Sans_Notch, Stack_Sans_Text, Stalemate, Stalinist_One, Stardos_Stencil, Stick, Stick_No_Bills, Stint_Ultra_Condensed, Stint_Ultra_Expanded, Stoke, Story_Script, Strait, Style_Script, Stylish, Sue_Ellen_Francisco, Suez_One, Sulphur_Point, Sumana, Sunflower, Sunshiney, Supermercado_One, Sura, Suranna, Suravaram, Suwannaphum, Swanky_and_Moo_Moo, Syncopate, Syne, Syne_Mono, Syne_Tactile, TASA_Explorer, TASA_Orbiter, Tac_One, Tagesschrift, Tai_Heritage_Pro, Tajawal, Tangerine, Tapestry, Taprom, Tauri, Taviraj, Teachers, Teko, Tektur, Telex, Tenali_Ramakrishna, Tenor_Sans, Text_Me_One, Texturina, Thasadith, The_Girl_Next_Door, The_Nautigal, Tienne, TikTok_Sans, Tillana, Tilt_Neon, Tilt_Prism, Tilt_Warp, Timmana, Tinos, Tiny5, Tiro_Bangla, Tiro_Devanagari_Hindi, Tiro_Devanagari_Marathi, Tiro_Devanagari_Sanskrit, Tiro_Gurmukhi, Tiro_Kannada, Tiro_Tamil, Tiro_Telugu, Tirra, Titan_One, Titillium_Web, Tomorrow, Tourney, Trade_Winds, Train_One, Triodion, Trirong, Trispace, Trocchi, Trochut, Truculenta, Trykker, Tsukimi_Rounded, Tuffy, Tulpen_One, Turret_Road, Twinkle_Star, Ubuntu, Ubuntu_Condensed, Ubuntu_Mono, Ubuntu_Sans, Ubuntu_Sans_Mono, Uchen, Ultra, Unbounded, Uncial_Antiqua, Underdog, Unica_One, UnifrakturCook, UnifrakturMaguntia, Unkempt, Unlock, Unna, UoqMunThenKhung, Updock, Urbanist, VT323, Vampiro_One, Varela, Varela_Round, Varta, Vast_Shadow, Vazirmatn, Vend_Sans, Vesper_Libre, Viaoda_Libre, Vibes, Vibur, Victor_Mono, Vidaloka, Viga, Vina_Sans, Voces, Volkhov, Vollkorn, Vollkorn_SC, Voltaire, Vujahday_Script, WDXL_Lubrifont_JP_N, WDXL_Lubrifont_SC, WDXL_Lubrifont_TC, Waiting_for_the_Sunrise, Wallpoet, Walter_Turncoat, Warnes, Water_Brush, Waterfall, Wavefont, Wellfleet, Wendy_One, Whisper, WindSong, Winky_Rough, Winky_Sans, Wire_One, Wittgenstein, Wix_Madefor_Display, Wix_Madefor_Text, Work_Sans, Workbench, Xanh_Mono, Yaldevi, Yanone_Kaffeesatz, Yantramanav, Yarndings_12, Yarndings_12_Charted, Yarndings_20, Yarndings_20_Charted, Yatra_One, Yellowtail, Yeon_Sung, Yeseva_One, Yesteryear, Yomogi, Young_Serif, Yrsa, Ysabeau, Ysabeau_Infant, Ysabeau_Office, Ysabeau_SC, Yuji_Boku, Yuji_Hentaigana_Akari, Yuji_Hentaigana_Akebono, Yuji_Mai, Yuji_Syuku, Yusei_Magic, ZCOOL_KuaiLe, ZCOOL_QingKe_HuangYou, ZCOOL_XiaoWei, Zain, Zalando_Sans, Zalando_Sans_Expanded, Zalando_Sans_SemiExpanded, Zen_Antique, Zen_Antique_Soft, Zen_Dots, Zen_Kaku_Gothic_Antique, Zen_Kaku_Gothic_New, Zen_Kurenaido, Zen_Loop, Zen_Maru_Gothic, Zen_Old_Mincho, Zen_Tokyo_Zoo, Zeyada, Zhi_Mang_Xing, Zilla_Slab, Zilla_Slab_Highlight, buildGoogleFontsUrl, googleFonts as default, getSSRFontLinks, getSSRFontPreloads, getSSRFontStyles };
|
|
1
|
+
import googleFonts, { buildGoogleFontsUrl, createFontLoader, getSSRFontLinks, getSSRFontPreloads, getSSRFontStyles } from "./font-google-base.js";
|
|
2
|
+
export { buildGoogleFontsUrl, createFontLoader, googleFonts as default, getSSRFontLinks, getSSRFontPreloads, getSSRFontStyles };
|
package/dist/shims/metadata.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "react";
|
|
2
|
-
import { Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
|
|
3
3
|
//#region src/shims/metadata.tsx
|
|
4
4
|
/**
|
|
5
5
|
* Normalize null-prototype objects from matchPattern() into thenable objects.
|
|
@@ -66,7 +66,7 @@ function ViewportHead({ viewport }) {
|
|
|
66
66
|
name: "color-scheme",
|
|
67
67
|
content: viewport.colorScheme
|
|
68
68
|
}, key++));
|
|
69
|
-
return /* @__PURE__ */ jsx(Fragment, { children: elements });
|
|
69
|
+
return /* @__PURE__ */ jsx(Fragment$1, { children: elements });
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
72
|
* Merge metadata from multiple sources (layouts + page).
|
|
@@ -554,7 +554,7 @@ function MetadataHead({ metadata }) {
|
|
|
554
554
|
content: val
|
|
555
555
|
}, key++));
|
|
556
556
|
}
|
|
557
|
-
return /* @__PURE__ */ jsx(Fragment, { children: elements });
|
|
557
|
+
return /* @__PURE__ */ jsx(Fragment$1, { children: elements });
|
|
558
558
|
}
|
|
559
559
|
//#endregion
|
|
560
560
|
export { DEFAULT_VIEWPORT, MetadataHead, ViewportHead, mergeMetadata, mergeViewport, resolveModuleMetadata, resolveModuleViewport };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","names":[],"sources":["../../src/shims/metadata.tsx"],"sourcesContent":["/**\n * Metadata support for App Router.\n *\n * Handles `export const metadata` and `export async function generateMetadata()`.\n * Resolves metadata from layouts and pages (pages override layouts).\n */\nimport React from \"react\";\n\n// ---------------------------------------------------------------------------\n// Viewport types and resolution\n// ---------------------------------------------------------------------------\n\n/**\n * Normalize null-prototype objects from matchPattern() into thenable objects.\n * See entries/app-rsc-entry.ts makeThenableParams() for full explanation.\n */\nfunction makeThenableParams<T extends Record<string, unknown>>(obj: T): Promise<T> & T {\n const plain = { ...obj } as T;\n return Object.assign(Promise.resolve(plain), plain);\n}\n\nexport interface Viewport {\n /** Viewport width (default: \"device-width\") */\n width?: string | number;\n /** Viewport height */\n height?: string | number;\n /** Initial scale */\n initialScale?: number;\n /** Minimum scale */\n minimumScale?: number;\n /** Maximum scale */\n maximumScale?: number;\n /** Whether user can scale */\n userScalable?: boolean;\n /** Theme color — single color or array of { media, color } */\n themeColor?: string | Array<{ media?: string; color: string }>;\n /** Color scheme: 'light' | 'dark' | 'light dark' | 'normal' */\n colorScheme?: string;\n}\n\n/**\n * Resolve viewport config from a module. Handles both static `viewport` export\n * and async `generateViewport()` function.\n */\nexport async function resolveModuleViewport(\n mod: Record<string, unknown>,\n params: Record<string, string | string[]>,\n): Promise<Viewport | null> {\n if (typeof mod.generateViewport === \"function\") {\n const asyncParams = makeThenableParams(params);\n return await mod.generateViewport({ params: asyncParams });\n }\n if (mod.viewport && typeof mod.viewport === \"object\") {\n return mod.viewport as Viewport;\n }\n return null;\n}\n\n/**\n * Merge viewport configs from multiple sources (layouts + page).\n * Later entries override earlier ones.\n */\nexport const DEFAULT_VIEWPORT: Viewport = {\n width: \"device-width\",\n initialScale: 1,\n};\n\nexport function mergeViewport(viewportList: Viewport[]): Viewport {\n const merged: Viewport = { ...DEFAULT_VIEWPORT };\n for (const vp of viewportList) {\n Object.assign(merged, vp);\n }\n return merged;\n}\n\n/**\n * React component that renders viewport meta tags into <head>.\n */\nexport function ViewportHead({ viewport }: { viewport: Viewport }) {\n const elements: React.ReactElement[] = [];\n let key = 0;\n\n // Build viewport content string\n const parts: string[] = [];\n if (viewport.width !== undefined) parts.push(`width=${viewport.width}`);\n if (viewport.height !== undefined) parts.push(`height=${viewport.height}`);\n if (viewport.initialScale !== undefined) parts.push(`initial-scale=${viewport.initialScale}`);\n if (viewport.minimumScale !== undefined) parts.push(`minimum-scale=${viewport.minimumScale}`);\n if (viewport.maximumScale !== undefined) parts.push(`maximum-scale=${viewport.maximumScale}`);\n if (viewport.userScalable !== undefined)\n parts.push(`user-scalable=${viewport.userScalable ? \"yes\" : \"no\"}`);\n\n if (parts.length > 0) {\n elements.push(<meta key={key++} name=\"viewport\" content={parts.join(\", \")} />);\n }\n\n // Theme color\n if (viewport.themeColor) {\n if (typeof viewport.themeColor === \"string\") {\n elements.push(<meta key={key++} name=\"theme-color\" content={viewport.themeColor} />);\n } else if (Array.isArray(viewport.themeColor)) {\n for (const entry of viewport.themeColor) {\n elements.push(\n <meta\n key={key++}\n name=\"theme-color\"\n content={entry.color}\n {...(entry.media ? { media: entry.media } : {})}\n />,\n );\n }\n }\n }\n\n // Color scheme\n if (viewport.colorScheme) {\n elements.push(<meta key={key++} name=\"color-scheme\" content={viewport.colorScheme} />);\n }\n\n return <>{elements}</>;\n}\n\n// ---------------------------------------------------------------------------\n// Metadata types and resolution\n// ---------------------------------------------------------------------------\n\nexport interface Metadata {\n title?: string | { default?: string; template?: string; absolute?: string };\n description?: string;\n generator?: string;\n applicationName?: string;\n referrer?: string;\n keywords?: string | string[];\n authors?: Array<{ name?: string; url?: string }> | { name?: string; url?: string };\n creator?: string;\n publisher?: string;\n robots?:\n | string\n | {\n index?: boolean;\n follow?: boolean;\n googleBot?: string | { index?: boolean; follow?: boolean; [key: string]: unknown };\n [key: string]: unknown;\n };\n openGraph?: {\n title?: string;\n description?: string;\n url?: string | URL;\n siteName?: string;\n images?:\n | string\n | URL\n | { url: string | URL; width?: number; height?: number; alt?: string }\n | Array<string | URL | { url: string | URL; width?: number; height?: number; alt?: string }>;\n videos?: Array<{ url: string | URL; width?: number; height?: number }>;\n audio?: Array<{ url: string | URL }>;\n locale?: string;\n type?: string;\n publishedTime?: string;\n modifiedTime?: string;\n authors?: string[];\n };\n twitter?: {\n card?: string;\n site?: string;\n siteId?: string;\n title?: string;\n description?: string;\n images?:\n | string\n | URL\n | { url: string | URL; alt?: string; width?: number; height?: number }\n | Array<string | URL | { url: string | URL; alt?: string; width?: number; height?: number }>;\n creator?: string;\n creatorId?: string;\n players?: TwitterPlayerDescriptor | TwitterPlayerDescriptor[];\n app?: TwitterAppDescriptor;\n };\n icons?: {\n icon?:\n | string\n | URL\n | Array<{ url: string | URL; sizes?: string; type?: string; media?: string }>;\n shortcut?: string | URL | Array<string | URL>;\n apple?: string | URL | Array<{ url: string | URL; sizes?: string; type?: string }>;\n other?: Array<{ rel: string; url: string | URL; sizes?: string; type?: string }>;\n };\n manifest?: string | URL;\n alternates?: {\n canonical?: string | URL;\n languages?: Record<string, string | URL>;\n media?: Record<string, string | URL>;\n types?: Record<string, string | URL>;\n };\n verification?: {\n google?: string;\n yahoo?: string;\n yandex?: string;\n other?: Record<string, string | string[]>;\n };\n metadataBase?: URL | null;\n appleWebApp?: {\n capable?: boolean;\n title?: string;\n statusBarStyle?: string;\n startupImage?: string | Array<{ url: string; media?: string }>;\n };\n formatDetection?: {\n email?: boolean;\n address?: boolean;\n telephone?: boolean;\n };\n category?: string;\n itunes?: {\n appId: string;\n appArgument?: string;\n };\n appLinks?: {\n ios?: AppLinksApple | AppLinksApple[];\n iphone?: AppLinksApple | AppLinksApple[];\n ipad?: AppLinksApple | AppLinksApple[];\n android?: AppLinksAndroid | AppLinksAndroid[];\n windows_phone?: AppLinksWindows | AppLinksWindows[];\n windows?: AppLinksWindows | AppLinksWindows[];\n windows_universal?: AppLinksWindows | AppLinksWindows[];\n web?: AppLinksWeb | AppLinksWeb[];\n };\n other?: Record<string, string | string[]>;\n [key: string]: unknown;\n}\n\ninterface AppLinksApple {\n url: string | URL;\n app_store_id?: string | number;\n app_name?: string;\n}\n\ninterface AppLinksAndroid {\n package: string;\n url?: string | URL;\n class?: string;\n app_name?: string;\n}\n\ninterface AppLinksWindows {\n url: string | URL;\n app_id?: string;\n app_name?: string;\n}\n\ninterface AppLinksWeb {\n url: string | URL;\n should_fallback?: boolean;\n}\n\ninterface TwitterPlayerDescriptor {\n playerUrl: string | URL;\n streamUrl: string | URL;\n width: number;\n height: number;\n}\n\ninterface TwitterAppDescriptor {\n id: {\n iphone?: string | number;\n ipad?: string | number;\n googleplay?: string;\n };\n url?: {\n iphone?: string | URL;\n ipad?: string | URL;\n googleplay?: string | URL;\n };\n name?: string;\n}\n\n/**\n * Merge metadata from multiple sources (layouts + page).\n *\n * The list is ordered [rootLayout, nestedLayout, ..., page].\n * Title template from layouts applies to the page title but NOT to\n * the segment that defines the template itself. `title.absolute`\n * skips all templates. `title.default` is the fallback when no\n * child provides a title.\n *\n * Shallow merge: later entries override earlier ones (per Next.js docs).\n */\nexport function mergeMetadata(metadataList: Metadata[]): Metadata {\n if (metadataList.length === 0) return {};\n\n const merged: Metadata = {};\n\n // Track the most recent title template from LAYOUTS (not from page).\n // The page is always the last entry in metadataList.\n let parentTemplate: string | undefined;\n\n for (let i = 0; i < metadataList.length; i++) {\n const meta = metadataList[i];\n const isPage = i === metadataList.length - 1;\n\n // Collect template from layouts only (page templates are ignored per Next.js spec)\n if (!isPage && meta.title && typeof meta.title === \"object\" && meta.title.template) {\n parentTemplate = meta.title.template;\n }\n\n // Shallow merge — later entries override earlier for top-level keys\n for (const key of Object.keys(meta)) {\n if (key === \"title\") continue; // Handle title separately below\n (merged as Record<string, unknown>)[key] = (meta as Record<string, unknown>)[key];\n }\n\n // Title resolution\n if (meta.title !== undefined) {\n merged.title = meta.title;\n }\n }\n\n // Now resolve the final title, applying the parent template if applicable\n const finalTitle = merged.title;\n if (finalTitle) {\n if (typeof finalTitle === \"string\") {\n // Simple string title — apply parent template\n if (parentTemplate) {\n merged.title = parentTemplate.replace(\"%s\", finalTitle);\n }\n } else if (typeof finalTitle === \"object\") {\n if (finalTitle.absolute) {\n // Absolute title — skip all templates\n merged.title = finalTitle.absolute;\n } else if (finalTitle.default) {\n // Title object with default — this is used when the segment IS the\n // defining layout (its own default doesn't get template-wrapped)\n merged.title = finalTitle.default;\n } else if (finalTitle.template && !finalTitle.default && !finalTitle.absolute) {\n // Template only with no default — no title to render\n merged.title = undefined;\n }\n }\n }\n\n return merged;\n}\n\n/**\n * Resolve metadata from a module. Handles both static `metadata` export\n * and async `generateMetadata()` function.\n *\n * @param parent - A Promise that resolves to the accumulated (merged) metadata\n * from all ancestor segments. Passed as the second argument to\n * `generateMetadata()`, matching Next.js's eager-execution-with-serial-\n * resolution approach. If not provided, defaults to a promise that resolves\n * to an empty object (so `await parent` never throws).\n */\nexport async function resolveModuleMetadata(\n mod: Record<string, unknown>,\n params: Record<string, string | string[]> = {},\n searchParams?: Record<string, string>,\n parent: Promise<Metadata> = Promise.resolve({}),\n): Promise<Metadata | null> {\n if (typeof mod.generateMetadata === \"function\") {\n // Next.js 16 passes params/searchParams as Promises (async pattern).\n // makeThenableParams() normalises null-prototype + preserves sync access.\n const asyncParams = makeThenableParams(params);\n const sp = searchParams ?? {};\n const asyncSp = makeThenableParams(sp);\n return await mod.generateMetadata({ params: asyncParams, searchParams: asyncSp }, parent);\n }\n if (mod.metadata && typeof mod.metadata === \"object\") {\n return mod.metadata as Metadata;\n }\n return null;\n}\n\n/**\n * React component that renders metadata as HTML head elements.\n * Used by the RSC entry to inject into the <head>.\n */\nexport function MetadataHead({ metadata }: { metadata: Metadata }) {\n const elements: React.ReactElement[] = [];\n let key = 0;\n\n // Resolve metadataBase for URL composition\n const base = metadata.metadataBase;\n function resolveUrl(url: string | URL): string;\n function resolveUrl(url: string | URL | undefined): string | undefined;\n function resolveUrl(url: string | URL | undefined): string | undefined {\n if (!url) return undefined;\n // Coerce URL objects to strings (Next.js metadata allows string | URL)\n const s = typeof url === \"string\" ? url : url instanceof URL ? url.toString() : String(url);\n if (!base) return s;\n if (s.startsWith(\"http://\") || s.startsWith(\"https://\") || s.startsWith(\"//\")) return s;\n try {\n return new URL(s, base).toString();\n } catch {\n return s;\n }\n }\n\n // Title\n const title =\n typeof metadata.title === \"string\"\n ? metadata.title\n : typeof metadata.title === \"object\"\n ? metadata.title.absolute || metadata.title.default\n : undefined;\n if (title) {\n elements.push(<title key={key++}>{title}</title>);\n }\n\n // Description\n if (metadata.description) {\n elements.push(<meta key={key++} name=\"description\" content={metadata.description} />);\n }\n\n // Generator\n if (metadata.generator) {\n elements.push(<meta key={key++} name=\"generator\" content={metadata.generator} />);\n }\n\n // Application name\n if (metadata.applicationName) {\n elements.push(<meta key={key++} name=\"application-name\" content={metadata.applicationName} />);\n }\n\n // Referrer\n if (metadata.referrer) {\n elements.push(<meta key={key++} name=\"referrer\" content={metadata.referrer} />);\n }\n\n // Keywords\n if (metadata.keywords) {\n const kw = Array.isArray(metadata.keywords) ? metadata.keywords.join(\",\") : metadata.keywords;\n elements.push(<meta key={key++} name=\"keywords\" content={kw} />);\n }\n\n // Authors\n if (metadata.authors) {\n const authorList = Array.isArray(metadata.authors) ? metadata.authors : [metadata.authors];\n for (const author of authorList) {\n if (author.name) {\n elements.push(<meta key={key++} name=\"author\" content={author.name} />);\n }\n if (author.url) {\n elements.push(<link key={key++} rel=\"author\" href={author.url} />);\n }\n }\n }\n\n // Creator\n if (metadata.creator) {\n elements.push(<meta key={key++} name=\"creator\" content={metadata.creator} />);\n }\n\n // Publisher\n if (metadata.publisher) {\n elements.push(<meta key={key++} name=\"publisher\" content={metadata.publisher} />);\n }\n\n // Format detection\n if (metadata.formatDetection) {\n const parts: string[] = [];\n if (metadata.formatDetection.telephone === false) parts.push(\"telephone=no\");\n if (metadata.formatDetection.address === false) parts.push(\"address=no\");\n if (metadata.formatDetection.email === false) parts.push(\"email=no\");\n if (parts.length > 0) {\n elements.push(<meta key={key++} name=\"format-detection\" content={parts.join(\", \")} />);\n }\n }\n\n // Category\n if (metadata.category) {\n elements.push(<meta key={key++} name=\"category\" content={metadata.category} />);\n }\n\n // Robots\n if (metadata.robots) {\n if (typeof metadata.robots === \"string\") {\n elements.push(<meta key={key++} name=\"robots\" content={metadata.robots} />);\n } else {\n const { googleBot, ...robotsRest } = metadata.robots;\n const robotParts: string[] = [];\n for (const [k, v] of Object.entries(robotsRest)) {\n if (v === true) robotParts.push(k);\n else if (v === false) robotParts.push(`no${k}`);\n else if (typeof v === \"string\" || typeof v === \"number\") robotParts.push(`${k}:${v}`);\n }\n if (robotParts.length > 0) {\n elements.push(<meta key={key++} name=\"robots\" content={robotParts.join(\", \")} />);\n }\n // googlebot\n if (googleBot) {\n if (typeof googleBot === \"string\") {\n elements.push(<meta key={key++} name=\"googlebot\" content={googleBot} />);\n } else {\n const gbParts: string[] = [];\n for (const [k, v] of Object.entries(googleBot)) {\n if (v === true) gbParts.push(k);\n else if (v === false) gbParts.push(`no${k}`);\n else if (typeof v === \"string\" || typeof v === \"number\") gbParts.push(`${k}:${v}`);\n }\n if (gbParts.length > 0) {\n elements.push(<meta key={key++} name=\"googlebot\" content={gbParts.join(\", \")} />);\n }\n }\n }\n }\n }\n\n // Open Graph\n if (metadata.openGraph) {\n const og = metadata.openGraph;\n if (og.title) elements.push(<meta key={key++} property=\"og:title\" content={og.title} />);\n if (og.description)\n elements.push(<meta key={key++} property=\"og:description\" content={og.description} />);\n if (og.url) elements.push(<meta key={key++} property=\"og:url\" content={resolveUrl(og.url)} />);\n if (og.siteName)\n elements.push(<meta key={key++} property=\"og:site_name\" content={og.siteName} />);\n if (og.type) elements.push(<meta key={key++} property=\"og:type\" content={og.type} />);\n if (og.locale) elements.push(<meta key={key++} property=\"og:locale\" content={og.locale} />);\n if (og.publishedTime)\n elements.push(\n <meta key={key++} property=\"article:published_time\" content={og.publishedTime} />,\n );\n if (og.modifiedTime)\n elements.push(\n <meta key={key++} property=\"article:modified_time\" content={og.modifiedTime} />,\n );\n if (og.authors) {\n for (const author of og.authors) {\n elements.push(<meta key={key++} property=\"article:author\" content={author} />);\n }\n }\n if (og.images) {\n const imgList =\n typeof og.images === \"string\" || og.images instanceof URL\n ? [{ url: og.images }]\n : Array.isArray(og.images)\n ? og.images\n : [og.images];\n for (const img of imgList) {\n const imgUrl = typeof img === \"string\" || img instanceof URL ? img : img.url;\n elements.push(<meta key={key++} property=\"og:image\" content={resolveUrl(imgUrl)} />);\n if (typeof img !== \"string\" && !(img instanceof URL)) {\n if (img.width)\n elements.push(\n <meta key={key++} property=\"og:image:width\" content={String(img.width)} />,\n );\n if (img.height)\n elements.push(\n <meta key={key++} property=\"og:image:height\" content={String(img.height)} />,\n );\n if (img.alt)\n elements.push(<meta key={key++} property=\"og:image:alt\" content={img.alt} />);\n }\n }\n }\n if (og.videos) {\n for (const video of og.videos) {\n elements.push(<meta key={key++} property=\"og:video\" content={resolveUrl(video.url)} />);\n if (video.width)\n elements.push(\n <meta key={key++} property=\"og:video:width\" content={String(video.width)} />,\n );\n if (video.height)\n elements.push(\n <meta key={key++} property=\"og:video:height\" content={String(video.height)} />,\n );\n }\n }\n if (og.audio) {\n for (const audio of og.audio) {\n elements.push(<meta key={key++} property=\"og:audio\" content={resolveUrl(audio.url)} />);\n }\n }\n }\n\n // Twitter\n if (metadata.twitter) {\n const tw = metadata.twitter;\n if (tw.card) elements.push(<meta key={key++} name=\"twitter:card\" content={tw.card} />);\n if (tw.site) elements.push(<meta key={key++} name=\"twitter:site\" content={tw.site} />);\n if (tw.siteId) elements.push(<meta key={key++} name=\"twitter:site:id\" content={tw.siteId} />);\n if (tw.title) elements.push(<meta key={key++} name=\"twitter:title\" content={tw.title} />);\n if (tw.description)\n elements.push(<meta key={key++} name=\"twitter:description\" content={tw.description} />);\n if (tw.creator) elements.push(<meta key={key++} name=\"twitter:creator\" content={tw.creator} />);\n if (tw.creatorId)\n elements.push(<meta key={key++} name=\"twitter:creator:id\" content={tw.creatorId} />);\n if (tw.images) {\n const imgList =\n typeof tw.images === \"string\" || tw.images instanceof URL\n ? [tw.images]\n : Array.isArray(tw.images)\n ? tw.images\n : [tw.images];\n for (const img of imgList) {\n const imgUrl = typeof img === \"string\" || img instanceof URL ? img : img.url;\n elements.push(<meta key={key++} name=\"twitter:image\" content={resolveUrl(imgUrl)} />);\n if (typeof img !== \"string\" && !(img instanceof URL) && img.alt) {\n elements.push(<meta key={key++} name=\"twitter:image:alt\" content={img.alt} />);\n }\n }\n }\n // Twitter player cards\n if (tw.players) {\n const players = Array.isArray(tw.players) ? tw.players : [tw.players];\n for (const player of players) {\n const playerUrl = player.playerUrl.toString();\n const streamUrl = player.streamUrl.toString();\n elements.push(<meta key={key++} name=\"twitter:player\" content={resolveUrl(playerUrl)} />);\n elements.push(\n <meta key={key++} name=\"twitter:player:stream\" content={resolveUrl(streamUrl)} />,\n );\n elements.push(\n <meta key={key++} name=\"twitter:player:width\" content={String(player.width)} />,\n );\n elements.push(\n <meta key={key++} name=\"twitter:player:height\" content={String(player.height)} />,\n );\n }\n }\n // Twitter app cards\n if (tw.app) {\n const { app } = tw;\n for (const platform of [\"iphone\", \"ipad\", \"googleplay\"] as const) {\n if (app.name) {\n elements.push(\n <meta key={key++} name={`twitter:app:name:${platform}`} content={app.name} />,\n );\n }\n if (app.id[platform] !== undefined) {\n elements.push(\n <meta\n key={key++}\n name={`twitter:app:id:${platform}`}\n content={String(app.id[platform])}\n />,\n );\n }\n if (app.url?.[platform] !== undefined) {\n const appUrl = app.url[platform]!.toString();\n elements.push(\n <meta key={key++} name={`twitter:app:url:${platform}`} content={resolveUrl(appUrl)} />,\n );\n }\n }\n }\n }\n\n // Icons\n if (metadata.icons) {\n const { icon, shortcut, apple, other } = metadata.icons;\n // Shortcut icon\n if (shortcut) {\n const shortcuts = Array.isArray(shortcut) ? shortcut : [shortcut];\n for (const s of shortcuts) {\n elements.push(<link key={key++} rel=\"shortcut icon\" href={resolveUrl(s)} />);\n }\n }\n // Icon\n if (icon) {\n const icons = typeof icon === \"string\" || icon instanceof URL ? [{ url: icon }] : icon;\n for (const i of icons) {\n elements.push(\n <link\n key={key++}\n rel=\"icon\"\n href={resolveUrl(i.url)}\n {...(i.sizes ? { sizes: i.sizes } : {})}\n {...(i.type ? { type: i.type } : {})}\n {...(i.media ? { media: i.media } : {})}\n />,\n );\n }\n }\n // Apple touch icon\n if (apple) {\n const apples = typeof apple === \"string\" || apple instanceof URL ? [{ url: apple }] : apple;\n for (const a of apples) {\n elements.push(\n <link\n key={key++}\n rel=\"apple-touch-icon\"\n href={resolveUrl(a.url)}\n {...(a.sizes ? { sizes: a.sizes } : {})}\n {...(a.type ? { type: a.type } : {})}\n />,\n );\n }\n }\n // Other custom icon relations\n if (other) {\n for (const o of other) {\n elements.push(\n <link\n key={key++}\n rel={o.rel}\n href={resolveUrl(o.url)}\n {...(o.sizes ? { sizes: o.sizes } : {})}\n />,\n );\n }\n }\n }\n\n // Manifest\n if (metadata.manifest) {\n elements.push(<link key={key++} rel=\"manifest\" href={resolveUrl(metadata.manifest)} />);\n }\n\n // Alternates\n if (metadata.alternates) {\n const alt = metadata.alternates;\n if (alt.canonical) {\n elements.push(<link key={key++} rel=\"canonical\" href={resolveUrl(alt.canonical)} />);\n }\n if (alt.languages) {\n for (const [lang, href] of Object.entries(alt.languages)) {\n elements.push(<link key={key++} rel=\"alternate\" hrefLang={lang} href={resolveUrl(href)} />);\n }\n }\n if (alt.media) {\n for (const [media, href] of Object.entries(alt.media)) {\n elements.push(<link key={key++} rel=\"alternate\" media={media} href={resolveUrl(href)} />);\n }\n }\n if (alt.types) {\n for (const [type, href] of Object.entries(alt.types)) {\n elements.push(<link key={key++} rel=\"alternate\" type={type} href={resolveUrl(href)} />);\n }\n }\n }\n\n // Verification\n if (metadata.verification) {\n const v = metadata.verification;\n if (v.google)\n elements.push(<meta key={key++} name=\"google-site-verification\" content={v.google} />);\n if (v.yahoo) elements.push(<meta key={key++} name=\"y_key\" content={v.yahoo} />);\n if (v.yandex) elements.push(<meta key={key++} name=\"yandex-verification\" content={v.yandex} />);\n if (v.other) {\n for (const [name, content] of Object.entries(v.other)) {\n const values = Array.isArray(content) ? content : [content];\n for (const val of values) {\n elements.push(<meta key={key++} name={name} content={val} />);\n }\n }\n }\n }\n\n // Apple Web App\n if (metadata.appleWebApp) {\n const awa = metadata.appleWebApp;\n if (awa.capable !== false) {\n elements.push(<meta key={key++} name=\"mobile-web-app-capable\" content=\"yes\" />);\n }\n if (awa.title) {\n elements.push(<meta key={key++} name=\"apple-mobile-web-app-title\" content={awa.title} />);\n }\n if (awa.statusBarStyle) {\n elements.push(\n <meta\n key={key++}\n name=\"apple-mobile-web-app-status-bar-style\"\n content={awa.statusBarStyle}\n />,\n );\n }\n if (awa.startupImage) {\n const imgs =\n typeof awa.startupImage === \"string\" ? [{ url: awa.startupImage }] : awa.startupImage;\n for (const img of imgs) {\n elements.push(\n <link\n key={key++}\n rel=\"apple-touch-startup-image\"\n href={resolveUrl(img.url)}\n {...(img.media ? { media: img.media } : {})}\n />,\n );\n }\n }\n }\n\n // iTunes\n if (metadata.itunes) {\n const { appId, appArgument } = metadata.itunes;\n let content = `app-id=${appId}`;\n if (appArgument) {\n content += `, app-argument=${appArgument}`;\n }\n elements.push(<meta key={key++} name=\"apple-itunes-app\" content={content} />);\n }\n\n // App Links\n if (metadata.appLinks) {\n const al = metadata.appLinks;\n const platforms = [\n \"ios\",\n \"iphone\",\n \"ipad\",\n \"android\",\n \"windows_phone\",\n \"windows\",\n \"windows_universal\",\n \"web\",\n ] as const;\n for (const platform of platforms) {\n const entries = al[platform];\n if (!entries) continue;\n const list = Array.isArray(entries) ? entries : [entries];\n for (const entry of list) {\n for (const [k, v] of Object.entries(entry)) {\n if (v === undefined || v === null) continue;\n const str = String(v);\n const content = k === \"url\" ? resolveUrl(str) : str;\n elements.push(<meta key={key++} property={`al:${platform}:${k}`} content={content} />);\n }\n }\n }\n }\n\n // Other custom meta tags\n if (metadata.other) {\n for (const [name, content] of Object.entries(metadata.other)) {\n const values = Array.isArray(content) ? content : [content];\n for (const val of values) {\n elements.push(<meta key={key++} name={name} content={val} />);\n }\n }\n }\n\n return <>{elements}</>;\n}\n"],"mappings":";;;;;;;AAgBA,SAAS,mBAAsD,KAAwB;CACrF,MAAM,QAAQ,EAAE,GAAG,KAAK;AACxB,QAAO,OAAO,OAAO,QAAQ,QAAQ,MAAM,EAAE,MAAM;;;;;;AA0BrD,eAAsB,sBACpB,KACA,QAC0B;AAC1B,KAAI,OAAO,IAAI,qBAAqB,YAAY;EAC9C,MAAM,cAAc,mBAAmB,OAAO;AAC9C,SAAO,MAAM,IAAI,iBAAiB,EAAE,QAAQ,aAAa,CAAC;;AAE5D,KAAI,IAAI,YAAY,OAAO,IAAI,aAAa,SAC1C,QAAO,IAAI;AAEb,QAAO;;;;;;AAOT,MAAa,mBAA6B;CACxC,OAAO;CACP,cAAc;CACf;AAED,SAAgB,cAAc,cAAoC;CAChE,MAAM,SAAmB,EAAE,GAAG,kBAAkB;AAChD,MAAK,MAAM,MAAM,aACf,QAAO,OAAO,QAAQ,GAAG;AAE3B,QAAO;;;;;AAMT,SAAgB,aAAa,EAAE,YAAoC;CACjE,MAAM,WAAiC,EAAE;CACzC,IAAI,MAAM;CAGV,MAAM,QAAkB,EAAE;AAC1B,KAAI,SAAS,UAAU,KAAA,EAAW,OAAM,KAAK,SAAS,SAAS,QAAQ;AACvE,KAAI,SAAS,WAAW,KAAA,EAAW,OAAM,KAAK,UAAU,SAAS,SAAS;AAC1E,KAAI,SAAS,iBAAiB,KAAA,EAAW,OAAM,KAAK,iBAAiB,SAAS,eAAe;AAC7F,KAAI,SAAS,iBAAiB,KAAA,EAAW,OAAM,KAAK,iBAAiB,SAAS,eAAe;AAC7F,KAAI,SAAS,iBAAiB,KAAA,EAAW,OAAM,KAAK,iBAAiB,SAAS,eAAe;AAC7F,KAAI,SAAS,iBAAiB,KAAA,EAC5B,OAAM,KAAK,iBAAiB,SAAS,eAAe,QAAQ,OAAO;AAErE,KAAI,MAAM,SAAS,EACjB,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAW,SAAS,MAAM,KAAK,KAAK;EAAI,EAApD,MAAoD,CAAC;AAIhF,KAAI,SAAS;MACP,OAAO,SAAS,eAAe,SACjC,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAc,SAAS,SAAS;GAAc,EAA1D,MAA0D,CAAC;WAC3E,MAAM,QAAQ,SAAS,WAAW,CAC3C,MAAK,MAAM,SAAS,SAAS,WAC3B,UAAS,KACP,oBAAC,QAAD;GAEE,MAAK;GACL,SAAS,MAAM;GACf,GAAK,MAAM,QAAQ,EAAE,OAAO,MAAM,OAAO,GAAG,EAAE;GAC9C,EAJK,MAIL,CACH;;AAMP,KAAI,SAAS,YACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAe,SAAS,SAAS;EAAe,EAA5D,MAA4D,CAAC;AAGxF,QAAO,oBAAA,UAAA,EAAA,UAAG,UAAY,CAAA;;;;;;;;;;;;;AAwKxB,SAAgB,cAAc,cAAoC;AAChE,KAAI,aAAa,WAAW,EAAG,QAAO,EAAE;CAExC,MAAM,SAAmB,EAAE;CAI3B,IAAI;AAEJ,MAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;EAC5C,MAAM,OAAO,aAAa;AAI1B,MAAI,EAHW,MAAM,aAAa,SAAS,MAG5B,KAAK,SAAS,OAAO,KAAK,UAAU,YAAY,KAAK,MAAM,SACxE,kBAAiB,KAAK,MAAM;AAI9B,OAAK,MAAM,OAAO,OAAO,KAAK,KAAK,EAAE;AACnC,OAAI,QAAQ,QAAS;AACpB,UAAmC,OAAQ,KAAiC;;AAI/E,MAAI,KAAK,UAAU,KAAA,EACjB,QAAO,QAAQ,KAAK;;CAKxB,MAAM,aAAa,OAAO;AAC1B,KAAI;MACE,OAAO,eAAe;OAEpB,eACF,QAAO,QAAQ,eAAe,QAAQ,MAAM,WAAW;aAEhD,OAAO,eAAe;OAC3B,WAAW,SAEb,QAAO,QAAQ,WAAW;YACjB,WAAW,QAGpB,QAAO,QAAQ,WAAW;YACjB,WAAW,YAAY,CAAC,WAAW,WAAW,CAAC,WAAW,SAEnE,QAAO,QAAQ,KAAA;;;AAKrB,QAAO;;;;;;;;;;;;AAaT,eAAsB,sBACpB,KACA,SAA4C,EAAE,EAC9C,cACA,SAA4B,QAAQ,QAAQ,EAAE,CAAC,EACrB;AAC1B,KAAI,OAAO,IAAI,qBAAqB,YAAY;EAG9C,MAAM,cAAc,mBAAmB,OAAO;EAE9C,MAAM,UAAU,mBADL,gBAAgB,EAAE,CACS;AACtC,SAAO,MAAM,IAAI,iBAAiB;GAAE,QAAQ;GAAa,cAAc;GAAS,EAAE,OAAO;;AAE3F,KAAI,IAAI,YAAY,OAAO,IAAI,aAAa,SAC1C,QAAO,IAAI;AAEb,QAAO;;;;;;AAOT,SAAgB,aAAa,EAAE,YAAoC;CACjE,MAAM,WAAiC,EAAE;CACzC,IAAI,MAAM;CAGV,MAAM,OAAO,SAAS;CAGtB,SAAS,WAAW,KAAmD;AACrE,MAAI,CAAC,IAAK,QAAO,KAAA;EAEjB,MAAM,IAAI,OAAO,QAAQ,WAAW,MAAM,eAAe,MAAM,IAAI,UAAU,GAAG,OAAO,IAAI;AAC3F,MAAI,CAAC,KAAM,QAAO;AAClB,MAAI,EAAE,WAAW,UAAU,IAAI,EAAE,WAAW,WAAW,IAAI,EAAE,WAAW,KAAK,CAAE,QAAO;AACtF,MAAI;AACF,UAAO,IAAI,IAAI,GAAG,KAAK,CAAC,UAAU;UAC5B;AACN,UAAO;;;CAKX,MAAM,QACJ,OAAO,SAAS,UAAU,WACtB,SAAS,QACT,OAAO,SAAS,UAAU,WACxB,SAAS,MAAM,YAAY,SAAS,MAAM,UAC1C,KAAA;AACR,KAAI,MACF,UAAS,KAAK,oBAAC,SAAD,EAAA,UAAoB,OAAc,EAAtB,MAAsB,CAAC;AAInD,KAAI,SAAS,YACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAc,SAAS,SAAS;EAAe,EAA3D,MAA2D,CAAC;AAIvF,KAAI,SAAS,UACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAY,SAAS,SAAS;EAAa,EAAvD,MAAuD,CAAC;AAInF,KAAI,SAAS,gBACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAmB,SAAS,SAAS;EAAmB,EAApE,MAAoE,CAAC;AAIhG,KAAI,SAAS,SACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAW,SAAS,SAAS;EAAY,EAArD,MAAqD,CAAC;AAIjF,KAAI,SAAS,UAAU;EACrB,MAAM,KAAK,MAAM,QAAQ,SAAS,SAAS,GAAG,SAAS,SAAS,KAAK,IAAI,GAAG,SAAS;AACrF,WAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAW,SAAS;GAAM,EAAtC,MAAsC,CAAC;;AAIlE,KAAI,SAAS,SAAS;EACpB,MAAM,aAAa,MAAM,QAAQ,SAAS,QAAQ,GAAG,SAAS,UAAU,CAAC,SAAS,QAAQ;AAC1F,OAAK,MAAM,UAAU,YAAY;AAC/B,OAAI,OAAO,KACT,UAAS,KAAK,oBAAC,QAAD;IAAkB,MAAK;IAAS,SAAS,OAAO;IAAQ,EAA7C,MAA6C,CAAC;AAEzE,OAAI,OAAO,IACT,UAAS,KAAK,oBAAC,QAAD;IAAkB,KAAI;IAAS,MAAM,OAAO;IAAO,EAAxC,MAAwC,CAAC;;;AAMxE,KAAI,SAAS,QACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAU,SAAS,SAAS;EAAW,EAAnD,MAAmD,CAAC;AAI/E,KAAI,SAAS,UACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAY,SAAS,SAAS;EAAa,EAAvD,MAAuD,CAAC;AAInF,KAAI,SAAS,iBAAiB;EAC5B,MAAM,QAAkB,EAAE;AAC1B,MAAI,SAAS,gBAAgB,cAAc,MAAO,OAAM,KAAK,eAAe;AAC5E,MAAI,SAAS,gBAAgB,YAAY,MAAO,OAAM,KAAK,aAAa;AACxE,MAAI,SAAS,gBAAgB,UAAU,MAAO,OAAM,KAAK,WAAW;AACpE,MAAI,MAAM,SAAS,EACjB,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAmB,SAAS,MAAM,KAAK,KAAK;GAAI,EAA5D,MAA4D,CAAC;;AAK1F,KAAI,SAAS,SACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAW,SAAS,SAAS;EAAY,EAArD,MAAqD,CAAC;AAIjF,KAAI,SAAS,OACX,KAAI,OAAO,SAAS,WAAW,SAC7B,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAS,SAAS,SAAS;EAAU,EAAjD,MAAiD,CAAC;MACtE;EACL,MAAM,EAAE,WAAW,GAAG,eAAe,SAAS;EAC9C,MAAM,aAAuB,EAAE;AAC/B,OAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,WAAW,CAC7C,KAAI,MAAM,KAAM,YAAW,KAAK,EAAE;WACzB,MAAM,MAAO,YAAW,KAAK,KAAK,IAAI;WACtC,OAAO,MAAM,YAAY,OAAO,MAAM,SAAU,YAAW,KAAK,GAAG,EAAE,GAAG,IAAI;AAEvF,MAAI,WAAW,SAAS,EACtB,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAS,SAAS,WAAW,KAAK,KAAK;GAAI,EAAvD,MAAuD,CAAC;AAGnF,MAAI,UACF,KAAI,OAAO,cAAc,SACvB,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAY,SAAS;GAAa,EAA9C,MAA8C,CAAC;OACnE;GACL,MAAM,UAAoB,EAAE;AAC5B,QAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,UAAU,CAC5C,KAAI,MAAM,KAAM,SAAQ,KAAK,EAAE;YACtB,MAAM,MAAO,SAAQ,KAAK,KAAK,IAAI;YACnC,OAAO,MAAM,YAAY,OAAO,MAAM,SAAU,SAAQ,KAAK,GAAG,EAAE,GAAG,IAAI;AAEpF,OAAI,QAAQ,SAAS,EACnB,UAAS,KAAK,oBAAC,QAAD;IAAkB,MAAK;IAAY,SAAS,QAAQ,KAAK,KAAK;IAAI,EAAvD,MAAuD,CAAC;;;AAQ3F,KAAI,SAAS,WAAW;EACtB,MAAM,KAAK,SAAS;AACpB,MAAI,GAAG,MAAO,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAW,SAAS,GAAG;GAAS,EAAhD,MAAgD,CAAC;AACxF,MAAI,GAAG,YACL,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAiB,SAAS,GAAG;GAAe,EAA5D,MAA4D,CAAC;AACxF,MAAI,GAAG,IAAK,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAS,SAAS,WAAW,GAAG,IAAI;GAAI,EAAxD,MAAwD,CAAC;AAC9F,MAAI,GAAG,SACL,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAe,SAAS,GAAG;GAAY,EAAvD,MAAuD,CAAC;AACnF,MAAI,GAAG,KAAM,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAU,SAAS,GAAG;GAAQ,EAA9C,MAA8C,CAAC;AACrF,MAAI,GAAG,OAAQ,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAY,SAAS,GAAG;GAAU,EAAlD,MAAkD,CAAC;AAC3F,MAAI,GAAG,cACL,UAAS,KACP,oBAAC,QAAD;GAAkB,UAAS;GAAyB,SAAS,GAAG;GAAiB,EAAtE,MAAsE,CAClF;AACH,MAAI,GAAG,aACL,UAAS,KACP,oBAAC,QAAD;GAAkB,UAAS;GAAwB,SAAS,GAAG;GAAgB,EAApE,MAAoE,CAChF;AACH,MAAI,GAAG,QACL,MAAK,MAAM,UAAU,GAAG,QACtB,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAiB,SAAS;GAAU,EAApD,MAAoD,CAAC;AAGlF,MAAI,GAAG,QAAQ;GACb,MAAM,UACJ,OAAO,GAAG,WAAW,YAAY,GAAG,kBAAkB,MAClD,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GACpB,MAAM,QAAQ,GAAG,OAAO,GACtB,GAAG,SACH,CAAC,GAAG,OAAO;AACnB,QAAK,MAAM,OAAO,SAAS;IACzB,MAAM,SAAS,OAAO,QAAQ,YAAY,eAAe,MAAM,MAAM,IAAI;AACzE,aAAS,KAAK,oBAAC,QAAD;KAAkB,UAAS;KAAW,SAAS,WAAW,OAAO;KAAI,EAA1D,MAA0D,CAAC;AACpF,QAAI,OAAO,QAAQ,YAAY,EAAE,eAAe,MAAM;AACpD,SAAI,IAAI,MACN,UAAS,KACP,oBAAC,QAAD;MAAkB,UAAS;MAAiB,SAAS,OAAO,IAAI,MAAM;MAAI,EAA/D,MAA+D,CAC3E;AACH,SAAI,IAAI,OACN,UAAS,KACP,oBAAC,QAAD;MAAkB,UAAS;MAAkB,SAAS,OAAO,IAAI,OAAO;MAAI,EAAjE,MAAiE,CAC7E;AACH,SAAI,IAAI,IACN,UAAS,KAAK,oBAAC,QAAD;MAAkB,UAAS;MAAe,SAAS,IAAI;MAAO,EAAnD,MAAmD,CAAC;;;;AAIrF,MAAI,GAAG,OACL,MAAK,MAAM,SAAS,GAAG,QAAQ;AAC7B,YAAS,KAAK,oBAAC,QAAD;IAAkB,UAAS;IAAW,SAAS,WAAW,MAAM,IAAI;IAAI,EAA7D,MAA6D,CAAC;AACvF,OAAI,MAAM,MACR,UAAS,KACP,oBAAC,QAAD;IAAkB,UAAS;IAAiB,SAAS,OAAO,MAAM,MAAM;IAAI,EAAjE,MAAiE,CAC7E;AACH,OAAI,MAAM,OACR,UAAS,KACP,oBAAC,QAAD;IAAkB,UAAS;IAAkB,SAAS,OAAO,MAAM,OAAO;IAAI,EAAnE,MAAmE,CAC/E;;AAGP,MAAI,GAAG,MACL,MAAK,MAAM,SAAS,GAAG,MACrB,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAW,SAAS,WAAW,MAAM,IAAI;GAAI,EAA7D,MAA6D,CAAC;;AAM7F,KAAI,SAAS,SAAS;EACpB,MAAM,KAAK,SAAS;AACpB,MAAI,GAAG,KAAM,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAe,SAAS,GAAG;GAAQ,EAA/C,MAA+C,CAAC;AACtF,MAAI,GAAG,KAAM,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAe,SAAS,GAAG;GAAQ,EAA/C,MAA+C,CAAC;AACtF,MAAI,GAAG,OAAQ,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAkB,SAAS,GAAG;GAAU,EAApD,MAAoD,CAAC;AAC7F,MAAI,GAAG,MAAO,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAgB,SAAS,GAAG;GAAS,EAAjD,MAAiD,CAAC;AACzF,MAAI,GAAG,YACL,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAsB,SAAS,GAAG;GAAe,EAA7D,MAA6D,CAAC;AACzF,MAAI,GAAG,QAAS,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAkB,SAAS,GAAG;GAAW,EAArD,MAAqD,CAAC;AAC/F,MAAI,GAAG,UACL,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAqB,SAAS,GAAG;GAAa,EAA1D,MAA0D,CAAC;AACtF,MAAI,GAAG,QAAQ;GACb,MAAM,UACJ,OAAO,GAAG,WAAW,YAAY,GAAG,kBAAkB,MAClD,CAAC,GAAG,OAAO,GACX,MAAM,QAAQ,GAAG,OAAO,GACtB,GAAG,SACH,CAAC,GAAG,OAAO;AACnB,QAAK,MAAM,OAAO,SAAS;IACzB,MAAM,SAAS,OAAO,QAAQ,YAAY,eAAe,MAAM,MAAM,IAAI;AACzE,aAAS,KAAK,oBAAC,QAAD;KAAkB,MAAK;KAAgB,SAAS,WAAW,OAAO;KAAI,EAA3D,MAA2D,CAAC;AACrF,QAAI,OAAO,QAAQ,YAAY,EAAE,eAAe,QAAQ,IAAI,IAC1D,UAAS,KAAK,oBAAC,QAAD;KAAkB,MAAK;KAAoB,SAAS,IAAI;KAAO,EAApD,MAAoD,CAAC;;;AAKpF,MAAI,GAAG,SAAS;GACd,MAAM,UAAU,MAAM,QAAQ,GAAG,QAAQ,GAAG,GAAG,UAAU,CAAC,GAAG,QAAQ;AACrE,QAAK,MAAM,UAAU,SAAS;IAC5B,MAAM,YAAY,OAAO,UAAU,UAAU;IAC7C,MAAM,YAAY,OAAO,UAAU,UAAU;AAC7C,aAAS,KAAK,oBAAC,QAAD;KAAkB,MAAK;KAAiB,SAAS,WAAW,UAAU;KAAI,EAA/D,MAA+D,CAAC;AACzF,aAAS,KACP,oBAAC,QAAD;KAAkB,MAAK;KAAwB,SAAS,WAAW,UAAU;KAAI,EAAtE,MAAsE,CAClF;AACD,aAAS,KACP,oBAAC,QAAD;KAAkB,MAAK;KAAuB,SAAS,OAAO,OAAO,MAAM;KAAI,EAApE,MAAoE,CAChF;AACD,aAAS,KACP,oBAAC,QAAD;KAAkB,MAAK;KAAwB,SAAS,OAAO,OAAO,OAAO;KAAI,EAAtE,MAAsE,CAClF;;;AAIL,MAAI,GAAG,KAAK;GACV,MAAM,EAAE,QAAQ;AAChB,QAAK,MAAM,YAAY;IAAC;IAAU;IAAQ;IAAa,EAAW;AAChE,QAAI,IAAI,KACN,UAAS,KACP,oBAAC,QAAD;KAAkB,MAAM,oBAAoB;KAAY,SAAS,IAAI;KAAQ,EAAlE,MAAkE,CAC9E;AAEH,QAAI,IAAI,GAAG,cAAc,KAAA,EACvB,UAAS,KACP,oBAAC,QAAD;KAEE,MAAM,kBAAkB;KACxB,SAAS,OAAO,IAAI,GAAG,UAAU;KACjC,EAHK,MAGL,CACH;AAEH,QAAI,IAAI,MAAM,cAAc,KAAA,GAAW;KACrC,MAAM,SAAS,IAAI,IAAI,UAAW,UAAU;AAC5C,cAAS,KACP,oBAAC,QAAD;MAAkB,MAAM,mBAAmB;MAAY,SAAS,WAAW,OAAO;MAAI,EAA3E,MAA2E,CACvF;;;;;AAOT,KAAI,SAAS,OAAO;EAClB,MAAM,EAAE,MAAM,UAAU,OAAO,UAAU,SAAS;AAElD,MAAI,UAAU;GACZ,MAAM,YAAY,MAAM,QAAQ,SAAS,GAAG,WAAW,CAAC,SAAS;AACjE,QAAK,MAAM,KAAK,UACd,UAAS,KAAK,oBAAC,QAAD;IAAkB,KAAI;IAAgB,MAAM,WAAW,EAAE;IAAI,EAAlD,MAAkD,CAAC;;AAIhF,MAAI,MAAM;GACR,MAAM,QAAQ,OAAO,SAAS,YAAY,gBAAgB,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,GAAG;AAClF,QAAK,MAAM,KAAK,MACd,UAAS,KACP,oBAAC,QAAD;IAEE,KAAI;IACJ,MAAM,WAAW,EAAE,IAAI;IACvB,GAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE;IACtC,GAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE;IACnC,GAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE;IACtC,EANK,MAML,CACH;;AAIL,MAAI,OAAO;GACT,MAAM,SAAS,OAAO,UAAU,YAAY,iBAAiB,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,GAAG;AACtF,QAAK,MAAM,KAAK,OACd,UAAS,KACP,oBAAC,QAAD;IAEE,KAAI;IACJ,MAAM,WAAW,EAAE,IAAI;IACvB,GAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE;IACtC,GAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE;IACnC,EALK,MAKL,CACH;;AAIL,MAAI,MACF,MAAK,MAAM,KAAK,MACd,UAAS,KACP,oBAAC,QAAD;GAEE,KAAK,EAAE;GACP,MAAM,WAAW,EAAE,IAAI;GACvB,GAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE;GACtC,EAJK,MAIL,CACH;;AAMP,KAAI,SAAS,SACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,KAAI;EAAW,MAAM,WAAW,SAAS,SAAS;EAAI,EAA7D,MAA6D,CAAC;AAIzF,KAAI,SAAS,YAAY;EACvB,MAAM,MAAM,SAAS;AACrB,MAAI,IAAI,UACN,UAAS,KAAK,oBAAC,QAAD;GAAkB,KAAI;GAAY,MAAM,WAAW,IAAI,UAAU;GAAI,EAA1D,MAA0D,CAAC;AAEtF,MAAI,IAAI,UACN,MAAK,MAAM,CAAC,MAAM,SAAS,OAAO,QAAQ,IAAI,UAAU,CACtD,UAAS,KAAK,oBAAC,QAAD;GAAkB,KAAI;GAAY,UAAU;GAAM,MAAM,WAAW,KAAK;GAAI,EAAjE,MAAiE,CAAC;AAG/F,MAAI,IAAI,MACN,MAAK,MAAM,CAAC,OAAO,SAAS,OAAO,QAAQ,IAAI,MAAM,CACnD,UAAS,KAAK,oBAAC,QAAD;GAAkB,KAAI;GAAmB;GAAO,MAAM,WAAW,KAAK;GAAI,EAA/D,MAA+D,CAAC;AAG7F,MAAI,IAAI,MACN,MAAK,MAAM,CAAC,MAAM,SAAS,OAAO,QAAQ,IAAI,MAAM,CAClD,UAAS,KAAK,oBAAC,QAAD;GAAkB,KAAI;GAAkB;GAAM,MAAM,WAAW,KAAK;GAAI,EAA7D,MAA6D,CAAC;;AAM7F,KAAI,SAAS,cAAc;EACzB,MAAM,IAAI,SAAS;AACnB,MAAI,EAAE,OACJ,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAA2B,SAAS,EAAE;GAAU,EAA5D,MAA4D,CAAC;AACxF,MAAI,EAAE,MAAO,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAQ,SAAS,EAAE;GAAS,EAAxC,MAAwC,CAAC;AAC/E,MAAI,EAAE,OAAQ,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAsB,SAAS,EAAE;GAAU,EAAvD,MAAuD,CAAC;AAC/F,MAAI,EAAE,MACJ,MAAK,MAAM,CAAC,MAAM,YAAY,OAAO,QAAQ,EAAE,MAAM,EAAE;GACrD,MAAM,SAAS,MAAM,QAAQ,QAAQ,GAAG,UAAU,CAAC,QAAQ;AAC3D,QAAK,MAAM,OAAO,OAChB,UAAS,KAAK,oBAAC,QAAD;IAAwB;IAAM,SAAS;IAAO,EAAnC,MAAmC,CAAC;;;AAOrE,KAAI,SAAS,aAAa;EACxB,MAAM,MAAM,SAAS;AACrB,MAAI,IAAI,YAAY,MAClB,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAyB,SAAQ;GAAQ,EAArD,MAAqD,CAAC;AAEjF,MAAI,IAAI,MACN,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAA6B,SAAS,IAAI;GAAS,EAA/D,MAA+D,CAAC;AAE3F,MAAI,IAAI,eACN,UAAS,KACP,oBAAC,QAAD;GAEE,MAAK;GACL,SAAS,IAAI;GACb,EAHK,MAGL,CACH;AAEH,MAAI,IAAI,cAAc;GACpB,MAAM,OACJ,OAAO,IAAI,iBAAiB,WAAW,CAAC,EAAE,KAAK,IAAI,cAAc,CAAC,GAAG,IAAI;AAC3E,QAAK,MAAM,OAAO,KAChB,UAAS,KACP,oBAAC,QAAD;IAEE,KAAI;IACJ,MAAM,WAAW,IAAI,IAAI;IACzB,GAAK,IAAI,QAAQ,EAAE,OAAO,IAAI,OAAO,GAAG,EAAE;IAC1C,EAJK,MAIL,CACH;;;AAMP,KAAI,SAAS,QAAQ;EACnB,MAAM,EAAE,OAAO,gBAAgB,SAAS;EACxC,IAAI,UAAU,UAAU;AACxB,MAAI,YACF,YAAW,kBAAkB;AAE/B,WAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAA4B;GAAW,EAAnD,MAAmD,CAAC;;AAI/E,KAAI,SAAS,UAAU;EACrB,MAAM,KAAK,SAAS;AAWpB,OAAK,MAAM,YAVO;GAChB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,EACiC;GAChC,MAAM,UAAU,GAAG;AACnB,OAAI,CAAC,QAAS;GACd,MAAM,OAAO,MAAM,QAAQ,QAAQ,GAAG,UAAU,CAAC,QAAQ;AACzD,QAAK,MAAM,SAAS,KAClB,MAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,MAAM,EAAE;AAC1C,QAAI,MAAM,KAAA,KAAa,MAAM,KAAM;IACnC,MAAM,MAAM,OAAO,EAAE;IACrB,MAAM,UAAU,MAAM,QAAQ,WAAW,IAAI,GAAG;AAChD,aAAS,KAAK,oBAAC,QAAD;KAAkB,UAAU,MAAM,SAAS,GAAG;KAAc;KAAW,EAA5D,MAA4D,CAAC;;;;AAO9F,KAAI,SAAS,MACX,MAAK,MAAM,CAAC,MAAM,YAAY,OAAO,QAAQ,SAAS,MAAM,EAAE;EAC5D,MAAM,SAAS,MAAM,QAAQ,QAAQ,GAAG,UAAU,CAAC,QAAQ;AAC3D,OAAK,MAAM,OAAO,OAChB,UAAS,KAAK,oBAAC,QAAD;GAAwB;GAAM,SAAS;GAAO,EAAnC,MAAmC,CAAC;;AAKnE,QAAO,oBAAA,UAAA,EAAA,UAAG,UAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"metadata.js","names":[],"sources":["../../src/shims/metadata.tsx"],"sourcesContent":["/**\n * Metadata support for App Router.\n *\n * Handles `export const metadata` and `export async function generateMetadata()`.\n * Resolves metadata from layouts and pages (pages override layouts).\n */\nimport React from \"react\";\n\n// ---------------------------------------------------------------------------\n// Viewport types and resolution\n// ---------------------------------------------------------------------------\n\n/**\n * Normalize null-prototype objects from matchPattern() into thenable objects.\n * See entries/app-rsc-entry.ts makeThenableParams() for full explanation.\n */\nfunction makeThenableParams<T extends Record<string, unknown>>(obj: T): Promise<T> & T {\n const plain = { ...obj } as T;\n return Object.assign(Promise.resolve(plain), plain);\n}\n\nexport interface Viewport {\n /** Viewport width (default: \"device-width\") */\n width?: string | number;\n /** Viewport height */\n height?: string | number;\n /** Initial scale */\n initialScale?: number;\n /** Minimum scale */\n minimumScale?: number;\n /** Maximum scale */\n maximumScale?: number;\n /** Whether user can scale */\n userScalable?: boolean;\n /** Theme color — single color or array of { media, color } */\n themeColor?: string | Array<{ media?: string; color: string }>;\n /** Color scheme: 'light' | 'dark' | 'light dark' | 'normal' */\n colorScheme?: string;\n}\n\n/**\n * Resolve viewport config from a module. Handles both static `viewport` export\n * and async `generateViewport()` function.\n */\nexport async function resolveModuleViewport(\n mod: Record<string, unknown>,\n params: Record<string, string | string[]>,\n): Promise<Viewport | null> {\n if (typeof mod.generateViewport === \"function\") {\n const asyncParams = makeThenableParams(params);\n return await mod.generateViewport({ params: asyncParams });\n }\n if (mod.viewport && typeof mod.viewport === \"object\") {\n return mod.viewport as Viewport;\n }\n return null;\n}\n\n/**\n * Merge viewport configs from multiple sources (layouts + page).\n * Later entries override earlier ones.\n */\nexport const DEFAULT_VIEWPORT: Viewport = {\n width: \"device-width\",\n initialScale: 1,\n};\n\nexport function mergeViewport(viewportList: Viewport[]): Viewport {\n const merged: Viewport = { ...DEFAULT_VIEWPORT };\n for (const vp of viewportList) {\n Object.assign(merged, vp);\n }\n return merged;\n}\n\n/**\n * React component that renders viewport meta tags into <head>.\n */\nexport function ViewportHead({ viewport }: { viewport: Viewport }) {\n const elements: React.ReactElement[] = [];\n let key = 0;\n\n // Build viewport content string\n const parts: string[] = [];\n if (viewport.width !== undefined) parts.push(`width=${viewport.width}`);\n if (viewport.height !== undefined) parts.push(`height=${viewport.height}`);\n if (viewport.initialScale !== undefined) parts.push(`initial-scale=${viewport.initialScale}`);\n if (viewport.minimumScale !== undefined) parts.push(`minimum-scale=${viewport.minimumScale}`);\n if (viewport.maximumScale !== undefined) parts.push(`maximum-scale=${viewport.maximumScale}`);\n if (viewport.userScalable !== undefined)\n parts.push(`user-scalable=${viewport.userScalable ? \"yes\" : \"no\"}`);\n\n if (parts.length > 0) {\n elements.push(<meta key={key++} name=\"viewport\" content={parts.join(\", \")} />);\n }\n\n // Theme color\n if (viewport.themeColor) {\n if (typeof viewport.themeColor === \"string\") {\n elements.push(<meta key={key++} name=\"theme-color\" content={viewport.themeColor} />);\n } else if (Array.isArray(viewport.themeColor)) {\n for (const entry of viewport.themeColor) {\n elements.push(\n <meta\n key={key++}\n name=\"theme-color\"\n content={entry.color}\n {...(entry.media ? { media: entry.media } : {})}\n />,\n );\n }\n }\n }\n\n // Color scheme\n if (viewport.colorScheme) {\n elements.push(<meta key={key++} name=\"color-scheme\" content={viewport.colorScheme} />);\n }\n\n return <>{elements}</>;\n}\n\n// ---------------------------------------------------------------------------\n// Metadata types and resolution\n// ---------------------------------------------------------------------------\n\nexport interface Metadata {\n title?: string | { default?: string; template?: string; absolute?: string };\n description?: string;\n generator?: string;\n applicationName?: string;\n referrer?: string;\n keywords?: string | string[];\n authors?: Array<{ name?: string; url?: string }> | { name?: string; url?: string };\n creator?: string;\n publisher?: string;\n robots?:\n | string\n | {\n index?: boolean;\n follow?: boolean;\n googleBot?: string | { index?: boolean; follow?: boolean; [key: string]: unknown };\n [key: string]: unknown;\n };\n openGraph?: {\n title?: string;\n description?: string;\n url?: string | URL;\n siteName?: string;\n images?:\n | string\n | URL\n | { url: string | URL; width?: number; height?: number; alt?: string }\n | Array<string | URL | { url: string | URL; width?: number; height?: number; alt?: string }>;\n videos?: Array<{ url: string | URL; width?: number; height?: number }>;\n audio?: Array<{ url: string | URL }>;\n locale?: string;\n type?: string;\n publishedTime?: string;\n modifiedTime?: string;\n authors?: string[];\n };\n twitter?: {\n card?: string;\n site?: string;\n siteId?: string;\n title?: string;\n description?: string;\n images?:\n | string\n | URL\n | { url: string | URL; alt?: string; width?: number; height?: number }\n | Array<string | URL | { url: string | URL; alt?: string; width?: number; height?: number }>;\n creator?: string;\n creatorId?: string;\n players?: TwitterPlayerDescriptor | TwitterPlayerDescriptor[];\n app?: TwitterAppDescriptor;\n };\n icons?: {\n icon?:\n | string\n | URL\n | Array<{ url: string | URL; sizes?: string; type?: string; media?: string }>;\n shortcut?: string | URL | Array<string | URL>;\n apple?: string | URL | Array<{ url: string | URL; sizes?: string; type?: string }>;\n other?: Array<{ rel: string; url: string | URL; sizes?: string; type?: string }>;\n };\n manifest?: string | URL;\n alternates?: {\n canonical?: string | URL;\n languages?: Record<string, string | URL>;\n media?: Record<string, string | URL>;\n types?: Record<string, string | URL>;\n };\n verification?: {\n google?: string;\n yahoo?: string;\n yandex?: string;\n other?: Record<string, string | string[]>;\n };\n metadataBase?: URL | null;\n appleWebApp?: {\n capable?: boolean;\n title?: string;\n statusBarStyle?: string;\n startupImage?: string | Array<{ url: string; media?: string }>;\n };\n formatDetection?: {\n email?: boolean;\n address?: boolean;\n telephone?: boolean;\n };\n category?: string;\n itunes?: {\n appId: string;\n appArgument?: string;\n };\n appLinks?: {\n ios?: AppLinksApple | AppLinksApple[];\n iphone?: AppLinksApple | AppLinksApple[];\n ipad?: AppLinksApple | AppLinksApple[];\n android?: AppLinksAndroid | AppLinksAndroid[];\n windows_phone?: AppLinksWindows | AppLinksWindows[];\n windows?: AppLinksWindows | AppLinksWindows[];\n windows_universal?: AppLinksWindows | AppLinksWindows[];\n web?: AppLinksWeb | AppLinksWeb[];\n };\n other?: Record<string, string | string[]>;\n [key: string]: unknown;\n}\n\ninterface AppLinksApple {\n url: string | URL;\n app_store_id?: string | number;\n app_name?: string;\n}\n\ninterface AppLinksAndroid {\n package: string;\n url?: string | URL;\n class?: string;\n app_name?: string;\n}\n\ninterface AppLinksWindows {\n url: string | URL;\n app_id?: string;\n app_name?: string;\n}\n\ninterface AppLinksWeb {\n url: string | URL;\n should_fallback?: boolean;\n}\n\ninterface TwitterPlayerDescriptor {\n playerUrl: string | URL;\n streamUrl: string | URL;\n width: number;\n height: number;\n}\n\ninterface TwitterAppDescriptor {\n id: {\n iphone?: string | number;\n ipad?: string | number;\n googleplay?: string;\n };\n url?: {\n iphone?: string | URL;\n ipad?: string | URL;\n googleplay?: string | URL;\n };\n name?: string;\n}\n\n/**\n * Merge metadata from multiple sources (layouts + page).\n *\n * The list is ordered [rootLayout, nestedLayout, ..., page].\n * Title template from layouts applies to the page title but NOT to\n * the segment that defines the template itself. `title.absolute`\n * skips all templates. `title.default` is the fallback when no\n * child provides a title.\n *\n * Shallow merge: later entries override earlier ones (per Next.js docs).\n */\nexport function mergeMetadata(metadataList: Metadata[]): Metadata {\n if (metadataList.length === 0) return {};\n\n const merged: Metadata = {};\n\n // Track the most recent title template from LAYOUTS (not from page).\n // The page is always the last entry in metadataList.\n let parentTemplate: string | undefined;\n\n for (let i = 0; i < metadataList.length; i++) {\n const meta = metadataList[i];\n const isPage = i === metadataList.length - 1;\n\n // Collect template from layouts only (page templates are ignored per Next.js spec)\n if (!isPage && meta.title && typeof meta.title === \"object\" && meta.title.template) {\n parentTemplate = meta.title.template;\n }\n\n // Shallow merge — later entries override earlier for top-level keys\n for (const key of Object.keys(meta)) {\n if (key === \"title\") continue; // Handle title separately below\n (merged as Record<string, unknown>)[key] = (meta as Record<string, unknown>)[key];\n }\n\n // Title resolution\n if (meta.title !== undefined) {\n merged.title = meta.title;\n }\n }\n\n // Now resolve the final title, applying the parent template if applicable\n const finalTitle = merged.title;\n if (finalTitle) {\n if (typeof finalTitle === \"string\") {\n // Simple string title — apply parent template\n if (parentTemplate) {\n merged.title = parentTemplate.replace(\"%s\", finalTitle);\n }\n } else if (typeof finalTitle === \"object\") {\n if (finalTitle.absolute) {\n // Absolute title — skip all templates\n merged.title = finalTitle.absolute;\n } else if (finalTitle.default) {\n // Title object with default — this is used when the segment IS the\n // defining layout (its own default doesn't get template-wrapped)\n merged.title = finalTitle.default;\n } else if (finalTitle.template && !finalTitle.default && !finalTitle.absolute) {\n // Template only with no default — no title to render\n merged.title = undefined;\n }\n }\n }\n\n return merged;\n}\n\n/**\n * Resolve metadata from a module. Handles both static `metadata` export\n * and async `generateMetadata()` function.\n *\n * @param parent - A Promise that resolves to the accumulated (merged) metadata\n * from all ancestor segments. Passed as the second argument to\n * `generateMetadata()`, matching Next.js's eager-execution-with-serial-\n * resolution approach. If not provided, defaults to a promise that resolves\n * to an empty object (so `await parent` never throws).\n */\nexport async function resolveModuleMetadata(\n mod: Record<string, unknown>,\n params: Record<string, string | string[]> = {},\n searchParams?: Record<string, string>,\n parent: Promise<Metadata> = Promise.resolve({}),\n): Promise<Metadata | null> {\n if (typeof mod.generateMetadata === \"function\") {\n // Next.js 16 passes params/searchParams as Promises (async pattern).\n // makeThenableParams() normalises null-prototype + preserves sync access.\n const asyncParams = makeThenableParams(params);\n const sp = searchParams ?? {};\n const asyncSp = makeThenableParams(sp);\n return await mod.generateMetadata({ params: asyncParams, searchParams: asyncSp }, parent);\n }\n if (mod.metadata && typeof mod.metadata === \"object\") {\n return mod.metadata as Metadata;\n }\n return null;\n}\n\n/**\n * React component that renders metadata as HTML head elements.\n * Used by the RSC entry to inject into the <head>.\n */\nexport function MetadataHead({ metadata }: { metadata: Metadata }) {\n const elements: React.ReactElement[] = [];\n let key = 0;\n\n // Resolve metadataBase for URL composition\n const base = metadata.metadataBase;\n function resolveUrl(url: string | URL): string;\n function resolveUrl(url: string | URL | undefined): string | undefined;\n function resolveUrl(url: string | URL | undefined): string | undefined {\n if (!url) return undefined;\n // Coerce URL objects to strings (Next.js metadata allows string | URL)\n const s = typeof url === \"string\" ? url : url instanceof URL ? url.toString() : String(url);\n if (!base) return s;\n if (s.startsWith(\"http://\") || s.startsWith(\"https://\") || s.startsWith(\"//\")) return s;\n try {\n return new URL(s, base).toString();\n } catch {\n return s;\n }\n }\n\n // Title\n const title =\n typeof metadata.title === \"string\"\n ? metadata.title\n : typeof metadata.title === \"object\"\n ? metadata.title.absolute || metadata.title.default\n : undefined;\n if (title) {\n elements.push(<title key={key++}>{title}</title>);\n }\n\n // Description\n if (metadata.description) {\n elements.push(<meta key={key++} name=\"description\" content={metadata.description} />);\n }\n\n // Generator\n if (metadata.generator) {\n elements.push(<meta key={key++} name=\"generator\" content={metadata.generator} />);\n }\n\n // Application name\n if (metadata.applicationName) {\n elements.push(<meta key={key++} name=\"application-name\" content={metadata.applicationName} />);\n }\n\n // Referrer\n if (metadata.referrer) {\n elements.push(<meta key={key++} name=\"referrer\" content={metadata.referrer} />);\n }\n\n // Keywords\n if (metadata.keywords) {\n const kw = Array.isArray(metadata.keywords) ? metadata.keywords.join(\",\") : metadata.keywords;\n elements.push(<meta key={key++} name=\"keywords\" content={kw} />);\n }\n\n // Authors\n if (metadata.authors) {\n const authorList = Array.isArray(metadata.authors) ? metadata.authors : [metadata.authors];\n for (const author of authorList) {\n if (author.name) {\n elements.push(<meta key={key++} name=\"author\" content={author.name} />);\n }\n if (author.url) {\n elements.push(<link key={key++} rel=\"author\" href={author.url} />);\n }\n }\n }\n\n // Creator\n if (metadata.creator) {\n elements.push(<meta key={key++} name=\"creator\" content={metadata.creator} />);\n }\n\n // Publisher\n if (metadata.publisher) {\n elements.push(<meta key={key++} name=\"publisher\" content={metadata.publisher} />);\n }\n\n // Format detection\n if (metadata.formatDetection) {\n const parts: string[] = [];\n if (metadata.formatDetection.telephone === false) parts.push(\"telephone=no\");\n if (metadata.formatDetection.address === false) parts.push(\"address=no\");\n if (metadata.formatDetection.email === false) parts.push(\"email=no\");\n if (parts.length > 0) {\n elements.push(<meta key={key++} name=\"format-detection\" content={parts.join(\", \")} />);\n }\n }\n\n // Category\n if (metadata.category) {\n elements.push(<meta key={key++} name=\"category\" content={metadata.category} />);\n }\n\n // Robots\n if (metadata.robots) {\n if (typeof metadata.robots === \"string\") {\n elements.push(<meta key={key++} name=\"robots\" content={metadata.robots} />);\n } else {\n const { googleBot, ...robotsRest } = metadata.robots;\n const robotParts: string[] = [];\n for (const [k, v] of Object.entries(robotsRest)) {\n if (v === true) robotParts.push(k);\n else if (v === false) robotParts.push(`no${k}`);\n else if (typeof v === \"string\" || typeof v === \"number\") robotParts.push(`${k}:${v}`);\n }\n if (robotParts.length > 0) {\n elements.push(<meta key={key++} name=\"robots\" content={robotParts.join(\", \")} />);\n }\n // googlebot\n if (googleBot) {\n if (typeof googleBot === \"string\") {\n elements.push(<meta key={key++} name=\"googlebot\" content={googleBot} />);\n } else {\n const gbParts: string[] = [];\n for (const [k, v] of Object.entries(googleBot)) {\n if (v === true) gbParts.push(k);\n else if (v === false) gbParts.push(`no${k}`);\n else if (typeof v === \"string\" || typeof v === \"number\") gbParts.push(`${k}:${v}`);\n }\n if (gbParts.length > 0) {\n elements.push(<meta key={key++} name=\"googlebot\" content={gbParts.join(\", \")} />);\n }\n }\n }\n }\n }\n\n // Open Graph\n if (metadata.openGraph) {\n const og = metadata.openGraph;\n if (og.title) elements.push(<meta key={key++} property=\"og:title\" content={og.title} />);\n if (og.description)\n elements.push(<meta key={key++} property=\"og:description\" content={og.description} />);\n if (og.url) elements.push(<meta key={key++} property=\"og:url\" content={resolveUrl(og.url)} />);\n if (og.siteName)\n elements.push(<meta key={key++} property=\"og:site_name\" content={og.siteName} />);\n if (og.type) elements.push(<meta key={key++} property=\"og:type\" content={og.type} />);\n if (og.locale) elements.push(<meta key={key++} property=\"og:locale\" content={og.locale} />);\n if (og.publishedTime)\n elements.push(\n <meta key={key++} property=\"article:published_time\" content={og.publishedTime} />,\n );\n if (og.modifiedTime)\n elements.push(\n <meta key={key++} property=\"article:modified_time\" content={og.modifiedTime} />,\n );\n if (og.authors) {\n for (const author of og.authors) {\n elements.push(<meta key={key++} property=\"article:author\" content={author} />);\n }\n }\n if (og.images) {\n const imgList =\n typeof og.images === \"string\" || og.images instanceof URL\n ? [{ url: og.images }]\n : Array.isArray(og.images)\n ? og.images\n : [og.images];\n for (const img of imgList) {\n const imgUrl = typeof img === \"string\" || img instanceof URL ? img : img.url;\n elements.push(<meta key={key++} property=\"og:image\" content={resolveUrl(imgUrl)} />);\n if (typeof img !== \"string\" && !(img instanceof URL)) {\n if (img.width)\n elements.push(\n <meta key={key++} property=\"og:image:width\" content={String(img.width)} />,\n );\n if (img.height)\n elements.push(\n <meta key={key++} property=\"og:image:height\" content={String(img.height)} />,\n );\n if (img.alt)\n elements.push(<meta key={key++} property=\"og:image:alt\" content={img.alt} />);\n }\n }\n }\n if (og.videos) {\n for (const video of og.videos) {\n elements.push(<meta key={key++} property=\"og:video\" content={resolveUrl(video.url)} />);\n if (video.width)\n elements.push(\n <meta key={key++} property=\"og:video:width\" content={String(video.width)} />,\n );\n if (video.height)\n elements.push(\n <meta key={key++} property=\"og:video:height\" content={String(video.height)} />,\n );\n }\n }\n if (og.audio) {\n for (const audio of og.audio) {\n elements.push(<meta key={key++} property=\"og:audio\" content={resolveUrl(audio.url)} />);\n }\n }\n }\n\n // Twitter\n if (metadata.twitter) {\n const tw = metadata.twitter;\n if (tw.card) elements.push(<meta key={key++} name=\"twitter:card\" content={tw.card} />);\n if (tw.site) elements.push(<meta key={key++} name=\"twitter:site\" content={tw.site} />);\n if (tw.siteId) elements.push(<meta key={key++} name=\"twitter:site:id\" content={tw.siteId} />);\n if (tw.title) elements.push(<meta key={key++} name=\"twitter:title\" content={tw.title} />);\n if (tw.description)\n elements.push(<meta key={key++} name=\"twitter:description\" content={tw.description} />);\n if (tw.creator) elements.push(<meta key={key++} name=\"twitter:creator\" content={tw.creator} />);\n if (tw.creatorId)\n elements.push(<meta key={key++} name=\"twitter:creator:id\" content={tw.creatorId} />);\n if (tw.images) {\n const imgList =\n typeof tw.images === \"string\" || tw.images instanceof URL\n ? [tw.images]\n : Array.isArray(tw.images)\n ? tw.images\n : [tw.images];\n for (const img of imgList) {\n const imgUrl = typeof img === \"string\" || img instanceof URL ? img : img.url;\n elements.push(<meta key={key++} name=\"twitter:image\" content={resolveUrl(imgUrl)} />);\n if (typeof img !== \"string\" && !(img instanceof URL) && img.alt) {\n elements.push(<meta key={key++} name=\"twitter:image:alt\" content={img.alt} />);\n }\n }\n }\n // Twitter player cards\n if (tw.players) {\n const players = Array.isArray(tw.players) ? tw.players : [tw.players];\n for (const player of players) {\n const playerUrl = player.playerUrl.toString();\n const streamUrl = player.streamUrl.toString();\n elements.push(<meta key={key++} name=\"twitter:player\" content={resolveUrl(playerUrl)} />);\n elements.push(\n <meta key={key++} name=\"twitter:player:stream\" content={resolveUrl(streamUrl)} />,\n );\n elements.push(\n <meta key={key++} name=\"twitter:player:width\" content={String(player.width)} />,\n );\n elements.push(\n <meta key={key++} name=\"twitter:player:height\" content={String(player.height)} />,\n );\n }\n }\n // Twitter app cards\n if (tw.app) {\n const { app } = tw;\n for (const platform of [\"iphone\", \"ipad\", \"googleplay\"] as const) {\n if (app.name) {\n elements.push(\n <meta key={key++} name={`twitter:app:name:${platform}`} content={app.name} />,\n );\n }\n if (app.id[platform] !== undefined) {\n elements.push(\n <meta\n key={key++}\n name={`twitter:app:id:${platform}`}\n content={String(app.id[platform])}\n />,\n );\n }\n if (app.url?.[platform] !== undefined) {\n const appUrl = app.url[platform]!.toString();\n elements.push(\n <meta key={key++} name={`twitter:app:url:${platform}`} content={resolveUrl(appUrl)} />,\n );\n }\n }\n }\n }\n\n // Icons\n if (metadata.icons) {\n const { icon, shortcut, apple, other } = metadata.icons;\n // Shortcut icon\n if (shortcut) {\n const shortcuts = Array.isArray(shortcut) ? shortcut : [shortcut];\n for (const s of shortcuts) {\n elements.push(<link key={key++} rel=\"shortcut icon\" href={resolveUrl(s)} />);\n }\n }\n // Icon\n if (icon) {\n const icons = typeof icon === \"string\" || icon instanceof URL ? [{ url: icon }] : icon;\n for (const i of icons) {\n elements.push(\n <link\n key={key++}\n rel=\"icon\"\n href={resolveUrl(i.url)}\n {...(i.sizes ? { sizes: i.sizes } : {})}\n {...(i.type ? { type: i.type } : {})}\n {...(i.media ? { media: i.media } : {})}\n />,\n );\n }\n }\n // Apple touch icon\n if (apple) {\n const apples = typeof apple === \"string\" || apple instanceof URL ? [{ url: apple }] : apple;\n for (const a of apples) {\n elements.push(\n <link\n key={key++}\n rel=\"apple-touch-icon\"\n href={resolveUrl(a.url)}\n {...(a.sizes ? { sizes: a.sizes } : {})}\n {...(a.type ? { type: a.type } : {})}\n />,\n );\n }\n }\n // Other custom icon relations\n if (other) {\n for (const o of other) {\n elements.push(\n <link\n key={key++}\n rel={o.rel}\n href={resolveUrl(o.url)}\n {...(o.sizes ? { sizes: o.sizes } : {})}\n />,\n );\n }\n }\n }\n\n // Manifest\n if (metadata.manifest) {\n elements.push(<link key={key++} rel=\"manifest\" href={resolveUrl(metadata.manifest)} />);\n }\n\n // Alternates\n if (metadata.alternates) {\n const alt = metadata.alternates;\n if (alt.canonical) {\n elements.push(<link key={key++} rel=\"canonical\" href={resolveUrl(alt.canonical)} />);\n }\n if (alt.languages) {\n for (const [lang, href] of Object.entries(alt.languages)) {\n elements.push(<link key={key++} rel=\"alternate\" hrefLang={lang} href={resolveUrl(href)} />);\n }\n }\n if (alt.media) {\n for (const [media, href] of Object.entries(alt.media)) {\n elements.push(<link key={key++} rel=\"alternate\" media={media} href={resolveUrl(href)} />);\n }\n }\n if (alt.types) {\n for (const [type, href] of Object.entries(alt.types)) {\n elements.push(<link key={key++} rel=\"alternate\" type={type} href={resolveUrl(href)} />);\n }\n }\n }\n\n // Verification\n if (metadata.verification) {\n const v = metadata.verification;\n if (v.google)\n elements.push(<meta key={key++} name=\"google-site-verification\" content={v.google} />);\n if (v.yahoo) elements.push(<meta key={key++} name=\"y_key\" content={v.yahoo} />);\n if (v.yandex) elements.push(<meta key={key++} name=\"yandex-verification\" content={v.yandex} />);\n if (v.other) {\n for (const [name, content] of Object.entries(v.other)) {\n const values = Array.isArray(content) ? content : [content];\n for (const val of values) {\n elements.push(<meta key={key++} name={name} content={val} />);\n }\n }\n }\n }\n\n // Apple Web App\n if (metadata.appleWebApp) {\n const awa = metadata.appleWebApp;\n if (awa.capable !== false) {\n elements.push(<meta key={key++} name=\"mobile-web-app-capable\" content=\"yes\" />);\n }\n if (awa.title) {\n elements.push(<meta key={key++} name=\"apple-mobile-web-app-title\" content={awa.title} />);\n }\n if (awa.statusBarStyle) {\n elements.push(\n <meta\n key={key++}\n name=\"apple-mobile-web-app-status-bar-style\"\n content={awa.statusBarStyle}\n />,\n );\n }\n if (awa.startupImage) {\n const imgs =\n typeof awa.startupImage === \"string\" ? [{ url: awa.startupImage }] : awa.startupImage;\n for (const img of imgs) {\n elements.push(\n <link\n key={key++}\n rel=\"apple-touch-startup-image\"\n href={resolveUrl(img.url)}\n {...(img.media ? { media: img.media } : {})}\n />,\n );\n }\n }\n }\n\n // iTunes\n if (metadata.itunes) {\n const { appId, appArgument } = metadata.itunes;\n let content = `app-id=${appId}`;\n if (appArgument) {\n content += `, app-argument=${appArgument}`;\n }\n elements.push(<meta key={key++} name=\"apple-itunes-app\" content={content} />);\n }\n\n // App Links\n if (metadata.appLinks) {\n const al = metadata.appLinks;\n const platforms = [\n \"ios\",\n \"iphone\",\n \"ipad\",\n \"android\",\n \"windows_phone\",\n \"windows\",\n \"windows_universal\",\n \"web\",\n ] as const;\n for (const platform of platforms) {\n const entries = al[platform];\n if (!entries) continue;\n const list = Array.isArray(entries) ? entries : [entries];\n for (const entry of list) {\n for (const [k, v] of Object.entries(entry)) {\n if (v === undefined || v === null) continue;\n const str = String(v);\n const content = k === \"url\" ? resolveUrl(str) : str;\n elements.push(<meta key={key++} property={`al:${platform}:${k}`} content={content} />);\n }\n }\n }\n }\n\n // Other custom meta tags\n if (metadata.other) {\n for (const [name, content] of Object.entries(metadata.other)) {\n const values = Array.isArray(content) ? content : [content];\n for (const val of values) {\n elements.push(<meta key={key++} name={name} content={val} />);\n }\n }\n }\n\n return <>{elements}</>;\n}\n"],"mappings":";;;;;;;AAgBA,SAAS,mBAAsD,KAAwB;CACrF,MAAM,QAAQ,EAAE,GAAG,KAAK;AACxB,QAAO,OAAO,OAAO,QAAQ,QAAQ,MAAM,EAAE,MAAM;;;;;;AA0BrD,eAAsB,sBACpB,KACA,QAC0B;AAC1B,KAAI,OAAO,IAAI,qBAAqB,YAAY;EAC9C,MAAM,cAAc,mBAAmB,OAAO;AAC9C,SAAO,MAAM,IAAI,iBAAiB,EAAE,QAAQ,aAAa,CAAC;;AAE5D,KAAI,IAAI,YAAY,OAAO,IAAI,aAAa,SAC1C,QAAO,IAAI;AAEb,QAAO;;;;;;AAOT,MAAa,mBAA6B;CACxC,OAAO;CACP,cAAc;CACf;AAED,SAAgB,cAAc,cAAoC;CAChE,MAAM,SAAmB,EAAE,GAAG,kBAAkB;AAChD,MAAK,MAAM,MAAM,aACf,QAAO,OAAO,QAAQ,GAAG;AAE3B,QAAO;;;;;AAMT,SAAgB,aAAa,EAAE,YAAoC;CACjE,MAAM,WAAiC,EAAE;CACzC,IAAI,MAAM;CAGV,MAAM,QAAkB,EAAE;AAC1B,KAAI,SAAS,UAAU,KAAA,EAAW,OAAM,KAAK,SAAS,SAAS,QAAQ;AACvE,KAAI,SAAS,WAAW,KAAA,EAAW,OAAM,KAAK,UAAU,SAAS,SAAS;AAC1E,KAAI,SAAS,iBAAiB,KAAA,EAAW,OAAM,KAAK,iBAAiB,SAAS,eAAe;AAC7F,KAAI,SAAS,iBAAiB,KAAA,EAAW,OAAM,KAAK,iBAAiB,SAAS,eAAe;AAC7F,KAAI,SAAS,iBAAiB,KAAA,EAAW,OAAM,KAAK,iBAAiB,SAAS,eAAe;AAC7F,KAAI,SAAS,iBAAiB,KAAA,EAC5B,OAAM,KAAK,iBAAiB,SAAS,eAAe,QAAQ,OAAO;AAErE,KAAI,MAAM,SAAS,EACjB,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAW,SAAS,MAAM,KAAK,KAAK;EAAI,EAApD,MAAoD,CAAC;AAIhF,KAAI,SAAS;MACP,OAAO,SAAS,eAAe,SACjC,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAc,SAAS,SAAS;GAAc,EAA1D,MAA0D,CAAC;WAC3E,MAAM,QAAQ,SAAS,WAAW,CAC3C,MAAK,MAAM,SAAS,SAAS,WAC3B,UAAS,KACP,oBAAC,QAAD;GAEE,MAAK;GACL,SAAS,MAAM;GACf,GAAK,MAAM,QAAQ,EAAE,OAAO,MAAM,OAAO,GAAG,EAAE;GAC9C,EAJK,MAIL,CACH;;AAMP,KAAI,SAAS,YACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAe,SAAS,SAAS;EAAe,EAA5D,MAA4D,CAAC;AAGxF,QAAO,oBAAA,YAAA,EAAA,UAAG,UAAY,CAAA;;;;;;;;;;;;;AAwKxB,SAAgB,cAAc,cAAoC;AAChE,KAAI,aAAa,WAAW,EAAG,QAAO,EAAE;CAExC,MAAM,SAAmB,EAAE;CAI3B,IAAI;AAEJ,MAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;EAC5C,MAAM,OAAO,aAAa;AAI1B,MAAI,EAHW,MAAM,aAAa,SAAS,MAG5B,KAAK,SAAS,OAAO,KAAK,UAAU,YAAY,KAAK,MAAM,SACxE,kBAAiB,KAAK,MAAM;AAI9B,OAAK,MAAM,OAAO,OAAO,KAAK,KAAK,EAAE;AACnC,OAAI,QAAQ,QAAS;AACpB,UAAmC,OAAQ,KAAiC;;AAI/E,MAAI,KAAK,UAAU,KAAA,EACjB,QAAO,QAAQ,KAAK;;CAKxB,MAAM,aAAa,OAAO;AAC1B,KAAI;MACE,OAAO,eAAe;OAEpB,eACF,QAAO,QAAQ,eAAe,QAAQ,MAAM,WAAW;aAEhD,OAAO,eAAe;OAC3B,WAAW,SAEb,QAAO,QAAQ,WAAW;YACjB,WAAW,QAGpB,QAAO,QAAQ,WAAW;YACjB,WAAW,YAAY,CAAC,WAAW,WAAW,CAAC,WAAW,SAEnE,QAAO,QAAQ,KAAA;;;AAKrB,QAAO;;;;;;;;;;;;AAaT,eAAsB,sBACpB,KACA,SAA4C,EAAE,EAC9C,cACA,SAA4B,QAAQ,QAAQ,EAAE,CAAC,EACrB;AAC1B,KAAI,OAAO,IAAI,qBAAqB,YAAY;EAG9C,MAAM,cAAc,mBAAmB,OAAO;EAE9C,MAAM,UAAU,mBADL,gBAAgB,EAAE,CACS;AACtC,SAAO,MAAM,IAAI,iBAAiB;GAAE,QAAQ;GAAa,cAAc;GAAS,EAAE,OAAO;;AAE3F,KAAI,IAAI,YAAY,OAAO,IAAI,aAAa,SAC1C,QAAO,IAAI;AAEb,QAAO;;;;;;AAOT,SAAgB,aAAa,EAAE,YAAoC;CACjE,MAAM,WAAiC,EAAE;CACzC,IAAI,MAAM;CAGV,MAAM,OAAO,SAAS;CAGtB,SAAS,WAAW,KAAmD;AACrE,MAAI,CAAC,IAAK,QAAO,KAAA;EAEjB,MAAM,IAAI,OAAO,QAAQ,WAAW,MAAM,eAAe,MAAM,IAAI,UAAU,GAAG,OAAO,IAAI;AAC3F,MAAI,CAAC,KAAM,QAAO;AAClB,MAAI,EAAE,WAAW,UAAU,IAAI,EAAE,WAAW,WAAW,IAAI,EAAE,WAAW,KAAK,CAAE,QAAO;AACtF,MAAI;AACF,UAAO,IAAI,IAAI,GAAG,KAAK,CAAC,UAAU;UAC5B;AACN,UAAO;;;CAKX,MAAM,QACJ,OAAO,SAAS,UAAU,WACtB,SAAS,QACT,OAAO,SAAS,UAAU,WACxB,SAAS,MAAM,YAAY,SAAS,MAAM,UAC1C,KAAA;AACR,KAAI,MACF,UAAS,KAAK,oBAAC,SAAD,EAAA,UAAoB,OAAc,EAAtB,MAAsB,CAAC;AAInD,KAAI,SAAS,YACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAc,SAAS,SAAS;EAAe,EAA3D,MAA2D,CAAC;AAIvF,KAAI,SAAS,UACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAY,SAAS,SAAS;EAAa,EAAvD,MAAuD,CAAC;AAInF,KAAI,SAAS,gBACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAmB,SAAS,SAAS;EAAmB,EAApE,MAAoE,CAAC;AAIhG,KAAI,SAAS,SACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAW,SAAS,SAAS;EAAY,EAArD,MAAqD,CAAC;AAIjF,KAAI,SAAS,UAAU;EACrB,MAAM,KAAK,MAAM,QAAQ,SAAS,SAAS,GAAG,SAAS,SAAS,KAAK,IAAI,GAAG,SAAS;AACrF,WAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAW,SAAS;GAAM,EAAtC,MAAsC,CAAC;;AAIlE,KAAI,SAAS,SAAS;EACpB,MAAM,aAAa,MAAM,QAAQ,SAAS,QAAQ,GAAG,SAAS,UAAU,CAAC,SAAS,QAAQ;AAC1F,OAAK,MAAM,UAAU,YAAY;AAC/B,OAAI,OAAO,KACT,UAAS,KAAK,oBAAC,QAAD;IAAkB,MAAK;IAAS,SAAS,OAAO;IAAQ,EAA7C,MAA6C,CAAC;AAEzE,OAAI,OAAO,IACT,UAAS,KAAK,oBAAC,QAAD;IAAkB,KAAI;IAAS,MAAM,OAAO;IAAO,EAAxC,MAAwC,CAAC;;;AAMxE,KAAI,SAAS,QACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAU,SAAS,SAAS;EAAW,EAAnD,MAAmD,CAAC;AAI/E,KAAI,SAAS,UACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAY,SAAS,SAAS;EAAa,EAAvD,MAAuD,CAAC;AAInF,KAAI,SAAS,iBAAiB;EAC5B,MAAM,QAAkB,EAAE;AAC1B,MAAI,SAAS,gBAAgB,cAAc,MAAO,OAAM,KAAK,eAAe;AAC5E,MAAI,SAAS,gBAAgB,YAAY,MAAO,OAAM,KAAK,aAAa;AACxE,MAAI,SAAS,gBAAgB,UAAU,MAAO,OAAM,KAAK,WAAW;AACpE,MAAI,MAAM,SAAS,EACjB,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAmB,SAAS,MAAM,KAAK,KAAK;GAAI,EAA5D,MAA4D,CAAC;;AAK1F,KAAI,SAAS,SACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAW,SAAS,SAAS;EAAY,EAArD,MAAqD,CAAC;AAIjF,KAAI,SAAS,OACX,KAAI,OAAO,SAAS,WAAW,SAC7B,UAAS,KAAK,oBAAC,QAAD;EAAkB,MAAK;EAAS,SAAS,SAAS;EAAU,EAAjD,MAAiD,CAAC;MACtE;EACL,MAAM,EAAE,WAAW,GAAG,eAAe,SAAS;EAC9C,MAAM,aAAuB,EAAE;AAC/B,OAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,WAAW,CAC7C,KAAI,MAAM,KAAM,YAAW,KAAK,EAAE;WACzB,MAAM,MAAO,YAAW,KAAK,KAAK,IAAI;WACtC,OAAO,MAAM,YAAY,OAAO,MAAM,SAAU,YAAW,KAAK,GAAG,EAAE,GAAG,IAAI;AAEvF,MAAI,WAAW,SAAS,EACtB,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAS,SAAS,WAAW,KAAK,KAAK;GAAI,EAAvD,MAAuD,CAAC;AAGnF,MAAI,UACF,KAAI,OAAO,cAAc,SACvB,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAY,SAAS;GAAa,EAA9C,MAA8C,CAAC;OACnE;GACL,MAAM,UAAoB,EAAE;AAC5B,QAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,UAAU,CAC5C,KAAI,MAAM,KAAM,SAAQ,KAAK,EAAE;YACtB,MAAM,MAAO,SAAQ,KAAK,KAAK,IAAI;YACnC,OAAO,MAAM,YAAY,OAAO,MAAM,SAAU,SAAQ,KAAK,GAAG,EAAE,GAAG,IAAI;AAEpF,OAAI,QAAQ,SAAS,EACnB,UAAS,KAAK,oBAAC,QAAD;IAAkB,MAAK;IAAY,SAAS,QAAQ,KAAK,KAAK;IAAI,EAAvD,MAAuD,CAAC;;;AAQ3F,KAAI,SAAS,WAAW;EACtB,MAAM,KAAK,SAAS;AACpB,MAAI,GAAG,MAAO,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAW,SAAS,GAAG;GAAS,EAAhD,MAAgD,CAAC;AACxF,MAAI,GAAG,YACL,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAiB,SAAS,GAAG;GAAe,EAA5D,MAA4D,CAAC;AACxF,MAAI,GAAG,IAAK,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAS,SAAS,WAAW,GAAG,IAAI;GAAI,EAAxD,MAAwD,CAAC;AAC9F,MAAI,GAAG,SACL,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAe,SAAS,GAAG;GAAY,EAAvD,MAAuD,CAAC;AACnF,MAAI,GAAG,KAAM,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAU,SAAS,GAAG;GAAQ,EAA9C,MAA8C,CAAC;AACrF,MAAI,GAAG,OAAQ,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAY,SAAS,GAAG;GAAU,EAAlD,MAAkD,CAAC;AAC3F,MAAI,GAAG,cACL,UAAS,KACP,oBAAC,QAAD;GAAkB,UAAS;GAAyB,SAAS,GAAG;GAAiB,EAAtE,MAAsE,CAClF;AACH,MAAI,GAAG,aACL,UAAS,KACP,oBAAC,QAAD;GAAkB,UAAS;GAAwB,SAAS,GAAG;GAAgB,EAApE,MAAoE,CAChF;AACH,MAAI,GAAG,QACL,MAAK,MAAM,UAAU,GAAG,QACtB,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAiB,SAAS;GAAU,EAApD,MAAoD,CAAC;AAGlF,MAAI,GAAG,QAAQ;GACb,MAAM,UACJ,OAAO,GAAG,WAAW,YAAY,GAAG,kBAAkB,MAClD,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GACpB,MAAM,QAAQ,GAAG,OAAO,GACtB,GAAG,SACH,CAAC,GAAG,OAAO;AACnB,QAAK,MAAM,OAAO,SAAS;IACzB,MAAM,SAAS,OAAO,QAAQ,YAAY,eAAe,MAAM,MAAM,IAAI;AACzE,aAAS,KAAK,oBAAC,QAAD;KAAkB,UAAS;KAAW,SAAS,WAAW,OAAO;KAAI,EAA1D,MAA0D,CAAC;AACpF,QAAI,OAAO,QAAQ,YAAY,EAAE,eAAe,MAAM;AACpD,SAAI,IAAI,MACN,UAAS,KACP,oBAAC,QAAD;MAAkB,UAAS;MAAiB,SAAS,OAAO,IAAI,MAAM;MAAI,EAA/D,MAA+D,CAC3E;AACH,SAAI,IAAI,OACN,UAAS,KACP,oBAAC,QAAD;MAAkB,UAAS;MAAkB,SAAS,OAAO,IAAI,OAAO;MAAI,EAAjE,MAAiE,CAC7E;AACH,SAAI,IAAI,IACN,UAAS,KAAK,oBAAC,QAAD;MAAkB,UAAS;MAAe,SAAS,IAAI;MAAO,EAAnD,MAAmD,CAAC;;;;AAIrF,MAAI,GAAG,OACL,MAAK,MAAM,SAAS,GAAG,QAAQ;AAC7B,YAAS,KAAK,oBAAC,QAAD;IAAkB,UAAS;IAAW,SAAS,WAAW,MAAM,IAAI;IAAI,EAA7D,MAA6D,CAAC;AACvF,OAAI,MAAM,MACR,UAAS,KACP,oBAAC,QAAD;IAAkB,UAAS;IAAiB,SAAS,OAAO,MAAM,MAAM;IAAI,EAAjE,MAAiE,CAC7E;AACH,OAAI,MAAM,OACR,UAAS,KACP,oBAAC,QAAD;IAAkB,UAAS;IAAkB,SAAS,OAAO,MAAM,OAAO;IAAI,EAAnE,MAAmE,CAC/E;;AAGP,MAAI,GAAG,MACL,MAAK,MAAM,SAAS,GAAG,MACrB,UAAS,KAAK,oBAAC,QAAD;GAAkB,UAAS;GAAW,SAAS,WAAW,MAAM,IAAI;GAAI,EAA7D,MAA6D,CAAC;;AAM7F,KAAI,SAAS,SAAS;EACpB,MAAM,KAAK,SAAS;AACpB,MAAI,GAAG,KAAM,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAe,SAAS,GAAG;GAAQ,EAA/C,MAA+C,CAAC;AACtF,MAAI,GAAG,KAAM,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAe,SAAS,GAAG;GAAQ,EAA/C,MAA+C,CAAC;AACtF,MAAI,GAAG,OAAQ,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAkB,SAAS,GAAG;GAAU,EAApD,MAAoD,CAAC;AAC7F,MAAI,GAAG,MAAO,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAgB,SAAS,GAAG;GAAS,EAAjD,MAAiD,CAAC;AACzF,MAAI,GAAG,YACL,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAsB,SAAS,GAAG;GAAe,EAA7D,MAA6D,CAAC;AACzF,MAAI,GAAG,QAAS,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAkB,SAAS,GAAG;GAAW,EAArD,MAAqD,CAAC;AAC/F,MAAI,GAAG,UACL,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAqB,SAAS,GAAG;GAAa,EAA1D,MAA0D,CAAC;AACtF,MAAI,GAAG,QAAQ;GACb,MAAM,UACJ,OAAO,GAAG,WAAW,YAAY,GAAG,kBAAkB,MAClD,CAAC,GAAG,OAAO,GACX,MAAM,QAAQ,GAAG,OAAO,GACtB,GAAG,SACH,CAAC,GAAG,OAAO;AACnB,QAAK,MAAM,OAAO,SAAS;IACzB,MAAM,SAAS,OAAO,QAAQ,YAAY,eAAe,MAAM,MAAM,IAAI;AACzE,aAAS,KAAK,oBAAC,QAAD;KAAkB,MAAK;KAAgB,SAAS,WAAW,OAAO;KAAI,EAA3D,MAA2D,CAAC;AACrF,QAAI,OAAO,QAAQ,YAAY,EAAE,eAAe,QAAQ,IAAI,IAC1D,UAAS,KAAK,oBAAC,QAAD;KAAkB,MAAK;KAAoB,SAAS,IAAI;KAAO,EAApD,MAAoD,CAAC;;;AAKpF,MAAI,GAAG,SAAS;GACd,MAAM,UAAU,MAAM,QAAQ,GAAG,QAAQ,GAAG,GAAG,UAAU,CAAC,GAAG,QAAQ;AACrE,QAAK,MAAM,UAAU,SAAS;IAC5B,MAAM,YAAY,OAAO,UAAU,UAAU;IAC7C,MAAM,YAAY,OAAO,UAAU,UAAU;AAC7C,aAAS,KAAK,oBAAC,QAAD;KAAkB,MAAK;KAAiB,SAAS,WAAW,UAAU;KAAI,EAA/D,MAA+D,CAAC;AACzF,aAAS,KACP,oBAAC,QAAD;KAAkB,MAAK;KAAwB,SAAS,WAAW,UAAU;KAAI,EAAtE,MAAsE,CAClF;AACD,aAAS,KACP,oBAAC,QAAD;KAAkB,MAAK;KAAuB,SAAS,OAAO,OAAO,MAAM;KAAI,EAApE,MAAoE,CAChF;AACD,aAAS,KACP,oBAAC,QAAD;KAAkB,MAAK;KAAwB,SAAS,OAAO,OAAO,OAAO;KAAI,EAAtE,MAAsE,CAClF;;;AAIL,MAAI,GAAG,KAAK;GACV,MAAM,EAAE,QAAQ;AAChB,QAAK,MAAM,YAAY;IAAC;IAAU;IAAQ;IAAa,EAAW;AAChE,QAAI,IAAI,KACN,UAAS,KACP,oBAAC,QAAD;KAAkB,MAAM,oBAAoB;KAAY,SAAS,IAAI;KAAQ,EAAlE,MAAkE,CAC9E;AAEH,QAAI,IAAI,GAAG,cAAc,KAAA,EACvB,UAAS,KACP,oBAAC,QAAD;KAEE,MAAM,kBAAkB;KACxB,SAAS,OAAO,IAAI,GAAG,UAAU;KACjC,EAHK,MAGL,CACH;AAEH,QAAI,IAAI,MAAM,cAAc,KAAA,GAAW;KACrC,MAAM,SAAS,IAAI,IAAI,UAAW,UAAU;AAC5C,cAAS,KACP,oBAAC,QAAD;MAAkB,MAAM,mBAAmB;MAAY,SAAS,WAAW,OAAO;MAAI,EAA3E,MAA2E,CACvF;;;;;AAOT,KAAI,SAAS,OAAO;EAClB,MAAM,EAAE,MAAM,UAAU,OAAO,UAAU,SAAS;AAElD,MAAI,UAAU;GACZ,MAAM,YAAY,MAAM,QAAQ,SAAS,GAAG,WAAW,CAAC,SAAS;AACjE,QAAK,MAAM,KAAK,UACd,UAAS,KAAK,oBAAC,QAAD;IAAkB,KAAI;IAAgB,MAAM,WAAW,EAAE;IAAI,EAAlD,MAAkD,CAAC;;AAIhF,MAAI,MAAM;GACR,MAAM,QAAQ,OAAO,SAAS,YAAY,gBAAgB,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,GAAG;AAClF,QAAK,MAAM,KAAK,MACd,UAAS,KACP,oBAAC,QAAD;IAEE,KAAI;IACJ,MAAM,WAAW,EAAE,IAAI;IACvB,GAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE;IACtC,GAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE;IACnC,GAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE;IACtC,EANK,MAML,CACH;;AAIL,MAAI,OAAO;GACT,MAAM,SAAS,OAAO,UAAU,YAAY,iBAAiB,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,GAAG;AACtF,QAAK,MAAM,KAAK,OACd,UAAS,KACP,oBAAC,QAAD;IAEE,KAAI;IACJ,MAAM,WAAW,EAAE,IAAI;IACvB,GAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE;IACtC,GAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE;IACnC,EALK,MAKL,CACH;;AAIL,MAAI,MACF,MAAK,MAAM,KAAK,MACd,UAAS,KACP,oBAAC,QAAD;GAEE,KAAK,EAAE;GACP,MAAM,WAAW,EAAE,IAAI;GACvB,GAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE;GACtC,EAJK,MAIL,CACH;;AAMP,KAAI,SAAS,SACX,UAAS,KAAK,oBAAC,QAAD;EAAkB,KAAI;EAAW,MAAM,WAAW,SAAS,SAAS;EAAI,EAA7D,MAA6D,CAAC;AAIzF,KAAI,SAAS,YAAY;EACvB,MAAM,MAAM,SAAS;AACrB,MAAI,IAAI,UACN,UAAS,KAAK,oBAAC,QAAD;GAAkB,KAAI;GAAY,MAAM,WAAW,IAAI,UAAU;GAAI,EAA1D,MAA0D,CAAC;AAEtF,MAAI,IAAI,UACN,MAAK,MAAM,CAAC,MAAM,SAAS,OAAO,QAAQ,IAAI,UAAU,CACtD,UAAS,KAAK,oBAAC,QAAD;GAAkB,KAAI;GAAY,UAAU;GAAM,MAAM,WAAW,KAAK;GAAI,EAAjE,MAAiE,CAAC;AAG/F,MAAI,IAAI,MACN,MAAK,MAAM,CAAC,OAAO,SAAS,OAAO,QAAQ,IAAI,MAAM,CACnD,UAAS,KAAK,oBAAC,QAAD;GAAkB,KAAI;GAAmB;GAAO,MAAM,WAAW,KAAK;GAAI,EAA/D,MAA+D,CAAC;AAG7F,MAAI,IAAI,MACN,MAAK,MAAM,CAAC,MAAM,SAAS,OAAO,QAAQ,IAAI,MAAM,CAClD,UAAS,KAAK,oBAAC,QAAD;GAAkB,KAAI;GAAkB;GAAM,MAAM,WAAW,KAAK;GAAI,EAA7D,MAA6D,CAAC;;AAM7F,KAAI,SAAS,cAAc;EACzB,MAAM,IAAI,SAAS;AACnB,MAAI,EAAE,OACJ,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAA2B,SAAS,EAAE;GAAU,EAA5D,MAA4D,CAAC;AACxF,MAAI,EAAE,MAAO,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAQ,SAAS,EAAE;GAAS,EAAxC,MAAwC,CAAC;AAC/E,MAAI,EAAE,OAAQ,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAsB,SAAS,EAAE;GAAU,EAAvD,MAAuD,CAAC;AAC/F,MAAI,EAAE,MACJ,MAAK,MAAM,CAAC,MAAM,YAAY,OAAO,QAAQ,EAAE,MAAM,EAAE;GACrD,MAAM,SAAS,MAAM,QAAQ,QAAQ,GAAG,UAAU,CAAC,QAAQ;AAC3D,QAAK,MAAM,OAAO,OAChB,UAAS,KAAK,oBAAC,QAAD;IAAwB;IAAM,SAAS;IAAO,EAAnC,MAAmC,CAAC;;;AAOrE,KAAI,SAAS,aAAa;EACxB,MAAM,MAAM,SAAS;AACrB,MAAI,IAAI,YAAY,MAClB,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAAyB,SAAQ;GAAQ,EAArD,MAAqD,CAAC;AAEjF,MAAI,IAAI,MACN,UAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAA6B,SAAS,IAAI;GAAS,EAA/D,MAA+D,CAAC;AAE3F,MAAI,IAAI,eACN,UAAS,KACP,oBAAC,QAAD;GAEE,MAAK;GACL,SAAS,IAAI;GACb,EAHK,MAGL,CACH;AAEH,MAAI,IAAI,cAAc;GACpB,MAAM,OACJ,OAAO,IAAI,iBAAiB,WAAW,CAAC,EAAE,KAAK,IAAI,cAAc,CAAC,GAAG,IAAI;AAC3E,QAAK,MAAM,OAAO,KAChB,UAAS,KACP,oBAAC,QAAD;IAEE,KAAI;IACJ,MAAM,WAAW,IAAI,IAAI;IACzB,GAAK,IAAI,QAAQ,EAAE,OAAO,IAAI,OAAO,GAAG,EAAE;IAC1C,EAJK,MAIL,CACH;;;AAMP,KAAI,SAAS,QAAQ;EACnB,MAAM,EAAE,OAAO,gBAAgB,SAAS;EACxC,IAAI,UAAU,UAAU;AACxB,MAAI,YACF,YAAW,kBAAkB;AAE/B,WAAS,KAAK,oBAAC,QAAD;GAAkB,MAAK;GAA4B;GAAW,EAAnD,MAAmD,CAAC;;AAI/E,KAAI,SAAS,UAAU;EACrB,MAAM,KAAK,SAAS;AAWpB,OAAK,MAAM,YAVO;GAChB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,EACiC;GAChC,MAAM,UAAU,GAAG;AACnB,OAAI,CAAC,QAAS;GACd,MAAM,OAAO,MAAM,QAAQ,QAAQ,GAAG,UAAU,CAAC,QAAQ;AACzD,QAAK,MAAM,SAAS,KAClB,MAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,MAAM,EAAE;AAC1C,QAAI,MAAM,KAAA,KAAa,MAAM,KAAM;IACnC,MAAM,MAAM,OAAO,EAAE;IACrB,MAAM,UAAU,MAAM,QAAQ,WAAW,IAAI,GAAG;AAChD,aAAS,KAAK,oBAAC,QAAD;KAAkB,UAAU,MAAM,SAAS,GAAG;KAAc;KAAW,EAA5D,MAA4D,CAAC;;;;AAO9F,KAAI,SAAS,MACX,MAAK,MAAM,CAAC,MAAM,YAAY,OAAO,QAAQ,SAAS,MAAM,EAAE;EAC5D,MAAM,SAAS,MAAM,QAAQ,QAAQ,GAAG,UAAU,CAAC,QAAQ;AAC3D,OAAK,MAAM,OAAO,OAChB,UAAS,KAAK,oBAAC,QAAD;GAAwB;GAAM,SAAS;GAAO,EAAnC,MAAmC,CAAC;;AAKnE,QAAO,oBAAA,YAAA,EAAA,UAAG,UAAY,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { PrivateCacheState } from "./cache-runtime.js";
|
|
2
2
|
import { ExecutionContextLike } from "./request-context.js";
|
|
3
3
|
import { CacheLifeConfig, CacheState } from "./cache.js";
|
|
4
|
+
import { HeadersAccessPhase, HeadersContext, VinextHeadersShimState } from "./headers.js";
|
|
5
|
+
import { NavigationContext } from "./navigation.js";
|
|
4
6
|
import { RouterState, SSRContext } from "./router-state.js";
|
|
5
7
|
import { FetchCacheState } from "./fetch-cache.js";
|
|
6
8
|
import { HeadState } from "./head-state.js";
|
|
7
|
-
import { HeadersAccessPhase, HeadersContext, VinextHeadersShimState } from "./headers.js";
|
|
8
9
|
import { I18nState } from "./i18n-state.js";
|
|
9
|
-
import { NavigationContext } from "./navigation.js";
|
|
10
10
|
import { NavigationState } from "./navigation-state.js";
|
|
11
11
|
export { type CacheLifeConfig, type CacheState, type ExecutionContextLike, type FetchCacheState, type HeadState, type HeadersAccessPhase, type HeadersContext, type I18nState, type NavigationContext, type NavigationState, type PrivateCacheState, type RouterState, type SSRContext, type VinextHeadersShimState };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { PrivateCacheState } from "./cache-runtime.js";
|
|
2
2
|
import { ExecutionContextLike } from "./request-context.js";
|
|
3
3
|
import { CacheState } from "./cache.js";
|
|
4
|
+
import { VinextHeadersShimState } from "./headers.js";
|
|
4
5
|
import { RouterState } from "./router-state.js";
|
|
5
6
|
import { FetchCacheState } from "./fetch-cache.js";
|
|
6
7
|
import { HeadState } from "./head-state.js";
|
|
7
|
-
import { VinextHeadersShimState } from "./headers.js";
|
|
8
8
|
import { I18nState } from "./i18n-state.js";
|
|
9
9
|
import { NavigationState } from "./navigation-state.js";
|
|
10
10
|
//#region src/shims/unified-request-context.d.ts
|