-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google Fonts Developer SDK.
--   
--   Accesses the metadata for all families served by Google Fonts,
--   providing a list of families currently available (including available
--   styles and a list of supported script subsets).
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v1</tt> of the API.
@package gogol-fonts
@version 0.3.0


module Network.Google.Fonts.Types

-- | Default request referring to version <tt>v1</tt> of the Google Fonts
--   Developer API. This contains the host and root path used as a starting
--   point for constructing service requests.
fontsService :: ServiceConfig
data Webfont

-- | Creates a value of <a>Webfont</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>wVariants</a></li>
--   <li><a>wKind</a></li>
--   <li><a>wCategory</a></li>
--   <li><a>wFamily</a></li>
--   <li><a>wVersion</a></li>
--   <li><a>wFiles</a></li>
--   <li><a>wSubSets</a></li>
--   <li><a>wLastModified</a></li>
--   </ul>
webfont :: Webfont

-- | The available variants for the font.
wVariants :: Lens' Webfont [Text]

-- | This kind represents a webfont object in the webfonts service.
wKind :: Lens' Webfont Text

-- | The category of the font.
wCategory :: Lens' Webfont (Maybe Text)

-- | The name of the font.
wFamily :: Lens' Webfont (Maybe Text)

-- | The font version.
wVersion :: Lens' Webfont (Maybe Text)

-- | The font files (with all supported scripts) for each one of the
--   available variants, as a key : value map.
wFiles :: Lens' Webfont (Maybe WebfontFiles)

-- | The scripts supported by the font.
wSubSets :: Lens' Webfont [Text]

-- | The date (format "yyyy-MM-dd") the font was modified for the last
--   time.
wLastModified :: Lens' Webfont (Maybe Day)
data WebfontList

-- | Creates a value of <a>WebfontList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>wlKind</a></li>
--   <li><a>wlItems</a></li>
--   </ul>
webfontList :: WebfontList

-- | This kind represents a list of webfont objects in the webfonts
--   service.
wlKind :: Lens' WebfontList Text

-- | The list of fonts currently served by the Google Fonts API.
wlItems :: Lens' WebfontList [Webfont]

-- | Enables sorting of the list
data WebfontsListSort

-- | <tt>alpha</tt> Sort alphabetically
Alpha :: WebfontsListSort

-- | <tt>date</tt> Sort by date added
Date :: WebfontsListSort

-- | <tt>popularity</tt> Sort by popularity
Popularity :: WebfontsListSort

-- | <tt>style</tt> Sort by number of styles
Style :: WebfontsListSort

-- | <tt>trending</tt> Sort by trending
Trending :: WebfontsListSort

-- | The font files (with all supported scripts) for each one of the
--   available variants, as a key : value map.
--   
--   <i>See:</i> <a>webfontFiles</a> smart constructor.
data WebfontFiles

-- | Creates a value of <a>WebfontFiles</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>wfAddtional</a></li>
--   </ul>
webfontFiles :: HashMap Text Text -> WebfontFiles

-- | The font file URL (value) for an specific variant (key).
wfAddtional :: Lens' WebfontFiles (HashMap Text Text)


-- | Retrieves the list of fonts currently served by the Google Fonts
--   Developer API
--   
--   <i>See:</i> <a>Google Fonts Developer API Reference</a> for
--   <tt>webfonts.webfonts.list</tt>.
module Network.Google.Resource.Webfonts.Webfonts.List

-- | A resource alias for <tt>webfonts.webfonts.list</tt> method which the
--   <a>WebfontsList</a> request conforms to.
type WebfontsListResource = "webfonts" :> ("v1" :> ("webfonts" :> (QueryParam "sort" WebfontsListSort :> (QueryParam "alt" AltJSON :> Get '[JSON] WebfontList))))

-- | Creates a value of <a>WebfontsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>wlSort</a></li>
--   </ul>
webfontsList :: WebfontsList

-- | Retrieves the list of fonts currently served by the Google Fonts
--   Developer API
--   
--   <i>See:</i> <a>webfontsList</a> smart constructor.
data WebfontsList

-- | Enables sorting of the list
wlSort :: Lens' WebfontsList (Maybe WebfontsListSort)
instance GHC.Generics.Generic Network.Google.Resource.Webfonts.Webfonts.List.WebfontsList
instance Data.Data.Data Network.Google.Resource.Webfonts.Webfonts.List.WebfontsList
instance GHC.Show.Show Network.Google.Resource.Webfonts.Webfonts.List.WebfontsList
instance GHC.Classes.Eq Network.Google.Resource.Webfonts.Webfonts.List.WebfontsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Webfonts.Webfonts.List.WebfontsList


-- | Accesses the metadata for all families served by Google Fonts,
--   providing a list of families currently available (including available
--   styles and a list of supported script subsets).
--   
--   <i>See:</i> <a>Google Fonts Developer API Reference</a>
module Network.Google.Fonts

-- | Default request referring to version <tt>v1</tt> of the Google Fonts
--   Developer API. This contains the host and root path used as a starting
--   point for constructing service requests.
fontsService :: ServiceConfig

-- | Represents the entirety of the methods and resources available for the
--   Google Fonts Developer API service.
type FontsAPI = WebfontsListResource
data Webfont

-- | Creates a value of <a>Webfont</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>wVariants</a></li>
--   <li><a>wKind</a></li>
--   <li><a>wCategory</a></li>
--   <li><a>wFamily</a></li>
--   <li><a>wVersion</a></li>
--   <li><a>wFiles</a></li>
--   <li><a>wSubSets</a></li>
--   <li><a>wLastModified</a></li>
--   </ul>
webfont :: Webfont

-- | The available variants for the font.
wVariants :: Lens' Webfont [Text]

-- | This kind represents a webfont object in the webfonts service.
wKind :: Lens' Webfont Text

-- | The category of the font.
wCategory :: Lens' Webfont (Maybe Text)

-- | The name of the font.
wFamily :: Lens' Webfont (Maybe Text)

-- | The font version.
wVersion :: Lens' Webfont (Maybe Text)

-- | The font files (with all supported scripts) for each one of the
--   available variants, as a key : value map.
wFiles :: Lens' Webfont (Maybe WebfontFiles)

-- | The scripts supported by the font.
wSubSets :: Lens' Webfont [Text]

-- | The date (format "yyyy-MM-dd") the font was modified for the last
--   time.
wLastModified :: Lens' Webfont (Maybe Day)
data WebfontList

-- | Creates a value of <a>WebfontList</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>wlKind</a></li>
--   <li><a>wlItems</a></li>
--   </ul>
webfontList :: WebfontList

-- | This kind represents a list of webfont objects in the webfonts
--   service.
wlKind :: Lens' WebfontList Text

-- | The list of fonts currently served by the Google Fonts API.
wlItems :: Lens' WebfontList [Webfont]

-- | Enables sorting of the list
data WebfontsListSort

-- | <tt>alpha</tt> Sort alphabetically
Alpha :: WebfontsListSort

-- | <tt>date</tt> Sort by date added
Date :: WebfontsListSort

-- | <tt>popularity</tt> Sort by popularity
Popularity :: WebfontsListSort

-- | <tt>style</tt> Sort by number of styles
Style :: WebfontsListSort

-- | <tt>trending</tt> Sort by trending
Trending :: WebfontsListSort

-- | The font files (with all supported scripts) for each one of the
--   available variants, as a key : value map.
--   
--   <i>See:</i> <a>webfontFiles</a> smart constructor.
data WebfontFiles

-- | Creates a value of <a>WebfontFiles</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>wfAddtional</a></li>
--   </ul>
webfontFiles :: HashMap Text Text -> WebfontFiles

-- | The font file URL (value) for an specific variant (key).
wfAddtional :: Lens' WebfontFiles (HashMap Text Text)
