gogol-docs (empty) → 0.5.0
raw patch · 12 files changed
+15639/−0 lines, 12 filesdep +basedep +gogol-coresetup-changed
Dependencies added: base, gogol-core
Files
- LICENSE +367/−0
- README.md +28/−0
- Setup.hs +2/−0
- gen/Network/Google/Docs.hs +1240/−0
- gen/Network/Google/Docs/Types.hs +1238/−0
- gen/Network/Google/Docs/Types/Product.hs +11043/−0
- gen/Network/Google/Docs/Types/Sum.hs +1157/−0
- gen/Network/Google/Resource/Docs/Documents/BatchUpdate.hs +194/−0
- gen/Network/Google/Resource/Docs/Documents/Create.hs +155/−0
- gen/Network/Google/Resource/Docs/Documents/Get.hs +167/−0
- gogol-docs.cabal +48/−0
- src/.gitkeep +0/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,28 @@+# gogol-docs++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`0.5.0`+++## Description++A client library for the Google Docs.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/gogol/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `gogol-gen` for more information.+++## Licence++`gogol-docs` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ gen/Network/Google/Docs.hs view
@@ -0,0 +1,1240 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- |+-- Module : Network.Google.Docs+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Reads and writes Google Docs documents.+--+-- /See:/ <https://developers.google.com/docs/ Google Docs API Reference>+module Network.Google.Docs+ (+ -- * Service Configuration+ docsService++ -- * OAuth Scopes+ , driveReadOnlyScope+ , driveScope+ , driveFileScope+ , documentsScope+ , documentsReadOnlyScope++ -- * API Declaration+ , DocsAPI++ -- * Resources++ -- ** docs.documents.batchUpdate+ , module Network.Google.Resource.Docs.Documents.BatchUpdate++ -- ** docs.documents.create+ , module Network.Google.Resource.Docs.Documents.Create++ -- ** docs.documents.get+ , module Network.Google.Resource.Docs.Documents.Get++ -- * Types++ -- ** TableCellStyleSuggestionState+ , TableCellStyleSuggestionState+ , tableCellStyleSuggestionState+ , tcsssPaddingLeftSuggested+ , tcsssPaddingTopSuggested+ , tcsssBOrderTopSuggested+ , tcsssRowSpanSuggested+ , tcsssPaddingBottomSuggested+ , tcsssBOrderBottomSuggested+ , tcsssPaddingRightSuggested+ , tcsssColumnSpanSuggested+ , tcsssBOrderLeftSuggested+ , tcsssContentAlignmentSuggested+ , tcsssBackgRoundColorSuggested+ , tcsssBOrderRightSuggested++ -- ** EmbeddedObjectBOrderSuggestionState+ , EmbeddedObjectBOrderSuggestionState+ , embeddedObjectBOrderSuggestionState+ , eobossDashStyleSuggested+ , eobossPropertyStateSuggested+ , eobossColorSuggested+ , eobossWidthSuggested++ -- ** TableCellBOrder+ , TableCellBOrder+ , tableCellBOrder+ , tcboColor+ , tcboWidth+ , tcboDashStyle++ -- ** DeleteTableRowRequest+ , DeleteTableRowRequest+ , deleteTableRowRequest+ , dtrrTableCellLocation++ -- ** NamedStylesSuggestionState+ , NamedStylesSuggestionState+ , namedStylesSuggestionState+ , nsssStylesSuggestionStates++ -- ** PositionedObjectPositioning+ , PositionedObjectPositioning+ , positionedObjectPositioning+ , popLayout+ , popTopOffSet+ , popLeftOffSet++ -- ** SuggestedParagraphStyle+ , SuggestedParagraphStyle+ , suggestedParagraphStyle+ , spsParagraphStyleSuggestionState+ , spsParagraphStyle++ -- ** PositionedObjectProperties+ , PositionedObjectProperties+ , positionedObjectProperties+ , popEmbeddedObject+ , popPositioning++ -- ** NamedStyle+ , NamedStyle+ , namedStyle+ , nsNamedStyleType+ , nsTextStyle+ , nsParagraphStyle++ -- ** DeleteNamedRangeRequest+ , DeleteNamedRangeRequest+ , deleteNamedRangeRequest+ , dnrrNamedRangeId+ , dnrrName++ -- ** ParagraphStyleDirection+ , ParagraphStyleDirection (..)++ -- ** TextStyleBaselineOffSet+ , TextStyleBaselineOffSet (..)++ -- ** EmbeddedDrawingPropertiesSuggestionState+ , EmbeddedDrawingPropertiesSuggestionState+ , embeddedDrawingPropertiesSuggestionState++ -- ** TabStop+ , TabStop+ , tabStop+ , tsOffSet+ , tsAlignment++ -- ** NamedRanges+ , NamedRanges+ , namedRanges+ , nrNamedRanges+ , nrName++ -- ** TableColumnPropertiesWidthType+ , TableColumnPropertiesWidthType (..)++ -- ** TableRowSuggestedTableRowStyleChanges+ , TableRowSuggestedTableRowStyleChanges+ , tableRowSuggestedTableRowStyleChanges+ , trstrscAddtional++ -- ** PositionedObjectPropertiesSuggestionState+ , PositionedObjectPropertiesSuggestionState+ , positionedObjectPropertiesSuggestionState+ , popssPositioningSuggestionState+ , popssEmbeddedObjectSuggestionState++ -- ** PositionedObjectPositioningSuggestionState+ , PositionedObjectPositioningSuggestionState+ , positionedObjectPositioningSuggestionState+ , popssTopOffSetSuggested+ , popssLayoutSuggested+ , popssLeftOffSetSuggested++ -- ** NamedStyleSuggestionState+ , NamedStyleSuggestionState+ , namedStyleSuggestionState+ , nsssParagraphStyleSuggestionState+ , nsssNamedStyleType+ , nsssTextStyleSuggestionState++ -- ** CropProperties+ , CropProperties+ , cropProperties+ , cpOffSetBottom+ , cpOffSetRight+ , cpAngle+ , cpOffSetTop+ , cpOffSetLeft++ -- ** ParagraphStyleSuggestionState+ , ParagraphStyleSuggestionState+ , paragraphStyleSuggestionState+ , psssSpacingModeSuggested+ , psssBOrderTopSuggested+ , psssLineSpacingSuggested+ , psssDirectionSuggested+ , psssAvoidWidowAndOrphanSuggested+ , psssBOrderBottomSuggested+ , psssSpaceAboveSuggested+ , psssNamedStyleTypeSuggested+ , psssIndentStartSuggested+ , psssAlignmentSuggested+ , psssBOrderLeftSuggested+ , psssSpaceBelowSuggested+ , psssIndentFirstLineSuggested+ , psssShadingSuggestionState+ , psssHeadingIdSuggested+ , psssBOrderBetweenSuggested+ , psssKeepWithNextSuggested+ , psssIndentEndSuggested+ , psssBOrderRightSuggested+ , psssKeepLinesTogetherSuggested++ -- ** FootNote+ , FootNote+ , footNote+ , fnContent+ , fnFootNoteId++ -- ** AutoText+ , AutoText+ , autoText+ , atSuggestedInsertionIds+ , atSuggestedTextStyleChanges+ , atSuggestedDeletionIds+ , atTextStyle+ , atType++ -- ** List+ , List+ , list+ , lSuggestedInsertionId+ , lSuggestedListPropertiesChanges+ , lSuggestedDeletionIds+ , lListProperties++ -- ** ParagraphBOrder+ , ParagraphBOrder+ , paragraphBOrder+ , pboColor+ , pboWidth+ , pboDashStyle+ , pboPadding++ -- ** SuggestedTableCellStyle+ , SuggestedTableCellStyle+ , suggestedTableCellStyle+ , stcsTableCellStyleSuggestionState+ , stcsTableCellStyle++ -- ** InsertInlineImageResponse+ , InsertInlineImageResponse+ , insertInlineImageResponse+ , iiirObjectId++ -- ** RgbColor+ , RgbColor+ , rgbColor+ , rcRed+ , rcGreen+ , rcBlue++ -- ** InsertPageBreakRequest+ , InsertPageBreakRequest+ , insertPageBreakRequest+ , ipbrLocation+ , ipbrEndOfSegmentLocation++ -- ** CreateParagraphBulletsRequestBulletPreset+ , CreateParagraphBulletsRequestBulletPreset (..)++ -- ** BackgRoundSuggestionState+ , BackgRoundSuggestionState+ , backgRoundSuggestionState+ , brssBackgRoundColorSuggested++ -- ** TableCellBOrderDashStyle+ , TableCellBOrderDashStyle (..)++ -- ** ParagraphStyleNamedStyleType+ , ParagraphStyleNamedStyleType (..)++ -- ** InlineObjectProperties+ , InlineObjectProperties+ , inlineObjectProperties+ , iopEmbeddedObject++ -- ** SuggestedDocumentStyle+ , SuggestedDocumentStyle+ , suggestedDocumentStyle+ , sdsDocumentStyle+ , sdsDocumentStyleSuggestionState++ -- ** Location+ , Location+ , location+ , lIndex+ , lSegmentId++ -- ** TableOfContents+ , TableOfContents+ , tableOfContents+ , tocSuggestedInsertionIds+ , tocContent+ , tocSuggestedDeletionIds++ -- ** Color+ , Color+ , color+ , cRgbColor++ -- ** Size+ , Size+ , size+ , sHeight+ , sWidth++ -- ** InsertInlineSheetsChartResponse+ , InsertInlineSheetsChartResponse+ , insertInlineSheetsChartResponse+ , iiscrObjectId++ -- ** TableRowStyleSuggestionState+ , TableRowStyleSuggestionState+ , tableRowStyleSuggestionState+ , trsssMinRowHeightSuggested++ -- ** DeleteTableColumnRequest+ , DeleteTableColumnRequest+ , deleteTableColumnRequest+ , dtcrTableCellLocation++ -- ** DocumentNamedRanges+ , DocumentNamedRanges+ , documentNamedRanges+ , dnrAddtional++ -- ** EndOfSegmentLocation+ , EndOfSegmentLocation+ , endOfSegmentLocation+ , eoslSegmentId++ -- ** DocumentInlineObjects+ , DocumentInlineObjects+ , documentInlineObjects+ , dioAddtional++ -- ** ParagraphSuggestedPositionedObjectIds+ , ParagraphSuggestedPositionedObjectIds+ , paragraphSuggestedPositionedObjectIds+ , pspoiAddtional++ -- ** Link+ , Link+ , link+ , lURL+ , lHeadingId+ , lBookmarkId++ -- ** TabStopAlignment+ , TabStopAlignment (..)++ -- ** NestingLevelGlyphType+ , NestingLevelGlyphType (..)++ -- ** AutoTextSuggestedTextStyleChanges+ , AutoTextSuggestedTextStyleChanges+ , autoTextSuggestedTextStyleChanges+ , atstscAddtional++ -- ** InsertInlineImageRequest+ , InsertInlineImageRequest+ , insertInlineImageRequest+ , iiirLocation+ , iiirEndOfSegmentLocation+ , iiirURI+ , iiirObjectSize++ -- ** Dimension+ , Dimension+ , dimension+ , dMagnitude+ , dUnit++ -- ** DocumentStyle+ , DocumentStyle+ , documentStyle+ , dsMarginTop+ , dsDefaultFooterId+ , dsFirstPageHeaderId+ , dsFirstPageFooterId+ , dsDefaultHeaderId+ , dsUseEvenPageHeaderFooter+ , dsMarginLeft+ , dsPageNumberStart+ , dsUseFirstPageHeaderFooter+ , dsEvenPageFooterId+ , dsPageSize+ , dsBackgRound+ , dsMarginRight+ , dsMarginBottom+ , dsEvenPageHeaderId++ -- ** Body+ , Body+ , body+ , bContent++ -- ** ListPropertiesSuggestionState+ , ListPropertiesSuggestionState+ , listPropertiesSuggestionState+ , lpssNestingLevelsSuggestionStates++ -- ** ParagraphSuggestedBulletChanges+ , ParagraphSuggestedBulletChanges+ , paragraphSuggestedBulletChanges+ , psbcAddtional++ -- ** Response+ , Response+ , response+ , rReplaceAllText+ , rCreateNamedRange+ , rInsertInlineImage+ , rInsertInlineSheetsChart++ -- ** SheetsChartReference+ , SheetsChartReference+ , sheetsChartReference+ , scrSpreadsheetId+ , scrChartId++ -- ** OptionalColor+ , OptionalColor+ , optionalColor+ , ocColor++ -- ** CreateNamedRangeResponse+ , CreateNamedRangeResponse+ , createNamedRangeResponse+ , cnrrNamedRangeId++ -- ** SuggestedBullet+ , SuggestedBullet+ , suggestedBullet+ , sbBullet+ , sbBulletSuggestionState++ -- ** ParagraphBOrderDashStyle+ , ParagraphBOrderDashStyle (..)++ -- ** EmbeddedObject+ , EmbeddedObject+ , embeddedObject+ , eoMarginTop+ , eoSize+ , eoLinkedContentReference+ , eoImageProperties+ , eoEmbeddedObjectBOrder+ , eoEmbeddedDrawingProperties+ , eoMarginLeft+ , eoTitle+ , eoMarginRight+ , eoDescription+ , eoMarginBottom++ -- ** ReplaceAllTextResponse+ , ReplaceAllTextResponse+ , replaceAllTextResponse+ , ratrOccurrencesChanged++ -- ** DocumentStyleSuggestionState+ , DocumentStyleSuggestionState+ , documentStyleSuggestionState+ , dsssFirstPageFooterIdSuggested+ , dsssDefaultHeaderIdSuggested+ , dsssUseEvenPageHeaderFooterSuggested+ , dsssPageNumberStartSuggested+ , dsssBackgRoundSuggestionState+ , dsssUseFirstPageHeaderFooterSuggested+ , dsssPageSizeSuggestionState+ , dsssMarginTopSuggested+ , dsssEvenPageFooterIdSuggested+ , dsssMarginBottomSuggested+ , dsssEvenPageHeaderIdSuggested+ , dsssMarginLeftSuggested+ , dsssMarginRightSuggested+ , dsssFirstPageHeaderIdSuggested+ , dsssDefaultFooterIdSuggested++ -- ** LinkedContentReference+ , LinkedContentReference+ , linkedContentReference+ , lcrSheetsChartReference++ -- ** Shading+ , Shading+ , shading+ , sBackgRoundColor++ -- ** InlineObjectPropertiesSuggestionState+ , InlineObjectPropertiesSuggestionState+ , inlineObjectPropertiesSuggestionState+ , iopssEmbeddedObjectSuggestionState++ -- ** PageBreakSuggestedTextStyleChanges+ , PageBreakSuggestedTextStyleChanges+ , pageBreakSuggestedTextStyleChanges+ , pbstscAddtional++ -- ** DocumentLists+ , DocumentLists+ , documentLists+ , dlAddtional++ -- ** DeleteContentRangeRequest+ , DeleteContentRangeRequest+ , deleteContentRangeRequest+ , dcrrRange++ -- ** Bullet+ , Bullet+ , bullet+ , bListId+ , bTextStyle+ , bNestingLevel++ -- ** Paragraph+ , Paragraph+ , paragraph+ , pBullet+ , pSuggestedBulletChanges+ , pSuggestedPositionedObjectIds+ , pSuggestedParagraphStyleChanges+ , pElements+ , pPositionedObjectIds+ , pParagraphStyle++ -- ** TextRunSuggestedTextStyleChanges+ , TextRunSuggestedTextStyleChanges+ , textRunSuggestedTextStyleChanges+ , trstscAddtional++ -- ** SuggestedTableRowStyle+ , SuggestedTableRowStyle+ , suggestedTableRowStyle+ , strsTableRowStyleSuggestionState+ , strsTableRowStyle++ -- ** DocumentFootNotes+ , DocumentFootNotes+ , documentFootNotes+ , dfnAddtional++ -- ** ImageProperties+ , ImageProperties+ , imageProperties+ , ipCropProperties+ , ipContentURI+ , ipTransparency+ , ipAngle+ , ipContrast+ , ipSourceURI+ , ipBrightness++ -- ** ParagraphStyleAlignment+ , ParagraphStyleAlignment (..)++ -- ** SizeSuggestionState+ , SizeSuggestionState+ , sizeSuggestionState+ , sssHeightSuggested+ , sssWidthSuggested++ -- ** ListSuggestedListPropertiesChanges+ , ListSuggestedListPropertiesChanges+ , listSuggestedListPropertiesChanges+ , lslpcAddtional++ -- ** BatchUpdateDocumentResponse+ , BatchUpdateDocumentResponse+ , batchUpdateDocumentResponse+ , budrDocumentId+ , budrReplies+ , budrWriteControl++ -- ** TableStyle+ , TableStyle+ , tableStyle+ , tsTableColumnProperties++ -- ** FootNoteReference+ , FootNoteReference+ , footNoteReference+ , fnrSuggestedInsertionIds+ , fnrSuggestedTextStyleChanges+ , fnrFootNoteId+ , fnrSuggestedDeletionIds+ , fnrTextStyle+ , fnrFootNoteNumber++ -- ** ColumnBreak+ , ColumnBreak+ , columnBreak+ , cbSuggestedInsertionIds+ , cbSuggestedTextStyleChanges+ , cbSuggestedDeletionIds+ , cbTextStyle++ -- ** InlineObjectSuggestedInlineObjectPropertiesChanges+ , InlineObjectSuggestedInlineObjectPropertiesChanges+ , inlineObjectSuggestedInlineObjectPropertiesChanges+ , iosiopcAddtional++ -- ** Equation+ , Equation+ , equation+ , eSuggestedInsertionIds+ , eSuggestedDeletionIds++ -- ** NamedRange+ , NamedRange+ , namedRange+ , nNamedRangeId+ , nRanges+ , nName++ -- ** CropPropertiesSuggestionState+ , CropPropertiesSuggestionState+ , cropPropertiesSuggestionState+ , cpssAngleSuggested+ , cpssOffSetRightSuggested+ , cpssOffSetBottomSuggested+ , cpssOffSetTopSuggested+ , cpssOffSetLeftSuggested++ -- ** TextRun+ , TextRun+ , textRun+ , trSuggestedInsertionIds+ , trSuggestedTextStyleChanges+ , trContent+ , trSuggestedDeletionIds+ , trTextStyle++ -- ** TableRow+ , TableRow+ , tableRow+ , tSuggestedInsertionIds+ , tTableCells+ , tEndIndex+ , tSuggestedDeletionIds+ , tSuggestedTableRowStyleChanges+ , tTableRowStyle+ , tStartIndex++ -- ** WeightedFontFamily+ , WeightedFontFamily+ , weightedFontFamily+ , wffFontFamily+ , wffWeight++ -- ** PageBreak+ , PageBreak+ , pageBreak+ , pbSuggestedInsertionIds+ , pbSuggestedTextStyleChanges+ , pbSuggestedDeletionIds+ , pbTextStyle++ -- ** InlineObject+ , InlineObject+ , inlineObject+ , ioSuggestedInsertionId+ , ioInlineObjectProperties+ , ioObjectId+ , ioSuggestedDeletionIds+ , ioSuggestedInlineObjectPropertiesChanges++ -- ** EmbeddedObjectBOrder+ , EmbeddedObjectBOrder+ , embeddedObjectBOrder+ , eoboColor+ , eoboWidth+ , eoboDashStyle+ , eoboPropertyState++ -- ** EmbeddedObjectBOrderPropertyState+ , EmbeddedObjectBOrderPropertyState (..)++ -- ** TableCellSuggestedTableCellStyleChanges+ , TableCellSuggestedTableCellStyleChanges+ , tableCellSuggestedTableCellStyleChanges+ , tcstcscAddtional++ -- ** TableCellStyle+ , TableCellStyle+ , tableCellStyle+ , tcsBOrderRight+ , tcsBOrderTop+ , tcsColumnSpan+ , tcsBackgRoundColor+ , tcsPaddingBottom+ , tcsRowSpan+ , tcsBOrderLeft+ , tcsPaddingLeft+ , tcsPaddingTop+ , tcsBOrderBottom+ , tcsContentAlignment+ , tcsPaddingRight++ -- ** Header+ , Header+ , header+ , hHeaderId+ , hContent++ -- ** Range+ , Range+ , range+ , rEndIndex+ , rStartIndex+ , rSegmentId++ -- ** Document+ , Document+ , document+ , dNamedRanges+ , dInlineObjects+ , dDocumentId+ , dBody+ , dDocumentStyle+ , dFooters+ , dPositionedObjects+ , dSuggestionsViewMode+ , dHeaders+ , dNamedStyles+ , dSuggestedNamedStylesChanges+ , dSuggestedDocumentStyleChanges+ , dTitle+ , dRevisionId+ , dFootNotes+ , dLists++ -- ** DocumentSuggestedDocumentStyleChanges+ , DocumentSuggestedDocumentStyleChanges+ , documentSuggestedDocumentStyleChanges+ , dsdscAddtional++ -- ** NamedStyles+ , NamedStyles+ , namedStyles+ , nsStyles++ -- ** ParagraphSuggestedParagraphStyleChanges+ , ParagraphSuggestedParagraphStyleChanges+ , paragraphSuggestedParagraphStyleChanges+ , pspscAddtional++ -- ** EmbeddedDrawingProperties+ , EmbeddedDrawingProperties+ , embeddedDrawingProperties++ -- ** SuggestedTextStyle+ , SuggestedTextStyle+ , suggestedTextStyle+ , stsTextStyle+ , stsTextStyleSuggestionState++ -- ** SectionStyleColumnSeparatorStyle+ , SectionStyleColumnSeparatorStyle (..)++ -- ** InsertTableRowRequest+ , InsertTableRowRequest+ , insertTableRowRequest+ , itrrInsertBelow+ , itrrTableCellLocation++ -- ** SuggestedNamedStyles+ , SuggestedNamedStyles+ , suggestedNamedStyles+ , snsNamedStylesSuggestionState+ , snsNamedStyles++ -- ** Xgafv+ , Xgafv (..)++ -- ** AutoTextType+ , AutoTextType (..)++ -- ** WriteControl+ , WriteControl+ , writeControl+ , wcRequiredRevisionId+ , wcTargetRevisionId++ -- ** TextStyle+ , TextStyle+ , textStyle+ , tsLink+ , tsBackgRoundColor+ , tsBaselineOffSet+ , tsForegRoundColor+ , tsFontSize+ , tsSmallCaps+ , tsUnderline+ , tsWeightedFontFamily+ , tsItalic+ , tsBold+ , tsStrikethrough++ -- ** HorizontalRuleSuggestedTextStyleChanges+ , HorizontalRuleSuggestedTextStyleChanges+ , horizontalRuleSuggestedTextStyleChanges+ , hrstscAddtional++ -- ** UpdateTextStyleRequest+ , UpdateTextStyleRequest+ , updateTextStyleRequest+ , utsrRange+ , utsrTextStyle+ , utsrFields++ -- ** InlineObjectElement+ , InlineObjectElement+ , inlineObjectElement+ , ioeSuggestedInsertionIds+ , ioeSuggestedTextStyleChanges+ , ioeInlineObjectId+ , ioeSuggestedDeletionIds+ , ioeTextStyle++ -- ** SectionStyleContentDirection+ , SectionStyleContentDirection (..)++ -- ** NestingLevel+ , NestingLevel+ , nestingLevel+ , nlIndentFirstLine+ , nlGlyphFormat+ , nlBulletAlignment+ , nlIndentStart+ , nlGlyphSymbol+ , nlTextStyle+ , nlGlyphType+ , nlStartNumber++ -- ** TableCellLocation+ , TableCellLocation+ , tableCellLocation+ , tclColumnIndex+ , tclTableStartLocation+ , tclRowIndex++ -- ** DeletePositionedObjectRequest+ , DeletePositionedObjectRequest+ , deletePositionedObjectRequest+ , dporObjectId++ -- ** Footer+ , Footer+ , footer+ , fFooterId+ , fContent++ -- ** PositionedObject+ , PositionedObject+ , positionedObject+ , poSuggestedPositionedObjectPropertiesChanges+ , poPositionedObjectProperties+ , poSuggestedInsertionId+ , poObjectId+ , poSuggestedDeletionIds++ -- ** ObjectReferences+ , ObjectReferences+ , objectReferences+ , orObjectIds++ -- ** BulletSuggestionState+ , BulletSuggestionState+ , bulletSuggestionState+ , bssNestingLevelSuggested+ , bssListIdSuggested+ , bssTextStyleSuggestionState++ -- ** ImagePropertiesSuggestionState+ , ImagePropertiesSuggestionState+ , imagePropertiesSuggestionState+ , ipssAngleSuggested+ , ipssContrastSuggested+ , ipssContentURISuggested+ , ipssSourceURISuggested+ , ipssCropPropertiesSuggestionState+ , ipssBrightnessSuggested+ , ipssTransparencySuggested++ -- ** ShadingSuggestionState+ , ShadingSuggestionState+ , shadingSuggestionState+ , sssBackgRoundColorSuggested++ -- ** DocumentSuggestedNamedStylesChanges+ , DocumentSuggestedNamedStylesChanges+ , documentSuggestedNamedStylesChanges+ , dsnscAddtional++ -- ** TableCell+ , TableCell+ , tableCell+ , tcSuggestedInsertionIds+ , tcSuggestedTableCellStyleChanges+ , tcEndIndex+ , tcContent+ , tcTableCellStyle+ , tcSuggestedDeletionIds+ , tcStartIndex++ -- ** SheetsChartReferenceSuggestionState+ , SheetsChartReferenceSuggestionState+ , sheetsChartReferenceSuggestionState+ , scrssChartIdSuggested+ , scrssSpreadsheetIdSuggested++ -- ** ParagraphElement+ , ParagraphElement+ , paragraphElement+ , peAutoText+ , peEndIndex+ , peFootNoteReference+ , peColumnBreak+ , peTextRun+ , peEquation+ , pePageBreak+ , peInlineObjectElement+ , peHorizontalRule+ , peStartIndex++ -- ** NamedStyleNamedStyleType+ , NamedStyleNamedStyleType (..)++ -- ** HorizontalRule+ , HorizontalRule+ , horizontalRule+ , hrSuggestedInsertionIds+ , hrSuggestedTextStyleChanges+ , hrSuggestedDeletionIds+ , hrTextStyle++ -- ** EmbeddedObjectSuggestionState+ , EmbeddedObjectSuggestionState+ , embeddedObjectSuggestionState+ , eossEmbeddedObjectBOrderSuggestionState+ , eossEmbeddedDrawingPropertiesSuggestionState+ , eossTitleSuggested+ , eossMarginTopSuggested+ , eossSizeSuggestionState+ , eossMarginBottomSuggested+ , eossImagePropertiesSuggestionState+ , eossMarginLeftSuggested+ , eossLinkedContentReferenceSuggestionState+ , eossDescriptionSuggested+ , eossMarginRightSuggested++ -- ** InsertTableRequest+ , InsertTableRequest+ , insertTableRequest+ , itrLocation+ , itrEndOfSegmentLocation+ , itrRows+ , itrColumns++ -- ** SuggestedInlineObjectProperties+ , SuggestedInlineObjectProperties+ , suggestedInlineObjectProperties+ , siopInlineObjectProperties+ , siopInlineObjectPropertiesSuggestionState++ -- ** LinkedContentReferenceSuggestionState+ , LinkedContentReferenceSuggestionState+ , linkedContentReferenceSuggestionState+ , lcrssSheetsChartReferenceSuggestionState++ -- ** InlineObjectElementSuggestedTextStyleChanges+ , InlineObjectElementSuggestedTextStyleChanges+ , inlineObjectElementSuggestedTextStyleChanges+ , ioestscAddtional++ -- ** ParagraphStyleSpacingMode+ , ParagraphStyleSpacingMode (..)++ -- ** StructuralElement+ , StructuralElement+ , structuralElement+ , seTableOfContents+ , seParagraph+ , seEndIndex+ , seTable+ , seStartIndex+ , seSectionBreak++ -- ** DeleteParagraphBulletsRequest+ , DeleteParagraphBulletsRequest+ , deleteParagraphBulletsRequest+ , dpbrRange++ -- ** BatchUpdateDocumentRequest+ , BatchUpdateDocumentRequest+ , batchUpdateDocumentRequest+ , bRequests+ , bWriteControl++ -- ** ListProperties+ , ListProperties+ , listProperties+ , lpNestingLevels++ -- ** InsertTextRequest+ , InsertTextRequest+ , insertTextRequest+ , iLocation+ , iText+ , iEndOfSegmentLocation++ -- ** NestingLevelBulletAlignment+ , NestingLevelBulletAlignment (..)++ -- ** ColumnBreakSuggestedTextStyleChanges+ , ColumnBreakSuggestedTextStyleChanges+ , columnBreakSuggestedTextStyleChanges+ , cbstscAddtional++ -- ** FootNoteReferenceSuggestedTextStyleChanges+ , FootNoteReferenceSuggestedTextStyleChanges+ , footNoteReferenceSuggestedTextStyleChanges+ , fnrstscAddtional++ -- ** DocumentHeaders+ , DocumentHeaders+ , documentHeaders+ , dhAddtional++ -- ** TableRowStyle+ , TableRowStyle+ , tableRowStyle+ , trsMinRowHeight++ -- ** NamedStyleSuggestionStateNamedStyleType+ , NamedStyleSuggestionStateNamedStyleType (..)++ -- ** SectionBreak+ , SectionBreak+ , sectionBreak+ , sbSuggestedInsertionIds+ , sbSuggestedDeletionIds+ , sbSectionStyle++ -- ** EmbeddedObjectBOrderDashStyle+ , EmbeddedObjectBOrderDashStyle (..)++ -- ** DocumentSuggestionsViewMode+ , DocumentSuggestionsViewMode (..)++ -- ** Table+ , Table+ , table+ , tabSuggestedInsertionIds+ , tabTableRows+ , tabRows+ , tabTableStyle+ , tabSuggestedDeletionIds+ , tabColumns++ -- ** SectionStyle+ , SectionStyle+ , sectionStyle+ , ssColumnSeparatorStyle+ , ssContentDirection+ , ssColumnProperties++ -- ** PositionedObjectPositioningLayout+ , PositionedObjectPositioningLayout (..)++ -- ** BackgRound+ , BackgRound+ , backgRound+ , brColor++ -- ** SuggestedListProperties+ , SuggestedListProperties+ , suggestedListProperties+ , slpListPropertiesSuggestionState+ , slpListProperties++ -- ** SectionColumnProperties+ , SectionColumnProperties+ , sectionColumnProperties+ , scpWidth+ , scpPaddingEnd++ -- ** CreateParagraphBulletsRequest+ , CreateParagraphBulletsRequest+ , createParagraphBulletsRequest+ , cpbrBulletPreset+ , cpbrRange++ -- ** DimensionUnit+ , DimensionUnit (..)++ -- ** DocumentFooters+ , DocumentFooters+ , documentFooters+ , dfAddtional++ -- ** CreateNamedRangeRequest+ , CreateNamedRangeRequest+ , createNamedRangeRequest+ , cnrrName+ , cnrrRange++ -- ** TextStyleSuggestionState+ , TextStyleSuggestionState+ , textStyleSuggestionState+ , tsssItalicSuggested+ , tsssUnderlineSuggested+ , tsssFontSizeSuggested+ , tsssSmallCapsSuggested+ , tsssForegRoundColorSuggested+ , tsssBaselineOffSetSuggested+ , tsssWeightedFontFamilySuggested+ , tsssStrikethroughSuggested+ , tsssLinkSuggested+ , tsssBoldSuggested+ , tsssBackgRoundColorSuggested++ -- ** NestingLevelSuggestionState+ , NestingLevelSuggestionState+ , nestingLevelSuggestionState+ , nlssGlyphFormatSuggested+ , nlssBulletAlignmentSuggested+ , nlssGlyphTypeSuggested+ , nlssStartNumberSuggested+ , nlssIndentStartSuggested+ , nlssGlyphSymbolSuggested+ , nlssIndentFirstLineSuggested+ , nlssTextStyleSuggestionState++ -- ** ParagraphStyle+ , ParagraphStyle+ , paragraphStyle+ , psBOrderRight+ , psKeepLinesTogether+ , psTabStops+ , psBOrderTop+ , psLineSpacing+ , psDirection+ , psIndentFirstLine+ , psIndentEnd+ , psShading+ , psAvoidWidowAndOrphan+ , psNamedStyleType+ , psIndentStart+ , psAlignment+ , psBOrderLeft+ , psSpaceBelow+ , psSpacingMode+ , psHeadingId+ , psSpaceAbove+ , psBOrderBottom+ , psKeepWithNext+ , psBOrderBetween++ -- ** SuggestedPositionedObjectProperties+ , SuggestedPositionedObjectProperties+ , suggestedPositionedObjectProperties+ , spopPositionedObjectProperties+ , spopPositionedObjectPropertiesSuggestionState++ -- ** TableColumnProperties+ , TableColumnProperties+ , tableColumnProperties+ , tcpWidth+ , tcpWidthType++ -- ** TableCellStyleContentAlignment+ , TableCellStyleContentAlignment (..)++ -- ** UpdateParagraphStyleRequest+ , UpdateParagraphStyleRequest+ , updateParagraphStyleRequest+ , upsrRange+ , upsrFields+ , upsrParagraphStyle++ -- ** ReplaceAllTextRequest+ , ReplaceAllTextRequest+ , replaceAllTextRequest+ , ratrContainsText+ , ratrReplaceText++ -- ** DocumentPositionedObjects+ , DocumentPositionedObjects+ , documentPositionedObjects+ , dpoAddtional++ -- ** Request'+ , Request'+ , request'+ , reqDeletePositionedObject+ , reqCreateParagraphBullets+ , reqInsertText+ , reqDeleteParagraphBullets+ , reqDeleteTableRow+ , reqDeleteNamedRange+ , reqReplaceAllText+ , reqUpdateParagraphStyle+ , reqCreateNamedRange+ , reqInsertPageBreak+ , reqDeleteTableColumn+ , reqInsertInlineImage+ , reqDeleteContentRange+ , reqInsertTableRow+ , reqUpdateTextStyle+ , reqInsertTable++ -- ** PositionedObjectSuggestedPositionedObjectPropertiesChanges+ , PositionedObjectSuggestedPositionedObjectPropertiesChanges+ , positionedObjectSuggestedPositionedObjectPropertiesChanges+ , pospopcAddtional++ -- ** SubstringMatchCriteria+ , SubstringMatchCriteria+ , substringMatchCriteria+ , smcMatchCase+ , smcText+ ) where++import Network.Google.Docs.Types+import Network.Google.Prelude+import Network.Google.Resource.Docs.Documents.BatchUpdate+import Network.Google.Resource.Docs.Documents.Create+import Network.Google.Resource.Docs.Documents.Get++{- $resources+TODO+-}++-- | Represents the entirety of the methods and resources available for the Google Docs API service.+type DocsAPI =+ DocumentsGetResource :<|> DocumentsCreateResource+ :<|> DocumentsBatchUpdateResource
+ gen/Network/Google/Docs/Types.hs view
@@ -0,0 +1,1238 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Docs.Types+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.Docs.Types+ (+ -- * Service Configuration+ docsService++ -- * OAuth Scopes+ , driveReadOnlyScope+ , driveScope+ , driveFileScope+ , documentsScope+ , documentsReadOnlyScope++ -- * TableCellStyleSuggestionState+ , TableCellStyleSuggestionState+ , tableCellStyleSuggestionState+ , tcsssPaddingLeftSuggested+ , tcsssPaddingTopSuggested+ , tcsssBOrderTopSuggested+ , tcsssRowSpanSuggested+ , tcsssPaddingBottomSuggested+ , tcsssBOrderBottomSuggested+ , tcsssPaddingRightSuggested+ , tcsssColumnSpanSuggested+ , tcsssBOrderLeftSuggested+ , tcsssContentAlignmentSuggested+ , tcsssBackgRoundColorSuggested+ , tcsssBOrderRightSuggested++ -- * EmbeddedObjectBOrderSuggestionState+ , EmbeddedObjectBOrderSuggestionState+ , embeddedObjectBOrderSuggestionState+ , eobossDashStyleSuggested+ , eobossPropertyStateSuggested+ , eobossColorSuggested+ , eobossWidthSuggested++ -- * TableCellBOrder+ , TableCellBOrder+ , tableCellBOrder+ , tcboColor+ , tcboWidth+ , tcboDashStyle++ -- * DeleteTableRowRequest+ , DeleteTableRowRequest+ , deleteTableRowRequest+ , dtrrTableCellLocation++ -- * NamedStylesSuggestionState+ , NamedStylesSuggestionState+ , namedStylesSuggestionState+ , nsssStylesSuggestionStates++ -- * PositionedObjectPositioning+ , PositionedObjectPositioning+ , positionedObjectPositioning+ , popLayout+ , popTopOffSet+ , popLeftOffSet++ -- * SuggestedParagraphStyle+ , SuggestedParagraphStyle+ , suggestedParagraphStyle+ , spsParagraphStyleSuggestionState+ , spsParagraphStyle++ -- * PositionedObjectProperties+ , PositionedObjectProperties+ , positionedObjectProperties+ , popEmbeddedObject+ , popPositioning++ -- * NamedStyle+ , NamedStyle+ , namedStyle+ , nsNamedStyleType+ , nsTextStyle+ , nsParagraphStyle++ -- * DeleteNamedRangeRequest+ , DeleteNamedRangeRequest+ , deleteNamedRangeRequest+ , dnrrNamedRangeId+ , dnrrName++ -- * ParagraphStyleDirection+ , ParagraphStyleDirection (..)++ -- * TextStyleBaselineOffSet+ , TextStyleBaselineOffSet (..)++ -- * EmbeddedDrawingPropertiesSuggestionState+ , EmbeddedDrawingPropertiesSuggestionState+ , embeddedDrawingPropertiesSuggestionState++ -- * TabStop+ , TabStop+ , tabStop+ , tsOffSet+ , tsAlignment++ -- * NamedRanges+ , NamedRanges+ , namedRanges+ , nrNamedRanges+ , nrName++ -- * TableColumnPropertiesWidthType+ , TableColumnPropertiesWidthType (..)++ -- * TableRowSuggestedTableRowStyleChanges+ , TableRowSuggestedTableRowStyleChanges+ , tableRowSuggestedTableRowStyleChanges+ , trstrscAddtional++ -- * PositionedObjectPropertiesSuggestionState+ , PositionedObjectPropertiesSuggestionState+ , positionedObjectPropertiesSuggestionState+ , popssPositioningSuggestionState+ , popssEmbeddedObjectSuggestionState++ -- * PositionedObjectPositioningSuggestionState+ , PositionedObjectPositioningSuggestionState+ , positionedObjectPositioningSuggestionState+ , popssTopOffSetSuggested+ , popssLayoutSuggested+ , popssLeftOffSetSuggested++ -- * NamedStyleSuggestionState+ , NamedStyleSuggestionState+ , namedStyleSuggestionState+ , nsssParagraphStyleSuggestionState+ , nsssNamedStyleType+ , nsssTextStyleSuggestionState++ -- * CropProperties+ , CropProperties+ , cropProperties+ , cpOffSetBottom+ , cpOffSetRight+ , cpAngle+ , cpOffSetTop+ , cpOffSetLeft++ -- * ParagraphStyleSuggestionState+ , ParagraphStyleSuggestionState+ , paragraphStyleSuggestionState+ , psssSpacingModeSuggested+ , psssBOrderTopSuggested+ , psssLineSpacingSuggested+ , psssDirectionSuggested+ , psssAvoidWidowAndOrphanSuggested+ , psssBOrderBottomSuggested+ , psssSpaceAboveSuggested+ , psssNamedStyleTypeSuggested+ , psssIndentStartSuggested+ , psssAlignmentSuggested+ , psssBOrderLeftSuggested+ , psssSpaceBelowSuggested+ , psssIndentFirstLineSuggested+ , psssShadingSuggestionState+ , psssHeadingIdSuggested+ , psssBOrderBetweenSuggested+ , psssKeepWithNextSuggested+ , psssIndentEndSuggested+ , psssBOrderRightSuggested+ , psssKeepLinesTogetherSuggested++ -- * FootNote+ , FootNote+ , footNote+ , fnContent+ , fnFootNoteId++ -- * AutoText+ , AutoText+ , autoText+ , atSuggestedInsertionIds+ , atSuggestedTextStyleChanges+ , atSuggestedDeletionIds+ , atTextStyle+ , atType++ -- * List+ , List+ , list+ , lSuggestedInsertionId+ , lSuggestedListPropertiesChanges+ , lSuggestedDeletionIds+ , lListProperties++ -- * ParagraphBOrder+ , ParagraphBOrder+ , paragraphBOrder+ , pboColor+ , pboWidth+ , pboDashStyle+ , pboPadding++ -- * SuggestedTableCellStyle+ , SuggestedTableCellStyle+ , suggestedTableCellStyle+ , stcsTableCellStyleSuggestionState+ , stcsTableCellStyle++ -- * InsertInlineImageResponse+ , InsertInlineImageResponse+ , insertInlineImageResponse+ , iiirObjectId++ -- * RgbColor+ , RgbColor+ , rgbColor+ , rcRed+ , rcGreen+ , rcBlue++ -- * InsertPageBreakRequest+ , InsertPageBreakRequest+ , insertPageBreakRequest+ , ipbrLocation+ , ipbrEndOfSegmentLocation++ -- * CreateParagraphBulletsRequestBulletPreset+ , CreateParagraphBulletsRequestBulletPreset (..)++ -- * BackgRoundSuggestionState+ , BackgRoundSuggestionState+ , backgRoundSuggestionState+ , brssBackgRoundColorSuggested++ -- * TableCellBOrderDashStyle+ , TableCellBOrderDashStyle (..)++ -- * ParagraphStyleNamedStyleType+ , ParagraphStyleNamedStyleType (..)++ -- * InlineObjectProperties+ , InlineObjectProperties+ , inlineObjectProperties+ , iopEmbeddedObject++ -- * SuggestedDocumentStyle+ , SuggestedDocumentStyle+ , suggestedDocumentStyle+ , sdsDocumentStyle+ , sdsDocumentStyleSuggestionState++ -- * Location+ , Location+ , location+ , lIndex+ , lSegmentId++ -- * TableOfContents+ , TableOfContents+ , tableOfContents+ , tocSuggestedInsertionIds+ , tocContent+ , tocSuggestedDeletionIds++ -- * Color+ , Color+ , color+ , cRgbColor++ -- * Size+ , Size+ , size+ , sHeight+ , sWidth++ -- * InsertInlineSheetsChartResponse+ , InsertInlineSheetsChartResponse+ , insertInlineSheetsChartResponse+ , iiscrObjectId++ -- * TableRowStyleSuggestionState+ , TableRowStyleSuggestionState+ , tableRowStyleSuggestionState+ , trsssMinRowHeightSuggested++ -- * DeleteTableColumnRequest+ , DeleteTableColumnRequest+ , deleteTableColumnRequest+ , dtcrTableCellLocation++ -- * DocumentNamedRanges+ , DocumentNamedRanges+ , documentNamedRanges+ , dnrAddtional++ -- * EndOfSegmentLocation+ , EndOfSegmentLocation+ , endOfSegmentLocation+ , eoslSegmentId++ -- * DocumentInlineObjects+ , DocumentInlineObjects+ , documentInlineObjects+ , dioAddtional++ -- * ParagraphSuggestedPositionedObjectIds+ , ParagraphSuggestedPositionedObjectIds+ , paragraphSuggestedPositionedObjectIds+ , pspoiAddtional++ -- * Link+ , Link+ , link+ , lURL+ , lHeadingId+ , lBookmarkId++ -- * TabStopAlignment+ , TabStopAlignment (..)++ -- * NestingLevelGlyphType+ , NestingLevelGlyphType (..)++ -- * AutoTextSuggestedTextStyleChanges+ , AutoTextSuggestedTextStyleChanges+ , autoTextSuggestedTextStyleChanges+ , atstscAddtional++ -- * InsertInlineImageRequest+ , InsertInlineImageRequest+ , insertInlineImageRequest+ , iiirLocation+ , iiirEndOfSegmentLocation+ , iiirURI+ , iiirObjectSize++ -- * Dimension+ , Dimension+ , dimension+ , dMagnitude+ , dUnit++ -- * DocumentStyle+ , DocumentStyle+ , documentStyle+ , dsMarginTop+ , dsDefaultFooterId+ , dsFirstPageHeaderId+ , dsFirstPageFooterId+ , dsDefaultHeaderId+ , dsUseEvenPageHeaderFooter+ , dsMarginLeft+ , dsPageNumberStart+ , dsUseFirstPageHeaderFooter+ , dsEvenPageFooterId+ , dsPageSize+ , dsBackgRound+ , dsMarginRight+ , dsMarginBottom+ , dsEvenPageHeaderId++ -- * Body+ , Body+ , body+ , bContent++ -- * ListPropertiesSuggestionState+ , ListPropertiesSuggestionState+ , listPropertiesSuggestionState+ , lpssNestingLevelsSuggestionStates++ -- * ParagraphSuggestedBulletChanges+ , ParagraphSuggestedBulletChanges+ , paragraphSuggestedBulletChanges+ , psbcAddtional++ -- * Response+ , Response+ , response+ , rReplaceAllText+ , rCreateNamedRange+ , rInsertInlineImage+ , rInsertInlineSheetsChart++ -- * SheetsChartReference+ , SheetsChartReference+ , sheetsChartReference+ , scrSpreadsheetId+ , scrChartId++ -- * OptionalColor+ , OptionalColor+ , optionalColor+ , ocColor++ -- * CreateNamedRangeResponse+ , CreateNamedRangeResponse+ , createNamedRangeResponse+ , cnrrNamedRangeId++ -- * SuggestedBullet+ , SuggestedBullet+ , suggestedBullet+ , sbBullet+ , sbBulletSuggestionState++ -- * ParagraphBOrderDashStyle+ , ParagraphBOrderDashStyle (..)++ -- * EmbeddedObject+ , EmbeddedObject+ , embeddedObject+ , eoMarginTop+ , eoSize+ , eoLinkedContentReference+ , eoImageProperties+ , eoEmbeddedObjectBOrder+ , eoEmbeddedDrawingProperties+ , eoMarginLeft+ , eoTitle+ , eoMarginRight+ , eoDescription+ , eoMarginBottom++ -- * ReplaceAllTextResponse+ , ReplaceAllTextResponse+ , replaceAllTextResponse+ , ratrOccurrencesChanged++ -- * DocumentStyleSuggestionState+ , DocumentStyleSuggestionState+ , documentStyleSuggestionState+ , dsssFirstPageFooterIdSuggested+ , dsssDefaultHeaderIdSuggested+ , dsssUseEvenPageHeaderFooterSuggested+ , dsssPageNumberStartSuggested+ , dsssBackgRoundSuggestionState+ , dsssUseFirstPageHeaderFooterSuggested+ , dsssPageSizeSuggestionState+ , dsssMarginTopSuggested+ , dsssEvenPageFooterIdSuggested+ , dsssMarginBottomSuggested+ , dsssEvenPageHeaderIdSuggested+ , dsssMarginLeftSuggested+ , dsssMarginRightSuggested+ , dsssFirstPageHeaderIdSuggested+ , dsssDefaultFooterIdSuggested++ -- * LinkedContentReference+ , LinkedContentReference+ , linkedContentReference+ , lcrSheetsChartReference++ -- * Shading+ , Shading+ , shading+ , sBackgRoundColor++ -- * InlineObjectPropertiesSuggestionState+ , InlineObjectPropertiesSuggestionState+ , inlineObjectPropertiesSuggestionState+ , iopssEmbeddedObjectSuggestionState++ -- * PageBreakSuggestedTextStyleChanges+ , PageBreakSuggestedTextStyleChanges+ , pageBreakSuggestedTextStyleChanges+ , pbstscAddtional++ -- * DocumentLists+ , DocumentLists+ , documentLists+ , dlAddtional++ -- * DeleteContentRangeRequest+ , DeleteContentRangeRequest+ , deleteContentRangeRequest+ , dcrrRange++ -- * Bullet+ , Bullet+ , bullet+ , bListId+ , bTextStyle+ , bNestingLevel++ -- * Paragraph+ , Paragraph+ , paragraph+ , pBullet+ , pSuggestedBulletChanges+ , pSuggestedPositionedObjectIds+ , pSuggestedParagraphStyleChanges+ , pElements+ , pPositionedObjectIds+ , pParagraphStyle++ -- * TextRunSuggestedTextStyleChanges+ , TextRunSuggestedTextStyleChanges+ , textRunSuggestedTextStyleChanges+ , trstscAddtional++ -- * SuggestedTableRowStyle+ , SuggestedTableRowStyle+ , suggestedTableRowStyle+ , strsTableRowStyleSuggestionState+ , strsTableRowStyle++ -- * DocumentFootNotes+ , DocumentFootNotes+ , documentFootNotes+ , dfnAddtional++ -- * ImageProperties+ , ImageProperties+ , imageProperties+ , ipCropProperties+ , ipContentURI+ , ipTransparency+ , ipAngle+ , ipContrast+ , ipSourceURI+ , ipBrightness++ -- * ParagraphStyleAlignment+ , ParagraphStyleAlignment (..)++ -- * SizeSuggestionState+ , SizeSuggestionState+ , sizeSuggestionState+ , sssHeightSuggested+ , sssWidthSuggested++ -- * ListSuggestedListPropertiesChanges+ , ListSuggestedListPropertiesChanges+ , listSuggestedListPropertiesChanges+ , lslpcAddtional++ -- * BatchUpdateDocumentResponse+ , BatchUpdateDocumentResponse+ , batchUpdateDocumentResponse+ , budrDocumentId+ , budrReplies+ , budrWriteControl++ -- * TableStyle+ , TableStyle+ , tableStyle+ , tsTableColumnProperties++ -- * FootNoteReference+ , FootNoteReference+ , footNoteReference+ , fnrSuggestedInsertionIds+ , fnrSuggestedTextStyleChanges+ , fnrFootNoteId+ , fnrSuggestedDeletionIds+ , fnrTextStyle+ , fnrFootNoteNumber++ -- * ColumnBreak+ , ColumnBreak+ , columnBreak+ , cbSuggestedInsertionIds+ , cbSuggestedTextStyleChanges+ , cbSuggestedDeletionIds+ , cbTextStyle++ -- * InlineObjectSuggestedInlineObjectPropertiesChanges+ , InlineObjectSuggestedInlineObjectPropertiesChanges+ , inlineObjectSuggestedInlineObjectPropertiesChanges+ , iosiopcAddtional++ -- * Equation+ , Equation+ , equation+ , eSuggestedInsertionIds+ , eSuggestedDeletionIds++ -- * NamedRange+ , NamedRange+ , namedRange+ , nNamedRangeId+ , nRanges+ , nName++ -- * CropPropertiesSuggestionState+ , CropPropertiesSuggestionState+ , cropPropertiesSuggestionState+ , cpssAngleSuggested+ , cpssOffSetRightSuggested+ , cpssOffSetBottomSuggested+ , cpssOffSetTopSuggested+ , cpssOffSetLeftSuggested++ -- * TextRun+ , TextRun+ , textRun+ , trSuggestedInsertionIds+ , trSuggestedTextStyleChanges+ , trContent+ , trSuggestedDeletionIds+ , trTextStyle++ -- * TableRow+ , TableRow+ , tableRow+ , tSuggestedInsertionIds+ , tTableCells+ , tEndIndex+ , tSuggestedDeletionIds+ , tSuggestedTableRowStyleChanges+ , tTableRowStyle+ , tStartIndex++ -- * WeightedFontFamily+ , WeightedFontFamily+ , weightedFontFamily+ , wffFontFamily+ , wffWeight++ -- * PageBreak+ , PageBreak+ , pageBreak+ , pbSuggestedInsertionIds+ , pbSuggestedTextStyleChanges+ , pbSuggestedDeletionIds+ , pbTextStyle++ -- * InlineObject+ , InlineObject+ , inlineObject+ , ioSuggestedInsertionId+ , ioInlineObjectProperties+ , ioObjectId+ , ioSuggestedDeletionIds+ , ioSuggestedInlineObjectPropertiesChanges++ -- * EmbeddedObjectBOrder+ , EmbeddedObjectBOrder+ , embeddedObjectBOrder+ , eoboColor+ , eoboWidth+ , eoboDashStyle+ , eoboPropertyState++ -- * EmbeddedObjectBOrderPropertyState+ , EmbeddedObjectBOrderPropertyState (..)++ -- * TableCellSuggestedTableCellStyleChanges+ , TableCellSuggestedTableCellStyleChanges+ , tableCellSuggestedTableCellStyleChanges+ , tcstcscAddtional++ -- * TableCellStyle+ , TableCellStyle+ , tableCellStyle+ , tcsBOrderRight+ , tcsBOrderTop+ , tcsColumnSpan+ , tcsBackgRoundColor+ , tcsPaddingBottom+ , tcsRowSpan+ , tcsBOrderLeft+ , tcsPaddingLeft+ , tcsPaddingTop+ , tcsBOrderBottom+ , tcsContentAlignment+ , tcsPaddingRight++ -- * Header+ , Header+ , header+ , hHeaderId+ , hContent++ -- * Range+ , Range+ , range+ , rEndIndex+ , rStartIndex+ , rSegmentId++ -- * Document+ , Document+ , document+ , dNamedRanges+ , dInlineObjects+ , dDocumentId+ , dBody+ , dDocumentStyle+ , dFooters+ , dPositionedObjects+ , dSuggestionsViewMode+ , dHeaders+ , dNamedStyles+ , dSuggestedNamedStylesChanges+ , dSuggestedDocumentStyleChanges+ , dTitle+ , dRevisionId+ , dFootNotes+ , dLists++ -- * DocumentSuggestedDocumentStyleChanges+ , DocumentSuggestedDocumentStyleChanges+ , documentSuggestedDocumentStyleChanges+ , dsdscAddtional++ -- * NamedStyles+ , NamedStyles+ , namedStyles+ , nsStyles++ -- * ParagraphSuggestedParagraphStyleChanges+ , ParagraphSuggestedParagraphStyleChanges+ , paragraphSuggestedParagraphStyleChanges+ , pspscAddtional++ -- * EmbeddedDrawingProperties+ , EmbeddedDrawingProperties+ , embeddedDrawingProperties++ -- * SuggestedTextStyle+ , SuggestedTextStyle+ , suggestedTextStyle+ , stsTextStyle+ , stsTextStyleSuggestionState++ -- * SectionStyleColumnSeparatorStyle+ , SectionStyleColumnSeparatorStyle (..)++ -- * InsertTableRowRequest+ , InsertTableRowRequest+ , insertTableRowRequest+ , itrrInsertBelow+ , itrrTableCellLocation++ -- * SuggestedNamedStyles+ , SuggestedNamedStyles+ , suggestedNamedStyles+ , snsNamedStylesSuggestionState+ , snsNamedStyles++ -- * Xgafv+ , Xgafv (..)++ -- * AutoTextType+ , AutoTextType (..)++ -- * WriteControl+ , WriteControl+ , writeControl+ , wcRequiredRevisionId+ , wcTargetRevisionId++ -- * TextStyle+ , TextStyle+ , textStyle+ , tsLink+ , tsBackgRoundColor+ , tsBaselineOffSet+ , tsForegRoundColor+ , tsFontSize+ , tsSmallCaps+ , tsUnderline+ , tsWeightedFontFamily+ , tsItalic+ , tsBold+ , tsStrikethrough++ -- * HorizontalRuleSuggestedTextStyleChanges+ , HorizontalRuleSuggestedTextStyleChanges+ , horizontalRuleSuggestedTextStyleChanges+ , hrstscAddtional++ -- * UpdateTextStyleRequest+ , UpdateTextStyleRequest+ , updateTextStyleRequest+ , utsrRange+ , utsrTextStyle+ , utsrFields++ -- * InlineObjectElement+ , InlineObjectElement+ , inlineObjectElement+ , ioeSuggestedInsertionIds+ , ioeSuggestedTextStyleChanges+ , ioeInlineObjectId+ , ioeSuggestedDeletionIds+ , ioeTextStyle++ -- * SectionStyleContentDirection+ , SectionStyleContentDirection (..)++ -- * NestingLevel+ , NestingLevel+ , nestingLevel+ , nlIndentFirstLine+ , nlGlyphFormat+ , nlBulletAlignment+ , nlIndentStart+ , nlGlyphSymbol+ , nlTextStyle+ , nlGlyphType+ , nlStartNumber++ -- * TableCellLocation+ , TableCellLocation+ , tableCellLocation+ , tclColumnIndex+ , tclTableStartLocation+ , tclRowIndex++ -- * DeletePositionedObjectRequest+ , DeletePositionedObjectRequest+ , deletePositionedObjectRequest+ , dporObjectId++ -- * Footer+ , Footer+ , footer+ , fFooterId+ , fContent++ -- * PositionedObject+ , PositionedObject+ , positionedObject+ , poSuggestedPositionedObjectPropertiesChanges+ , poPositionedObjectProperties+ , poSuggestedInsertionId+ , poObjectId+ , poSuggestedDeletionIds++ -- * ObjectReferences+ , ObjectReferences+ , objectReferences+ , orObjectIds++ -- * BulletSuggestionState+ , BulletSuggestionState+ , bulletSuggestionState+ , bssNestingLevelSuggested+ , bssListIdSuggested+ , bssTextStyleSuggestionState++ -- * ImagePropertiesSuggestionState+ , ImagePropertiesSuggestionState+ , imagePropertiesSuggestionState+ , ipssAngleSuggested+ , ipssContrastSuggested+ , ipssContentURISuggested+ , ipssSourceURISuggested+ , ipssCropPropertiesSuggestionState+ , ipssBrightnessSuggested+ , ipssTransparencySuggested++ -- * ShadingSuggestionState+ , ShadingSuggestionState+ , shadingSuggestionState+ , sssBackgRoundColorSuggested++ -- * DocumentSuggestedNamedStylesChanges+ , DocumentSuggestedNamedStylesChanges+ , documentSuggestedNamedStylesChanges+ , dsnscAddtional++ -- * TableCell+ , TableCell+ , tableCell+ , tcSuggestedInsertionIds+ , tcSuggestedTableCellStyleChanges+ , tcEndIndex+ , tcContent+ , tcTableCellStyle+ , tcSuggestedDeletionIds+ , tcStartIndex++ -- * SheetsChartReferenceSuggestionState+ , SheetsChartReferenceSuggestionState+ , sheetsChartReferenceSuggestionState+ , scrssChartIdSuggested+ , scrssSpreadsheetIdSuggested++ -- * ParagraphElement+ , ParagraphElement+ , paragraphElement+ , peAutoText+ , peEndIndex+ , peFootNoteReference+ , peColumnBreak+ , peTextRun+ , peEquation+ , pePageBreak+ , peInlineObjectElement+ , peHorizontalRule+ , peStartIndex++ -- * NamedStyleNamedStyleType+ , NamedStyleNamedStyleType (..)++ -- * HorizontalRule+ , HorizontalRule+ , horizontalRule+ , hrSuggestedInsertionIds+ , hrSuggestedTextStyleChanges+ , hrSuggestedDeletionIds+ , hrTextStyle++ -- * EmbeddedObjectSuggestionState+ , EmbeddedObjectSuggestionState+ , embeddedObjectSuggestionState+ , eossEmbeddedObjectBOrderSuggestionState+ , eossEmbeddedDrawingPropertiesSuggestionState+ , eossTitleSuggested+ , eossMarginTopSuggested+ , eossSizeSuggestionState+ , eossMarginBottomSuggested+ , eossImagePropertiesSuggestionState+ , eossMarginLeftSuggested+ , eossLinkedContentReferenceSuggestionState+ , eossDescriptionSuggested+ , eossMarginRightSuggested++ -- * InsertTableRequest+ , InsertTableRequest+ , insertTableRequest+ , itrLocation+ , itrEndOfSegmentLocation+ , itrRows+ , itrColumns++ -- * SuggestedInlineObjectProperties+ , SuggestedInlineObjectProperties+ , suggestedInlineObjectProperties+ , siopInlineObjectProperties+ , siopInlineObjectPropertiesSuggestionState++ -- * LinkedContentReferenceSuggestionState+ , LinkedContentReferenceSuggestionState+ , linkedContentReferenceSuggestionState+ , lcrssSheetsChartReferenceSuggestionState++ -- * InlineObjectElementSuggestedTextStyleChanges+ , InlineObjectElementSuggestedTextStyleChanges+ , inlineObjectElementSuggestedTextStyleChanges+ , ioestscAddtional++ -- * ParagraphStyleSpacingMode+ , ParagraphStyleSpacingMode (..)++ -- * StructuralElement+ , StructuralElement+ , structuralElement+ , seTableOfContents+ , seParagraph+ , seEndIndex+ , seTable+ , seStartIndex+ , seSectionBreak++ -- * DeleteParagraphBulletsRequest+ , DeleteParagraphBulletsRequest+ , deleteParagraphBulletsRequest+ , dpbrRange++ -- * BatchUpdateDocumentRequest+ , BatchUpdateDocumentRequest+ , batchUpdateDocumentRequest+ , bRequests+ , bWriteControl++ -- * ListProperties+ , ListProperties+ , listProperties+ , lpNestingLevels++ -- * InsertTextRequest+ , InsertTextRequest+ , insertTextRequest+ , iLocation+ , iText+ , iEndOfSegmentLocation++ -- * NestingLevelBulletAlignment+ , NestingLevelBulletAlignment (..)++ -- * ColumnBreakSuggestedTextStyleChanges+ , ColumnBreakSuggestedTextStyleChanges+ , columnBreakSuggestedTextStyleChanges+ , cbstscAddtional++ -- * FootNoteReferenceSuggestedTextStyleChanges+ , FootNoteReferenceSuggestedTextStyleChanges+ , footNoteReferenceSuggestedTextStyleChanges+ , fnrstscAddtional++ -- * DocumentHeaders+ , DocumentHeaders+ , documentHeaders+ , dhAddtional++ -- * TableRowStyle+ , TableRowStyle+ , tableRowStyle+ , trsMinRowHeight++ -- * NamedStyleSuggestionStateNamedStyleType+ , NamedStyleSuggestionStateNamedStyleType (..)++ -- * SectionBreak+ , SectionBreak+ , sectionBreak+ , sbSuggestedInsertionIds+ , sbSuggestedDeletionIds+ , sbSectionStyle++ -- * EmbeddedObjectBOrderDashStyle+ , EmbeddedObjectBOrderDashStyle (..)++ -- * DocumentSuggestionsViewMode+ , DocumentSuggestionsViewMode (..)++ -- * Table+ , Table+ , table+ , tabSuggestedInsertionIds+ , tabTableRows+ , tabRows+ , tabTableStyle+ , tabSuggestedDeletionIds+ , tabColumns++ -- * SectionStyle+ , SectionStyle+ , sectionStyle+ , ssColumnSeparatorStyle+ , ssContentDirection+ , ssColumnProperties++ -- * PositionedObjectPositioningLayout+ , PositionedObjectPositioningLayout (..)++ -- * BackgRound+ , BackgRound+ , backgRound+ , brColor++ -- * SuggestedListProperties+ , SuggestedListProperties+ , suggestedListProperties+ , slpListPropertiesSuggestionState+ , slpListProperties++ -- * SectionColumnProperties+ , SectionColumnProperties+ , sectionColumnProperties+ , scpWidth+ , scpPaddingEnd++ -- * CreateParagraphBulletsRequest+ , CreateParagraphBulletsRequest+ , createParagraphBulletsRequest+ , cpbrBulletPreset+ , cpbrRange++ -- * DimensionUnit+ , DimensionUnit (..)++ -- * DocumentFooters+ , DocumentFooters+ , documentFooters+ , dfAddtional++ -- * CreateNamedRangeRequest+ , CreateNamedRangeRequest+ , createNamedRangeRequest+ , cnrrName+ , cnrrRange++ -- * TextStyleSuggestionState+ , TextStyleSuggestionState+ , textStyleSuggestionState+ , tsssItalicSuggested+ , tsssUnderlineSuggested+ , tsssFontSizeSuggested+ , tsssSmallCapsSuggested+ , tsssForegRoundColorSuggested+ , tsssBaselineOffSetSuggested+ , tsssWeightedFontFamilySuggested+ , tsssStrikethroughSuggested+ , tsssLinkSuggested+ , tsssBoldSuggested+ , tsssBackgRoundColorSuggested++ -- * NestingLevelSuggestionState+ , NestingLevelSuggestionState+ , nestingLevelSuggestionState+ , nlssGlyphFormatSuggested+ , nlssBulletAlignmentSuggested+ , nlssGlyphTypeSuggested+ , nlssStartNumberSuggested+ , nlssIndentStartSuggested+ , nlssGlyphSymbolSuggested+ , nlssIndentFirstLineSuggested+ , nlssTextStyleSuggestionState++ -- * ParagraphStyle+ , ParagraphStyle+ , paragraphStyle+ , psBOrderRight+ , psKeepLinesTogether+ , psTabStops+ , psBOrderTop+ , psLineSpacing+ , psDirection+ , psIndentFirstLine+ , psIndentEnd+ , psShading+ , psAvoidWidowAndOrphan+ , psNamedStyleType+ , psIndentStart+ , psAlignment+ , psBOrderLeft+ , psSpaceBelow+ , psSpacingMode+ , psHeadingId+ , psSpaceAbove+ , psBOrderBottom+ , psKeepWithNext+ , psBOrderBetween++ -- * SuggestedPositionedObjectProperties+ , SuggestedPositionedObjectProperties+ , suggestedPositionedObjectProperties+ , spopPositionedObjectProperties+ , spopPositionedObjectPropertiesSuggestionState++ -- * TableColumnProperties+ , TableColumnProperties+ , tableColumnProperties+ , tcpWidth+ , tcpWidthType++ -- * TableCellStyleContentAlignment+ , TableCellStyleContentAlignment (..)++ -- * UpdateParagraphStyleRequest+ , UpdateParagraphStyleRequest+ , updateParagraphStyleRequest+ , upsrRange+ , upsrFields+ , upsrParagraphStyle++ -- * ReplaceAllTextRequest+ , ReplaceAllTextRequest+ , replaceAllTextRequest+ , ratrContainsText+ , ratrReplaceText++ -- * DocumentPositionedObjects+ , DocumentPositionedObjects+ , documentPositionedObjects+ , dpoAddtional++ -- * Request'+ , Request'+ , request'+ , reqDeletePositionedObject+ , reqCreateParagraphBullets+ , reqInsertText+ , reqDeleteParagraphBullets+ , reqDeleteTableRow+ , reqDeleteNamedRange+ , reqReplaceAllText+ , reqUpdateParagraphStyle+ , reqCreateNamedRange+ , reqInsertPageBreak+ , reqDeleteTableColumn+ , reqInsertInlineImage+ , reqDeleteContentRange+ , reqInsertTableRow+ , reqUpdateTextStyle+ , reqInsertTable++ -- * PositionedObjectSuggestedPositionedObjectPropertiesChanges+ , PositionedObjectSuggestedPositionedObjectPropertiesChanges+ , positionedObjectSuggestedPositionedObjectPropertiesChanges+ , pospopcAddtional++ -- * SubstringMatchCriteria+ , SubstringMatchCriteria+ , substringMatchCriteria+ , smcMatchCase+ , smcText+ ) where++import Network.Google.Docs.Types.Product+import Network.Google.Docs.Types.Sum+import Network.Google.Prelude++-- | Default request referring to version 'v1' of the Google Docs API. This contains the host and root path used as a starting point for constructing service requests.+docsService :: ServiceConfig+docsService+ = defaultService (ServiceId "docs:v1")+ "docs.googleapis.com"++-- | See and download all your Google Drive files+driveReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/drive.readonly"]+driveReadOnlyScope = Proxy++-- | See, edit, create, and delete all of your Google Drive files+driveScope :: Proxy '["https://www.googleapis.com/auth/drive"]+driveScope = Proxy++-- | View and manage Google Drive files and folders that you have opened or+-- created with this app+driveFileScope :: Proxy '["https://www.googleapis.com/auth/drive.file"]+driveFileScope = Proxy++-- | View and manage your Google Docs documents+documentsScope :: Proxy '["https://www.googleapis.com/auth/documents"]+documentsScope = Proxy++-- | View your Google Docs documents+documentsReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/documents.readonly"]+documentsReadOnlyScope = Proxy
+ gen/Network/Google/Docs/Types/Product.hs view
@@ -0,0 +1,11043 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}++{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Docs.Types.Product+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.Docs.Types.Product where++import Network.Google.Docs.Types.Sum+import Network.Google.Prelude++-- | A mask that indicates which of the fields on the base TableCellStyle+-- have been changed in this suggestion. For any field set to true, there+-- is a new suggested value.+--+-- /See:/ 'tableCellStyleSuggestionState' smart constructor.+data TableCellStyleSuggestionState =+ TableCellStyleSuggestionState'+ { _tcsssPaddingLeftSuggested :: !(Maybe Bool)+ , _tcsssPaddingTopSuggested :: !(Maybe Bool)+ , _tcsssBOrderTopSuggested :: !(Maybe Bool)+ , _tcsssRowSpanSuggested :: !(Maybe Bool)+ , _tcsssPaddingBottomSuggested :: !(Maybe Bool)+ , _tcsssBOrderBottomSuggested :: !(Maybe Bool)+ , _tcsssPaddingRightSuggested :: !(Maybe Bool)+ , _tcsssColumnSpanSuggested :: !(Maybe Bool)+ , _tcsssBOrderLeftSuggested :: !(Maybe Bool)+ , _tcsssContentAlignmentSuggested :: !(Maybe Bool)+ , _tcsssBackgRoundColorSuggested :: !(Maybe Bool)+ , _tcsssBOrderRightSuggested :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableCellStyleSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcsssPaddingLeftSuggested'+--+-- * 'tcsssPaddingTopSuggested'+--+-- * 'tcsssBOrderTopSuggested'+--+-- * 'tcsssRowSpanSuggested'+--+-- * 'tcsssPaddingBottomSuggested'+--+-- * 'tcsssBOrderBottomSuggested'+--+-- * 'tcsssPaddingRightSuggested'+--+-- * 'tcsssColumnSpanSuggested'+--+-- * 'tcsssBOrderLeftSuggested'+--+-- * 'tcsssContentAlignmentSuggested'+--+-- * 'tcsssBackgRoundColorSuggested'+--+-- * 'tcsssBOrderRightSuggested'+tableCellStyleSuggestionState+ :: TableCellStyleSuggestionState+tableCellStyleSuggestionState =+ TableCellStyleSuggestionState'+ { _tcsssPaddingLeftSuggested = Nothing+ , _tcsssPaddingTopSuggested = Nothing+ , _tcsssBOrderTopSuggested = Nothing+ , _tcsssRowSpanSuggested = Nothing+ , _tcsssPaddingBottomSuggested = Nothing+ , _tcsssBOrderBottomSuggested = Nothing+ , _tcsssPaddingRightSuggested = Nothing+ , _tcsssColumnSpanSuggested = Nothing+ , _tcsssBOrderLeftSuggested = Nothing+ , _tcsssContentAlignmentSuggested = Nothing+ , _tcsssBackgRoundColorSuggested = Nothing+ , _tcsssBOrderRightSuggested = Nothing+ }+++-- | Indicates if there was a suggested change to padding_left.+tcsssPaddingLeftSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssPaddingLeftSuggested+ = lens _tcsssPaddingLeftSuggested+ (\ s a -> s{_tcsssPaddingLeftSuggested = a})++-- | Indicates if there was a suggested change to padding_top.+tcsssPaddingTopSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssPaddingTopSuggested+ = lens _tcsssPaddingTopSuggested+ (\ s a -> s{_tcsssPaddingTopSuggested = a})++-- | Indicates if there was a suggested change to border_top.+tcsssBOrderTopSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssBOrderTopSuggested+ = lens _tcsssBOrderTopSuggested+ (\ s a -> s{_tcsssBOrderTopSuggested = a})++-- | Indicates if there was a suggested change to row_span.+tcsssRowSpanSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssRowSpanSuggested+ = lens _tcsssRowSpanSuggested+ (\ s a -> s{_tcsssRowSpanSuggested = a})++-- | Indicates if there was a suggested change to padding_bottom.+tcsssPaddingBottomSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssPaddingBottomSuggested+ = lens _tcsssPaddingBottomSuggested+ (\ s a -> s{_tcsssPaddingBottomSuggested = a})++-- | Indicates if there was a suggested change to border_bottom.+tcsssBOrderBottomSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssBOrderBottomSuggested+ = lens _tcsssBOrderBottomSuggested+ (\ s a -> s{_tcsssBOrderBottomSuggested = a})++-- | Indicates if there was a suggested change to padding_right.+tcsssPaddingRightSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssPaddingRightSuggested+ = lens _tcsssPaddingRightSuggested+ (\ s a -> s{_tcsssPaddingRightSuggested = a})++-- | Indicates if there was a suggested change to column_span.+tcsssColumnSpanSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssColumnSpanSuggested+ = lens _tcsssColumnSpanSuggested+ (\ s a -> s{_tcsssColumnSpanSuggested = a})++-- | Indicates if there was a suggested change to border_left.+tcsssBOrderLeftSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssBOrderLeftSuggested+ = lens _tcsssBOrderLeftSuggested+ (\ s a -> s{_tcsssBOrderLeftSuggested = a})++-- | Indicates if there was a suggested change to content_alignment.+tcsssContentAlignmentSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssContentAlignmentSuggested+ = lens _tcsssContentAlignmentSuggested+ (\ s a -> s{_tcsssContentAlignmentSuggested = a})++-- | Indicates if there was a suggested change to background_color.+tcsssBackgRoundColorSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssBackgRoundColorSuggested+ = lens _tcsssBackgRoundColorSuggested+ (\ s a -> s{_tcsssBackgRoundColorSuggested = a})++-- | Indicates if there was a suggested change to border_right.+tcsssBOrderRightSuggested :: Lens' TableCellStyleSuggestionState (Maybe Bool)+tcsssBOrderRightSuggested+ = lens _tcsssBOrderRightSuggested+ (\ s a -> s{_tcsssBOrderRightSuggested = a})++instance FromJSON TableCellStyleSuggestionState where+ parseJSON+ = withObject "TableCellStyleSuggestionState"+ (\ o ->+ TableCellStyleSuggestionState' <$>+ (o .:? "paddingLeftSuggested") <*>+ (o .:? "paddingTopSuggested")+ <*> (o .:? "borderTopSuggested")+ <*> (o .:? "rowSpanSuggested")+ <*> (o .:? "paddingBottomSuggested")+ <*> (o .:? "borderBottomSuggested")+ <*> (o .:? "paddingRightSuggested")+ <*> (o .:? "columnSpanSuggested")+ <*> (o .:? "borderLeftSuggested")+ <*> (o .:? "contentAlignmentSuggested")+ <*> (o .:? "backgroundColorSuggested")+ <*> (o .:? "borderRightSuggested"))++instance ToJSON TableCellStyleSuggestionState where+ toJSON TableCellStyleSuggestionState'{..}+ = object+ (catMaybes+ [("paddingLeftSuggested" .=) <$>+ _tcsssPaddingLeftSuggested,+ ("paddingTopSuggested" .=) <$>+ _tcsssPaddingTopSuggested,+ ("borderTopSuggested" .=) <$>+ _tcsssBOrderTopSuggested,+ ("rowSpanSuggested" .=) <$> _tcsssRowSpanSuggested,+ ("paddingBottomSuggested" .=) <$>+ _tcsssPaddingBottomSuggested,+ ("borderBottomSuggested" .=) <$>+ _tcsssBOrderBottomSuggested,+ ("paddingRightSuggested" .=) <$>+ _tcsssPaddingRightSuggested,+ ("columnSpanSuggested" .=) <$>+ _tcsssColumnSpanSuggested,+ ("borderLeftSuggested" .=) <$>+ _tcsssBOrderLeftSuggested,+ ("contentAlignmentSuggested" .=) <$>+ _tcsssContentAlignmentSuggested,+ ("backgroundColorSuggested" .=) <$>+ _tcsssBackgRoundColorSuggested,+ ("borderRightSuggested" .=) <$>+ _tcsssBOrderRightSuggested])++-- | A mask that indicates which of the fields on the base+-- EmbeddedObjectBorder have been changed in this suggestion. For any field+-- set to true, there is a new suggested value.+--+-- /See:/ 'embeddedObjectBOrderSuggestionState' smart constructor.+data EmbeddedObjectBOrderSuggestionState =+ EmbeddedObjectBOrderSuggestionState'+ { _eobossDashStyleSuggested :: !(Maybe Bool)+ , _eobossPropertyStateSuggested :: !(Maybe Bool)+ , _eobossColorSuggested :: !(Maybe Bool)+ , _eobossWidthSuggested :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EmbeddedObjectBOrderSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eobossDashStyleSuggested'+--+-- * 'eobossPropertyStateSuggested'+--+-- * 'eobossColorSuggested'+--+-- * 'eobossWidthSuggested'+embeddedObjectBOrderSuggestionState+ :: EmbeddedObjectBOrderSuggestionState+embeddedObjectBOrderSuggestionState =+ EmbeddedObjectBOrderSuggestionState'+ { _eobossDashStyleSuggested = Nothing+ , _eobossPropertyStateSuggested = Nothing+ , _eobossColorSuggested = Nothing+ , _eobossWidthSuggested = Nothing+ }+++-- | Indicates if there was a suggested change to dash_style.+eobossDashStyleSuggested :: Lens' EmbeddedObjectBOrderSuggestionState (Maybe Bool)+eobossDashStyleSuggested+ = lens _eobossDashStyleSuggested+ (\ s a -> s{_eobossDashStyleSuggested = a})++-- | Indicates if there was a suggested change to property_state.+eobossPropertyStateSuggested :: Lens' EmbeddedObjectBOrderSuggestionState (Maybe Bool)+eobossPropertyStateSuggested+ = lens _eobossPropertyStateSuggested+ (\ s a -> s{_eobossPropertyStateSuggested = a})++-- | Indicates if there was a suggested change to color.+eobossColorSuggested :: Lens' EmbeddedObjectBOrderSuggestionState (Maybe Bool)+eobossColorSuggested+ = lens _eobossColorSuggested+ (\ s a -> s{_eobossColorSuggested = a})++-- | Indicates if there was a suggested change to width.+eobossWidthSuggested :: Lens' EmbeddedObjectBOrderSuggestionState (Maybe Bool)+eobossWidthSuggested+ = lens _eobossWidthSuggested+ (\ s a -> s{_eobossWidthSuggested = a})++instance FromJSON EmbeddedObjectBOrderSuggestionState+ where+ parseJSON+ = withObject "EmbeddedObjectBOrderSuggestionState"+ (\ o ->+ EmbeddedObjectBOrderSuggestionState' <$>+ (o .:? "dashStyleSuggested") <*>+ (o .:? "propertyStateSuggested")+ <*> (o .:? "colorSuggested")+ <*> (o .:? "widthSuggested"))++instance ToJSON EmbeddedObjectBOrderSuggestionState+ where+ toJSON EmbeddedObjectBOrderSuggestionState'{..}+ = object+ (catMaybes+ [("dashStyleSuggested" .=) <$>+ _eobossDashStyleSuggested,+ ("propertyStateSuggested" .=) <$>+ _eobossPropertyStateSuggested,+ ("colorSuggested" .=) <$> _eobossColorSuggested,+ ("widthSuggested" .=) <$> _eobossWidthSuggested])++-- | A border around a table cell. Table cell borders cannot be transparent.+-- To hide a table cell border, make its width 0.+--+-- /See:/ 'tableCellBOrder' smart constructor.+data TableCellBOrder =+ TableCellBOrder'+ { _tcboColor :: !(Maybe OptionalColor)+ , _tcboWidth :: !(Maybe Dimension)+ , _tcboDashStyle :: !(Maybe TableCellBOrderDashStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableCellBOrder' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcboColor'+--+-- * 'tcboWidth'+--+-- * 'tcboDashStyle'+tableCellBOrder+ :: TableCellBOrder+tableCellBOrder =+ TableCellBOrder'+ {_tcboColor = Nothing, _tcboWidth = Nothing, _tcboDashStyle = Nothing}+++-- | The color of the border. This color cannot be transparent.+tcboColor :: Lens' TableCellBOrder (Maybe OptionalColor)+tcboColor+ = lens _tcboColor (\ s a -> s{_tcboColor = a})++-- | The width of the border.+tcboWidth :: Lens' TableCellBOrder (Maybe Dimension)+tcboWidth+ = lens _tcboWidth (\ s a -> s{_tcboWidth = a})++-- | The dash style of the border.+tcboDashStyle :: Lens' TableCellBOrder (Maybe TableCellBOrderDashStyle)+tcboDashStyle+ = lens _tcboDashStyle+ (\ s a -> s{_tcboDashStyle = a})++instance FromJSON TableCellBOrder where+ parseJSON+ = withObject "TableCellBOrder"+ (\ o ->+ TableCellBOrder' <$>+ (o .:? "color") <*> (o .:? "width") <*>+ (o .:? "dashStyle"))++instance ToJSON TableCellBOrder where+ toJSON TableCellBOrder'{..}+ = object+ (catMaybes+ [("color" .=) <$> _tcboColor,+ ("width" .=) <$> _tcboWidth,+ ("dashStyle" .=) <$> _tcboDashStyle])++-- | Deletes a row from a table.+--+-- /See:/ 'deleteTableRowRequest' smart constructor.+newtype DeleteTableRowRequest =+ DeleteTableRowRequest'+ { _dtrrTableCellLocation :: Maybe TableCellLocation+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteTableRowRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtrrTableCellLocation'+deleteTableRowRequest+ :: DeleteTableRowRequest+deleteTableRowRequest =+ DeleteTableRowRequest' {_dtrrTableCellLocation = Nothing}+++-- | The reference table cell location from which the row will be deleted.+-- The row this cell spans will be deleted. If this is a merged cell that+-- spans multiple rows, all rows that the cell spans will be deleted. If no+-- rows remain in the table after this deletion, the whole table is+-- deleted.+dtrrTableCellLocation :: Lens' DeleteTableRowRequest (Maybe TableCellLocation)+dtrrTableCellLocation+ = lens _dtrrTableCellLocation+ (\ s a -> s{_dtrrTableCellLocation = a})++instance FromJSON DeleteTableRowRequest where+ parseJSON+ = withObject "DeleteTableRowRequest"+ (\ o ->+ DeleteTableRowRequest' <$>+ (o .:? "tableCellLocation"))++instance ToJSON DeleteTableRowRequest where+ toJSON DeleteTableRowRequest'{..}+ = object+ (catMaybes+ [("tableCellLocation" .=) <$>+ _dtrrTableCellLocation])++-- | The suggestion state of a NamedStyles message.+--+-- /See:/ 'namedStylesSuggestionState' smart constructor.+newtype NamedStylesSuggestionState =+ NamedStylesSuggestionState'+ { _nsssStylesSuggestionStates :: Maybe [NamedStyleSuggestionState]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NamedStylesSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nsssStylesSuggestionStates'+namedStylesSuggestionState+ :: NamedStylesSuggestionState+namedStylesSuggestionState =+ NamedStylesSuggestionState' {_nsssStylesSuggestionStates = Nothing}+++-- | A mask that indicates which of the fields on the corresponding+-- NamedStyle in styles have been changed in this suggestion. The order of+-- these named style suggestion states match the order of the corresponding+-- named style within the named styles suggestion.+nsssStylesSuggestionStates :: Lens' NamedStylesSuggestionState [NamedStyleSuggestionState]+nsssStylesSuggestionStates+ = lens _nsssStylesSuggestionStates+ (\ s a -> s{_nsssStylesSuggestionStates = a})+ . _Default+ . _Coerce++instance FromJSON NamedStylesSuggestionState where+ parseJSON+ = withObject "NamedStylesSuggestionState"+ (\ o ->+ NamedStylesSuggestionState' <$>+ (o .:? "stylesSuggestionStates" .!= mempty))++instance ToJSON NamedStylesSuggestionState where+ toJSON NamedStylesSuggestionState'{..}+ = object+ (catMaybes+ [("stylesSuggestionStates" .=) <$>+ _nsssStylesSuggestionStates])++-- | The positioning of a PositionedObject. The positioned object is+-- positioned relative to the beginning of the Paragraph it is tethered to.+--+-- /See:/ 'positionedObjectPositioning' smart constructor.+data PositionedObjectPositioning =+ PositionedObjectPositioning'+ { _popLayout :: !(Maybe PositionedObjectPositioningLayout)+ , _popTopOffSet :: !(Maybe Dimension)+ , _popLeftOffSet :: !(Maybe Dimension)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PositionedObjectPositioning' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'popLayout'+--+-- * 'popTopOffSet'+--+-- * 'popLeftOffSet'+positionedObjectPositioning+ :: PositionedObjectPositioning+positionedObjectPositioning =+ PositionedObjectPositioning'+ {_popLayout = Nothing, _popTopOffSet = Nothing, _popLeftOffSet = Nothing}+++-- | The layout of this positioned object.+popLayout :: Lens' PositionedObjectPositioning (Maybe PositionedObjectPositioningLayout)+popLayout+ = lens _popLayout (\ s a -> s{_popLayout = a})++-- | The offset of the top edge of the positioned object relative to the+-- beginning of the Paragraph it is tethered to. The exact positioning of+-- the object can depend on other content in the document and the+-- document\'s styling.+popTopOffSet :: Lens' PositionedObjectPositioning (Maybe Dimension)+popTopOffSet+ = lens _popTopOffSet (\ s a -> s{_popTopOffSet = a})++-- | The offset of the left edge of the positioned object relative to the+-- beginning of the Paragraph it is tethered to. The exact positioning of+-- the object can depend on other content in the document and the+-- document\'s styling.+popLeftOffSet :: Lens' PositionedObjectPositioning (Maybe Dimension)+popLeftOffSet+ = lens _popLeftOffSet+ (\ s a -> s{_popLeftOffSet = a})++instance FromJSON PositionedObjectPositioning where+ parseJSON+ = withObject "PositionedObjectPositioning"+ (\ o ->+ PositionedObjectPositioning' <$>+ (o .:? "layout") <*> (o .:? "topOffset") <*>+ (o .:? "leftOffset"))++instance ToJSON PositionedObjectPositioning where+ toJSON PositionedObjectPositioning'{..}+ = object+ (catMaybes+ [("layout" .=) <$> _popLayout,+ ("topOffset" .=) <$> _popTopOffSet,+ ("leftOffset" .=) <$> _popLeftOffSet])++-- | A suggested change to a ParagraphStyle.+--+-- /See:/ 'suggestedParagraphStyle' smart constructor.+data SuggestedParagraphStyle =+ SuggestedParagraphStyle'+ { _spsParagraphStyleSuggestionState :: !(Maybe ParagraphStyleSuggestionState)+ , _spsParagraphStyle :: !(Maybe ParagraphStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SuggestedParagraphStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spsParagraphStyleSuggestionState'+--+-- * 'spsParagraphStyle'+suggestedParagraphStyle+ :: SuggestedParagraphStyle+suggestedParagraphStyle =+ SuggestedParagraphStyle'+ {_spsParagraphStyleSuggestionState = Nothing, _spsParagraphStyle = Nothing}+++-- | A mask that indicates which of the fields on the base ParagraphStyle+-- have been changed in this suggestion.+spsParagraphStyleSuggestionState :: Lens' SuggestedParagraphStyle (Maybe ParagraphStyleSuggestionState)+spsParagraphStyleSuggestionState+ = lens _spsParagraphStyleSuggestionState+ (\ s a -> s{_spsParagraphStyleSuggestionState = a})++-- | A ParagraphStyle that only includes the changes made in this suggestion.+-- This can be used along with the paragraph_suggestion_state to see which+-- fields have changed and their new values.+spsParagraphStyle :: Lens' SuggestedParagraphStyle (Maybe ParagraphStyle)+spsParagraphStyle+ = lens _spsParagraphStyle+ (\ s a -> s{_spsParagraphStyle = a})++instance FromJSON SuggestedParagraphStyle where+ parseJSON+ = withObject "SuggestedParagraphStyle"+ (\ o ->+ SuggestedParagraphStyle' <$>+ (o .:? "paragraphStyleSuggestionState") <*>+ (o .:? "paragraphStyle"))++instance ToJSON SuggestedParagraphStyle where+ toJSON SuggestedParagraphStyle'{..}+ = object+ (catMaybes+ [("paragraphStyleSuggestionState" .=) <$>+ _spsParagraphStyleSuggestionState,+ ("paragraphStyle" .=) <$> _spsParagraphStyle])++-- | Properties of a PositionedObject.+--+-- /See:/ 'positionedObjectProperties' smart constructor.+data PositionedObjectProperties =+ PositionedObjectProperties'+ { _popEmbeddedObject :: !(Maybe EmbeddedObject)+ , _popPositioning :: !(Maybe PositionedObjectPositioning)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PositionedObjectProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'popEmbeddedObject'+--+-- * 'popPositioning'+positionedObjectProperties+ :: PositionedObjectProperties+positionedObjectProperties =+ PositionedObjectProperties'+ {_popEmbeddedObject = Nothing, _popPositioning = Nothing}+++-- | The embedded object of this positioned object.+popEmbeddedObject :: Lens' PositionedObjectProperties (Maybe EmbeddedObject)+popEmbeddedObject+ = lens _popEmbeddedObject+ (\ s a -> s{_popEmbeddedObject = a})++-- | The positioning of this positioned object relative to the newline of the+-- Paragraph that references this positioned object.+popPositioning :: Lens' PositionedObjectProperties (Maybe PositionedObjectPositioning)+popPositioning+ = lens _popPositioning+ (\ s a -> s{_popPositioning = a})++instance FromJSON PositionedObjectProperties where+ parseJSON+ = withObject "PositionedObjectProperties"+ (\ o ->+ PositionedObjectProperties' <$>+ (o .:? "embeddedObject") <*> (o .:? "positioning"))++instance ToJSON PositionedObjectProperties where+ toJSON PositionedObjectProperties'{..}+ = object+ (catMaybes+ [("embeddedObject" .=) <$> _popEmbeddedObject,+ ("positioning" .=) <$> _popPositioning])++-- | A named style. Paragraphs in the document can inherit their TextStyle+-- and ParagraphStyle from this named style when they have the same named+-- style type.+--+-- /See:/ 'namedStyle' smart constructor.+data NamedStyle =+ NamedStyle'+ { _nsNamedStyleType :: !(Maybe NamedStyleNamedStyleType)+ , _nsTextStyle :: !(Maybe TextStyle)+ , _nsParagraphStyle :: !(Maybe ParagraphStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NamedStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nsNamedStyleType'+--+-- * 'nsTextStyle'+--+-- * 'nsParagraphStyle'+namedStyle+ :: NamedStyle+namedStyle =+ NamedStyle'+ { _nsNamedStyleType = Nothing+ , _nsTextStyle = Nothing+ , _nsParagraphStyle = Nothing+ }+++-- | The type of this named style.+nsNamedStyleType :: Lens' NamedStyle (Maybe NamedStyleNamedStyleType)+nsNamedStyleType+ = lens _nsNamedStyleType+ (\ s a -> s{_nsNamedStyleType = a})++-- | The text style of this named style.+nsTextStyle :: Lens' NamedStyle (Maybe TextStyle)+nsTextStyle+ = lens _nsTextStyle (\ s a -> s{_nsTextStyle = a})++-- | The paragraph style of this named style.+nsParagraphStyle :: Lens' NamedStyle (Maybe ParagraphStyle)+nsParagraphStyle+ = lens _nsParagraphStyle+ (\ s a -> s{_nsParagraphStyle = a})++instance FromJSON NamedStyle where+ parseJSON+ = withObject "NamedStyle"+ (\ o ->+ NamedStyle' <$>+ (o .:? "namedStyleType") <*> (o .:? "textStyle") <*>+ (o .:? "paragraphStyle"))++instance ToJSON NamedStyle where+ toJSON NamedStyle'{..}+ = object+ (catMaybes+ [("namedStyleType" .=) <$> _nsNamedStyleType,+ ("textStyle" .=) <$> _nsTextStyle,+ ("paragraphStyle" .=) <$> _nsParagraphStyle])++-- | Deletes a NamedRange.+--+-- /See:/ 'deleteNamedRangeRequest' smart constructor.+data DeleteNamedRangeRequest =+ DeleteNamedRangeRequest'+ { _dnrrNamedRangeId :: !(Maybe Text)+ , _dnrrName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteNamedRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dnrrNamedRangeId'+--+-- * 'dnrrName'+deleteNamedRangeRequest+ :: DeleteNamedRangeRequest+deleteNamedRangeRequest =+ DeleteNamedRangeRequest' {_dnrrNamedRangeId = Nothing, _dnrrName = Nothing}+++-- | The ID of the named range to delete.+dnrrNamedRangeId :: Lens' DeleteNamedRangeRequest (Maybe Text)+dnrrNamedRangeId+ = lens _dnrrNamedRangeId+ (\ s a -> s{_dnrrNamedRangeId = a})++-- | The name of the range(s) to delete. All named ranges with the given name+-- will be deleted.+dnrrName :: Lens' DeleteNamedRangeRequest (Maybe Text)+dnrrName = lens _dnrrName (\ s a -> s{_dnrrName = a})++instance FromJSON DeleteNamedRangeRequest where+ parseJSON+ = withObject "DeleteNamedRangeRequest"+ (\ o ->+ DeleteNamedRangeRequest' <$>+ (o .:? "namedRangeId") <*> (o .:? "name"))++instance ToJSON DeleteNamedRangeRequest where+ toJSON DeleteNamedRangeRequest'{..}+ = object+ (catMaybes+ [("namedRangeId" .=) <$> _dnrrNamedRangeId,+ ("name" .=) <$> _dnrrName])++-- | A mask that indicates which of the fields on the base+-- EmbeddedDrawingProperties have been changed in this suggestion. For any+-- field set to true, there is a new suggested value.+--+-- /See:/ 'embeddedDrawingPropertiesSuggestionState' smart constructor.+data EmbeddedDrawingPropertiesSuggestionState =+ EmbeddedDrawingPropertiesSuggestionState'+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EmbeddedDrawingPropertiesSuggestionState' with the minimum fields required to make a request.+--+embeddedDrawingPropertiesSuggestionState+ :: EmbeddedDrawingPropertiesSuggestionState+embeddedDrawingPropertiesSuggestionState =+ EmbeddedDrawingPropertiesSuggestionState'+++instance FromJSON+ EmbeddedDrawingPropertiesSuggestionState+ where+ parseJSON+ = withObject+ "EmbeddedDrawingPropertiesSuggestionState"+ (\ o ->+ pure EmbeddedDrawingPropertiesSuggestionState')++instance ToJSON+ EmbeddedDrawingPropertiesSuggestionState+ where+ toJSON = const emptyObject++-- | A tab stop within a paragraph.+--+-- /See:/ 'tabStop' smart constructor.+data TabStop =+ TabStop'+ { _tsOffSet :: !(Maybe Dimension)+ , _tsAlignment :: !(Maybe TabStopAlignment)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TabStop' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsOffSet'+--+-- * 'tsAlignment'+tabStop+ :: TabStop+tabStop = TabStop' {_tsOffSet = Nothing, _tsAlignment = Nothing}+++-- | The offset between this tab stop and the start margin.+tsOffSet :: Lens' TabStop (Maybe Dimension)+tsOffSet = lens _tsOffSet (\ s a -> s{_tsOffSet = a})++-- | The alignment of this tab stop. If unset, the value defaults to START.+tsAlignment :: Lens' TabStop (Maybe TabStopAlignment)+tsAlignment+ = lens _tsAlignment (\ s a -> s{_tsAlignment = a})++instance FromJSON TabStop where+ parseJSON+ = withObject "TabStop"+ (\ o ->+ TabStop' <$>+ (o .:? "offset") <*> (o .:? "alignment"))++instance ToJSON TabStop where+ toJSON TabStop'{..}+ = object+ (catMaybes+ [("offset" .=) <$> _tsOffSet,+ ("alignment" .=) <$> _tsAlignment])++-- | A collection of all the NamedRanges in the document that share a given+-- name.+--+-- /See:/ 'namedRanges' smart constructor.+data NamedRanges =+ NamedRanges'+ { _nrNamedRanges :: !(Maybe [NamedRange])+ , _nrName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NamedRanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nrNamedRanges'+--+-- * 'nrName'+namedRanges+ :: NamedRanges+namedRanges = NamedRanges' {_nrNamedRanges = Nothing, _nrName = Nothing}+++-- | The NamedRanges that share the same name.+nrNamedRanges :: Lens' NamedRanges [NamedRange]+nrNamedRanges+ = lens _nrNamedRanges+ (\ s a -> s{_nrNamedRanges = a})+ . _Default+ . _Coerce++-- | The name that all the named ranges share.+nrName :: Lens' NamedRanges (Maybe Text)+nrName = lens _nrName (\ s a -> s{_nrName = a})++instance FromJSON NamedRanges where+ parseJSON+ = withObject "NamedRanges"+ (\ o ->+ NamedRanges' <$>+ (o .:? "namedRanges" .!= mempty) <*> (o .:? "name"))++instance ToJSON NamedRanges where+ toJSON NamedRanges'{..}+ = object+ (catMaybes+ [("namedRanges" .=) <$> _nrNamedRanges,+ ("name" .=) <$> _nrName])++-- | The suggested style changes to this row, keyed by suggestion ID.+--+-- /See:/ 'tableRowSuggestedTableRowStyleChanges' smart constructor.+newtype TableRowSuggestedTableRowStyleChanges =+ TableRowSuggestedTableRowStyleChanges'+ { _trstrscAddtional :: HashMap Text SuggestedTableRowStyle+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableRowSuggestedTableRowStyleChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trstrscAddtional'+tableRowSuggestedTableRowStyleChanges+ :: HashMap Text SuggestedTableRowStyle -- ^ 'trstrscAddtional'+ -> TableRowSuggestedTableRowStyleChanges+tableRowSuggestedTableRowStyleChanges pTrstrscAddtional_ =+ TableRowSuggestedTableRowStyleChanges'+ {_trstrscAddtional = _Coerce # pTrstrscAddtional_}+++trstrscAddtional :: Lens' TableRowSuggestedTableRowStyleChanges (HashMap Text SuggestedTableRowStyle)+trstrscAddtional+ = lens _trstrscAddtional+ (\ s a -> s{_trstrscAddtional = a})+ . _Coerce++instance FromJSON+ TableRowSuggestedTableRowStyleChanges+ where+ parseJSON+ = withObject "TableRowSuggestedTableRowStyleChanges"+ (\ o ->+ TableRowSuggestedTableRowStyleChanges' <$>+ (parseJSONObject o))++instance ToJSON TableRowSuggestedTableRowStyleChanges+ where+ toJSON = toJSON . _trstrscAddtional++-- | A mask that indicates which of the fields on the base+-- PositionedObjectProperties have been changed in this suggestion. For any+-- field set to true, there is a new suggested value.+--+-- /See:/ 'positionedObjectPropertiesSuggestionState' smart constructor.+data PositionedObjectPropertiesSuggestionState =+ PositionedObjectPropertiesSuggestionState'+ { _popssPositioningSuggestionState :: !(Maybe PositionedObjectPositioningSuggestionState)+ , _popssEmbeddedObjectSuggestionState :: !(Maybe EmbeddedObjectSuggestionState)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PositionedObjectPropertiesSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'popssPositioningSuggestionState'+--+-- * 'popssEmbeddedObjectSuggestionState'+positionedObjectPropertiesSuggestionState+ :: PositionedObjectPropertiesSuggestionState+positionedObjectPropertiesSuggestionState =+ PositionedObjectPropertiesSuggestionState'+ { _popssPositioningSuggestionState = Nothing+ , _popssEmbeddedObjectSuggestionState = Nothing+ }+++-- | A mask that indicates which of the fields in positioning have been+-- changed in this suggestion.+popssPositioningSuggestionState :: Lens' PositionedObjectPropertiesSuggestionState (Maybe PositionedObjectPositioningSuggestionState)+popssPositioningSuggestionState+ = lens _popssPositioningSuggestionState+ (\ s a -> s{_popssPositioningSuggestionState = a})++-- | A mask that indicates which of the fields in embedded_object have been+-- changed in this suggestion.+popssEmbeddedObjectSuggestionState :: Lens' PositionedObjectPropertiesSuggestionState (Maybe EmbeddedObjectSuggestionState)+popssEmbeddedObjectSuggestionState+ = lens _popssEmbeddedObjectSuggestionState+ (\ s a -> s{_popssEmbeddedObjectSuggestionState = a})++instance FromJSON+ PositionedObjectPropertiesSuggestionState+ where+ parseJSON+ = withObject+ "PositionedObjectPropertiesSuggestionState"+ (\ o ->+ PositionedObjectPropertiesSuggestionState' <$>+ (o .:? "positioningSuggestionState") <*>+ (o .:? "embeddedObjectSuggestionState"))++instance ToJSON+ PositionedObjectPropertiesSuggestionState+ where+ toJSON PositionedObjectPropertiesSuggestionState'{..}+ = object+ (catMaybes+ [("positioningSuggestionState" .=) <$>+ _popssPositioningSuggestionState,+ ("embeddedObjectSuggestionState" .=) <$>+ _popssEmbeddedObjectSuggestionState])++-- | A mask that indicates which of the fields on the base+-- PositionedObjectPositioning have been changed in this suggestion. For+-- any field set to true, there is a new suggested value.+--+-- /See:/ 'positionedObjectPositioningSuggestionState' smart constructor.+data PositionedObjectPositioningSuggestionState =+ PositionedObjectPositioningSuggestionState'+ { _popssTopOffSetSuggested :: !(Maybe Bool)+ , _popssLayoutSuggested :: !(Maybe Bool)+ , _popssLeftOffSetSuggested :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PositionedObjectPositioningSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'popssTopOffSetSuggested'+--+-- * 'popssLayoutSuggested'+--+-- * 'popssLeftOffSetSuggested'+positionedObjectPositioningSuggestionState+ :: PositionedObjectPositioningSuggestionState+positionedObjectPositioningSuggestionState =+ PositionedObjectPositioningSuggestionState'+ { _popssTopOffSetSuggested = Nothing+ , _popssLayoutSuggested = Nothing+ , _popssLeftOffSetSuggested = Nothing+ }+++-- | Indicates if there was a suggested change to top_offset.+popssTopOffSetSuggested :: Lens' PositionedObjectPositioningSuggestionState (Maybe Bool)+popssTopOffSetSuggested+ = lens _popssTopOffSetSuggested+ (\ s a -> s{_popssTopOffSetSuggested = a})++-- | Indicates if there was a suggested change to layout.+popssLayoutSuggested :: Lens' PositionedObjectPositioningSuggestionState (Maybe Bool)+popssLayoutSuggested+ = lens _popssLayoutSuggested+ (\ s a -> s{_popssLayoutSuggested = a})++-- | Indicates if there was a suggested change to left_offset.+popssLeftOffSetSuggested :: Lens' PositionedObjectPositioningSuggestionState (Maybe Bool)+popssLeftOffSetSuggested+ = lens _popssLeftOffSetSuggested+ (\ s a -> s{_popssLeftOffSetSuggested = a})++instance FromJSON+ PositionedObjectPositioningSuggestionState+ where+ parseJSON+ = withObject+ "PositionedObjectPositioningSuggestionState"+ (\ o ->+ PositionedObjectPositioningSuggestionState' <$>+ (o .:? "topOffsetSuggested") <*>+ (o .:? "layoutSuggested")+ <*> (o .:? "leftOffsetSuggested"))++instance ToJSON+ PositionedObjectPositioningSuggestionState+ where+ toJSON+ PositionedObjectPositioningSuggestionState'{..}+ = object+ (catMaybes+ [("topOffsetSuggested" .=) <$>+ _popssTopOffSetSuggested,+ ("layoutSuggested" .=) <$> _popssLayoutSuggested,+ ("leftOffsetSuggested" .=) <$>+ _popssLeftOffSetSuggested])++-- | A suggestion state of a NamedStyle message.+--+-- /See:/ 'namedStyleSuggestionState' smart constructor.+data NamedStyleSuggestionState =+ NamedStyleSuggestionState'+ { _nsssParagraphStyleSuggestionState :: !(Maybe ParagraphStyleSuggestionState)+ , _nsssNamedStyleType :: !(Maybe NamedStyleSuggestionStateNamedStyleType)+ , _nsssTextStyleSuggestionState :: !(Maybe TextStyleSuggestionState)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NamedStyleSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nsssParagraphStyleSuggestionState'+--+-- * 'nsssNamedStyleType'+--+-- * 'nsssTextStyleSuggestionState'+namedStyleSuggestionState+ :: NamedStyleSuggestionState+namedStyleSuggestionState =+ NamedStyleSuggestionState'+ { _nsssParagraphStyleSuggestionState = Nothing+ , _nsssNamedStyleType = Nothing+ , _nsssTextStyleSuggestionState = Nothing+ }+++-- | A mask that indicates which of the fields in paragraph style have been+-- changed in this suggestion.+nsssParagraphStyleSuggestionState :: Lens' NamedStyleSuggestionState (Maybe ParagraphStyleSuggestionState)+nsssParagraphStyleSuggestionState+ = lens _nsssParagraphStyleSuggestionState+ (\ s a -> s{_nsssParagraphStyleSuggestionState = a})++-- | The named style type that this suggestion state corresponds to. This+-- field is provided as a convenience for matching the+-- NamedStyleSuggestionState with its corresponding NamedStyle.+nsssNamedStyleType :: Lens' NamedStyleSuggestionState (Maybe NamedStyleSuggestionStateNamedStyleType)+nsssNamedStyleType+ = lens _nsssNamedStyleType+ (\ s a -> s{_nsssNamedStyleType = a})++-- | A mask that indicates which of the fields in text style have been+-- changed in this suggestion.+nsssTextStyleSuggestionState :: Lens' NamedStyleSuggestionState (Maybe TextStyleSuggestionState)+nsssTextStyleSuggestionState+ = lens _nsssTextStyleSuggestionState+ (\ s a -> s{_nsssTextStyleSuggestionState = a})++instance FromJSON NamedStyleSuggestionState where+ parseJSON+ = withObject "NamedStyleSuggestionState"+ (\ o ->+ NamedStyleSuggestionState' <$>+ (o .:? "paragraphStyleSuggestionState") <*>+ (o .:? "namedStyleType")+ <*> (o .:? "textStyleSuggestionState"))++instance ToJSON NamedStyleSuggestionState where+ toJSON NamedStyleSuggestionState'{..}+ = object+ (catMaybes+ [("paragraphStyleSuggestionState" .=) <$>+ _nsssParagraphStyleSuggestionState,+ ("namedStyleType" .=) <$> _nsssNamedStyleType,+ ("textStyleSuggestionState" .=) <$>+ _nsssTextStyleSuggestionState])++-- | The crop properties of an image. The crop rectangle is represented using+-- fractional offsets from the original content\'s four edges. - If the+-- offset is in the interval (0, 1), the corresponding edge of crop+-- rectangle is positioned inside of the image\'s original bounding+-- rectangle. - If the offset is negative or greater than 1, the+-- corresponding edge of crop rectangle is positioned outside of the+-- image\'s original bounding rectangle. - If all offsets and rotation+-- angle are 0, the image is not cropped.+--+-- /See:/ 'cropProperties' smart constructor.+data CropProperties =+ CropProperties'+ { _cpOffSetBottom :: !(Maybe (Textual Double))+ , _cpOffSetRight :: !(Maybe (Textual Double))+ , _cpAngle :: !(Maybe (Textual Double))+ , _cpOffSetTop :: !(Maybe (Textual Double))+ , _cpOffSetLeft :: !(Maybe (Textual Double))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CropProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpOffSetBottom'+--+-- * 'cpOffSetRight'+--+-- * 'cpAngle'+--+-- * 'cpOffSetTop'+--+-- * 'cpOffSetLeft'+cropProperties+ :: CropProperties+cropProperties =+ CropProperties'+ { _cpOffSetBottom = Nothing+ , _cpOffSetRight = Nothing+ , _cpAngle = Nothing+ , _cpOffSetTop = Nothing+ , _cpOffSetLeft = Nothing+ }+++-- | The offset specifies how far inwards the bottom edge of the crop+-- rectangle is from the bottom edge of the original content as a fraction+-- of the original content\'s height.+cpOffSetBottom :: Lens' CropProperties (Maybe Double)+cpOffSetBottom+ = lens _cpOffSetBottom+ (\ s a -> s{_cpOffSetBottom = a})+ . mapping _Coerce++-- | The offset specifies how far inwards the right edge of the crop+-- rectangle is from the right edge of the original content as a fraction+-- of the original content\'s width.+cpOffSetRight :: Lens' CropProperties (Maybe Double)+cpOffSetRight+ = lens _cpOffSetRight+ (\ s a -> s{_cpOffSetRight = a})+ . mapping _Coerce++-- | The clockwise rotation angle of the crop rectangle around its center, in+-- radians. Rotation is applied after the offsets.+cpAngle :: Lens' CropProperties (Maybe Double)+cpAngle+ = lens _cpAngle (\ s a -> s{_cpAngle = a}) .+ mapping _Coerce++-- | The offset specifies how far inwards the top edge of the crop rectangle+-- is from the top edge of the original content as a fraction of the+-- original content\'s height.+cpOffSetTop :: Lens' CropProperties (Maybe Double)+cpOffSetTop+ = lens _cpOffSetTop (\ s a -> s{_cpOffSetTop = a}) .+ mapping _Coerce++-- | The offset specifies how far inwards the left edge of the crop rectangle+-- is from the left edge of the original content as a fraction of the+-- original content\'s width.+cpOffSetLeft :: Lens' CropProperties (Maybe Double)+cpOffSetLeft+ = lens _cpOffSetLeft (\ s a -> s{_cpOffSetLeft = a})+ . mapping _Coerce++instance FromJSON CropProperties where+ parseJSON+ = withObject "CropProperties"+ (\ o ->+ CropProperties' <$>+ (o .:? "offsetBottom") <*> (o .:? "offsetRight") <*>+ (o .:? "angle")+ <*> (o .:? "offsetTop")+ <*> (o .:? "offsetLeft"))++instance ToJSON CropProperties where+ toJSON CropProperties'{..}+ = object+ (catMaybes+ [("offsetBottom" .=) <$> _cpOffSetBottom,+ ("offsetRight" .=) <$> _cpOffSetRight,+ ("angle" .=) <$> _cpAngle,+ ("offsetTop" .=) <$> _cpOffSetTop,+ ("offsetLeft" .=) <$> _cpOffSetLeft])++-- | A mask that indicates which of the fields on the base ParagraphStyle+-- have been changed in this suggestion. For any field set to true, there+-- is a new suggested value.+--+-- /See:/ 'paragraphStyleSuggestionState' smart constructor.+data ParagraphStyleSuggestionState =+ ParagraphStyleSuggestionState'+ { _psssSpacingModeSuggested :: !(Maybe Bool)+ , _psssBOrderTopSuggested :: !(Maybe Bool)+ , _psssLineSpacingSuggested :: !(Maybe Bool)+ , _psssDirectionSuggested :: !(Maybe Bool)+ , _psssAvoidWidowAndOrphanSuggested :: !(Maybe Bool)+ , _psssBOrderBottomSuggested :: !(Maybe Bool)+ , _psssSpaceAboveSuggested :: !(Maybe Bool)+ , _psssNamedStyleTypeSuggested :: !(Maybe Bool)+ , _psssIndentStartSuggested :: !(Maybe Bool)+ , _psssAlignmentSuggested :: !(Maybe Bool)+ , _psssBOrderLeftSuggested :: !(Maybe Bool)+ , _psssSpaceBelowSuggested :: !(Maybe Bool)+ , _psssIndentFirstLineSuggested :: !(Maybe Bool)+ , _psssShadingSuggestionState :: !(Maybe ShadingSuggestionState)+ , _psssHeadingIdSuggested :: !(Maybe Bool)+ , _psssBOrderBetweenSuggested :: !(Maybe Bool)+ , _psssKeepWithNextSuggested :: !(Maybe Bool)+ , _psssIndentEndSuggested :: !(Maybe Bool)+ , _psssBOrderRightSuggested :: !(Maybe Bool)+ , _psssKeepLinesTogetherSuggested :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParagraphStyleSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psssSpacingModeSuggested'+--+-- * 'psssBOrderTopSuggested'+--+-- * 'psssLineSpacingSuggested'+--+-- * 'psssDirectionSuggested'+--+-- * 'psssAvoidWidowAndOrphanSuggested'+--+-- * 'psssBOrderBottomSuggested'+--+-- * 'psssSpaceAboveSuggested'+--+-- * 'psssNamedStyleTypeSuggested'+--+-- * 'psssIndentStartSuggested'+--+-- * 'psssAlignmentSuggested'+--+-- * 'psssBOrderLeftSuggested'+--+-- * 'psssSpaceBelowSuggested'+--+-- * 'psssIndentFirstLineSuggested'+--+-- * 'psssShadingSuggestionState'+--+-- * 'psssHeadingIdSuggested'+--+-- * 'psssBOrderBetweenSuggested'+--+-- * 'psssKeepWithNextSuggested'+--+-- * 'psssIndentEndSuggested'+--+-- * 'psssBOrderRightSuggested'+--+-- * 'psssKeepLinesTogetherSuggested'+paragraphStyleSuggestionState+ :: ParagraphStyleSuggestionState+paragraphStyleSuggestionState =+ ParagraphStyleSuggestionState'+ { _psssSpacingModeSuggested = Nothing+ , _psssBOrderTopSuggested = Nothing+ , _psssLineSpacingSuggested = Nothing+ , _psssDirectionSuggested = Nothing+ , _psssAvoidWidowAndOrphanSuggested = Nothing+ , _psssBOrderBottomSuggested = Nothing+ , _psssSpaceAboveSuggested = Nothing+ , _psssNamedStyleTypeSuggested = Nothing+ , _psssIndentStartSuggested = Nothing+ , _psssAlignmentSuggested = Nothing+ , _psssBOrderLeftSuggested = Nothing+ , _psssSpaceBelowSuggested = Nothing+ , _psssIndentFirstLineSuggested = Nothing+ , _psssShadingSuggestionState = Nothing+ , _psssHeadingIdSuggested = Nothing+ , _psssBOrderBetweenSuggested = Nothing+ , _psssKeepWithNextSuggested = Nothing+ , _psssIndentEndSuggested = Nothing+ , _psssBOrderRightSuggested = Nothing+ , _psssKeepLinesTogetherSuggested = Nothing+ }+++-- | Indicates if there was a suggested change to spacing_mode.+psssSpacingModeSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssSpacingModeSuggested+ = lens _psssSpacingModeSuggested+ (\ s a -> s{_psssSpacingModeSuggested = a})++-- | Indicates if there was a suggested change to border_top.+psssBOrderTopSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssBOrderTopSuggested+ = lens _psssBOrderTopSuggested+ (\ s a -> s{_psssBOrderTopSuggested = a})++-- | Indicates if there was a suggested change to line_spacing.+psssLineSpacingSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssLineSpacingSuggested+ = lens _psssLineSpacingSuggested+ (\ s a -> s{_psssLineSpacingSuggested = a})++-- | Indicates if there was a suggested change to direction.+psssDirectionSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssDirectionSuggested+ = lens _psssDirectionSuggested+ (\ s a -> s{_psssDirectionSuggested = a})++-- | Indicates if there was a suggested change to avoid_widow_and_orphan.+psssAvoidWidowAndOrphanSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssAvoidWidowAndOrphanSuggested+ = lens _psssAvoidWidowAndOrphanSuggested+ (\ s a -> s{_psssAvoidWidowAndOrphanSuggested = a})++-- | Indicates if there was a suggested change to border_bottom.+psssBOrderBottomSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssBOrderBottomSuggested+ = lens _psssBOrderBottomSuggested+ (\ s a -> s{_psssBOrderBottomSuggested = a})++-- | Indicates if there was a suggested change to space_above.+psssSpaceAboveSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssSpaceAboveSuggested+ = lens _psssSpaceAboveSuggested+ (\ s a -> s{_psssSpaceAboveSuggested = a})++-- | Indicates if there was a suggested change to named_style_type.+psssNamedStyleTypeSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssNamedStyleTypeSuggested+ = lens _psssNamedStyleTypeSuggested+ (\ s a -> s{_psssNamedStyleTypeSuggested = a})++-- | Indicates if there was a suggested change to indent_start.+psssIndentStartSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssIndentStartSuggested+ = lens _psssIndentStartSuggested+ (\ s a -> s{_psssIndentStartSuggested = a})++-- | Indicates if there was a suggested change to alignment.+psssAlignmentSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssAlignmentSuggested+ = lens _psssAlignmentSuggested+ (\ s a -> s{_psssAlignmentSuggested = a})++-- | Indicates if there was a suggested change to border_left.+psssBOrderLeftSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssBOrderLeftSuggested+ = lens _psssBOrderLeftSuggested+ (\ s a -> s{_psssBOrderLeftSuggested = a})++-- | Indicates if there was a suggested change to space_below.+psssSpaceBelowSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssSpaceBelowSuggested+ = lens _psssSpaceBelowSuggested+ (\ s a -> s{_psssSpaceBelowSuggested = a})++-- | Indicates if there was a suggested change to indent_first_line.+psssIndentFirstLineSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssIndentFirstLineSuggested+ = lens _psssIndentFirstLineSuggested+ (\ s a -> s{_psssIndentFirstLineSuggested = a})++-- | A mask that indicates which of the fields in shading have been changed+-- in this suggestion.+psssShadingSuggestionState :: Lens' ParagraphStyleSuggestionState (Maybe ShadingSuggestionState)+psssShadingSuggestionState+ = lens _psssShadingSuggestionState+ (\ s a -> s{_psssShadingSuggestionState = a})++-- | Indicates if there was a suggested change to heading_id.+psssHeadingIdSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssHeadingIdSuggested+ = lens _psssHeadingIdSuggested+ (\ s a -> s{_psssHeadingIdSuggested = a})++-- | Indicates if there was a suggested change to border_between.+psssBOrderBetweenSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssBOrderBetweenSuggested+ = lens _psssBOrderBetweenSuggested+ (\ s a -> s{_psssBOrderBetweenSuggested = a})++-- | Indicates if there was a suggested change to keep_with_next.+psssKeepWithNextSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssKeepWithNextSuggested+ = lens _psssKeepWithNextSuggested+ (\ s a -> s{_psssKeepWithNextSuggested = a})++-- | Indicates if there was a suggested change to indent_end.+psssIndentEndSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssIndentEndSuggested+ = lens _psssIndentEndSuggested+ (\ s a -> s{_psssIndentEndSuggested = a})++-- | Indicates if there was a suggested change to border_right.+psssBOrderRightSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssBOrderRightSuggested+ = lens _psssBOrderRightSuggested+ (\ s a -> s{_psssBOrderRightSuggested = a})++-- | Indicates if there was a suggested change to keep_lines_together.+psssKeepLinesTogetherSuggested :: Lens' ParagraphStyleSuggestionState (Maybe Bool)+psssKeepLinesTogetherSuggested+ = lens _psssKeepLinesTogetherSuggested+ (\ s a -> s{_psssKeepLinesTogetherSuggested = a})++instance FromJSON ParagraphStyleSuggestionState where+ parseJSON+ = withObject "ParagraphStyleSuggestionState"+ (\ o ->+ ParagraphStyleSuggestionState' <$>+ (o .:? "spacingModeSuggested") <*>+ (o .:? "borderTopSuggested")+ <*> (o .:? "lineSpacingSuggested")+ <*> (o .:? "directionSuggested")+ <*> (o .:? "avoidWidowAndOrphanSuggested")+ <*> (o .:? "borderBottomSuggested")+ <*> (o .:? "spaceAboveSuggested")+ <*> (o .:? "namedStyleTypeSuggested")+ <*> (o .:? "indentStartSuggested")+ <*> (o .:? "alignmentSuggested")+ <*> (o .:? "borderLeftSuggested")+ <*> (o .:? "spaceBelowSuggested")+ <*> (o .:? "indentFirstLineSuggested")+ <*> (o .:? "shadingSuggestionState")+ <*> (o .:? "headingIdSuggested")+ <*> (o .:? "borderBetweenSuggested")+ <*> (o .:? "keepWithNextSuggested")+ <*> (o .:? "indentEndSuggested")+ <*> (o .:? "borderRightSuggested")+ <*> (o .:? "keepLinesTogetherSuggested"))++instance ToJSON ParagraphStyleSuggestionState where+ toJSON ParagraphStyleSuggestionState'{..}+ = object+ (catMaybes+ [("spacingModeSuggested" .=) <$>+ _psssSpacingModeSuggested,+ ("borderTopSuggested" .=) <$>+ _psssBOrderTopSuggested,+ ("lineSpacingSuggested" .=) <$>+ _psssLineSpacingSuggested,+ ("directionSuggested" .=) <$>+ _psssDirectionSuggested,+ ("avoidWidowAndOrphanSuggested" .=) <$>+ _psssAvoidWidowAndOrphanSuggested,+ ("borderBottomSuggested" .=) <$>+ _psssBOrderBottomSuggested,+ ("spaceAboveSuggested" .=) <$>+ _psssSpaceAboveSuggested,+ ("namedStyleTypeSuggested" .=) <$>+ _psssNamedStyleTypeSuggested,+ ("indentStartSuggested" .=) <$>+ _psssIndentStartSuggested,+ ("alignmentSuggested" .=) <$>+ _psssAlignmentSuggested,+ ("borderLeftSuggested" .=) <$>+ _psssBOrderLeftSuggested,+ ("spaceBelowSuggested" .=) <$>+ _psssSpaceBelowSuggested,+ ("indentFirstLineSuggested" .=) <$>+ _psssIndentFirstLineSuggested,+ ("shadingSuggestionState" .=) <$>+ _psssShadingSuggestionState,+ ("headingIdSuggested" .=) <$>+ _psssHeadingIdSuggested,+ ("borderBetweenSuggested" .=) <$>+ _psssBOrderBetweenSuggested,+ ("keepWithNextSuggested" .=) <$>+ _psssKeepWithNextSuggested,+ ("indentEndSuggested" .=) <$>+ _psssIndentEndSuggested,+ ("borderRightSuggested" .=) <$>+ _psssBOrderRightSuggested,+ ("keepLinesTogetherSuggested" .=) <$>+ _psssKeepLinesTogetherSuggested])++-- | A document footnote.+--+-- /See:/ 'footNote' smart constructor.+data FootNote =+ FootNote'+ { _fnContent :: !(Maybe [StructuralElement])+ , _fnFootNoteId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FootNote' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fnContent'+--+-- * 'fnFootNoteId'+footNote+ :: FootNote+footNote = FootNote' {_fnContent = Nothing, _fnFootNoteId = Nothing}+++-- | The contents of the footnote. The indexes for a footnote\'s content+-- begin at zero.+fnContent :: Lens' FootNote [StructuralElement]+fnContent+ = lens _fnContent (\ s a -> s{_fnContent = a}) .+ _Default+ . _Coerce++-- | The ID of the footnote.+fnFootNoteId :: Lens' FootNote (Maybe Text)+fnFootNoteId+ = lens _fnFootNoteId (\ s a -> s{_fnFootNoteId = a})++instance FromJSON FootNote where+ parseJSON+ = withObject "FootNote"+ (\ o ->+ FootNote' <$>+ (o .:? "content" .!= mempty) <*>+ (o .:? "footnoteId"))++instance ToJSON FootNote where+ toJSON FootNote'{..}+ = object+ (catMaybes+ [("content" .=) <$> _fnContent,+ ("footnoteId" .=) <$> _fnFootNoteId])++-- | A ParagraphElement representing a spot in the text that is dynamically+-- replaced with content that can change over time, like a page number.+--+-- /See:/ 'autoText' smart constructor.+data AutoText =+ AutoText'+ { _atSuggestedInsertionIds :: !(Maybe [Text])+ , _atSuggestedTextStyleChanges :: !(Maybe AutoTextSuggestedTextStyleChanges)+ , _atSuggestedDeletionIds :: !(Maybe [Text])+ , _atTextStyle :: !(Maybe TextStyle)+ , _atType :: !(Maybe AutoTextType)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AutoText' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atSuggestedInsertionIds'+--+-- * 'atSuggestedTextStyleChanges'+--+-- * 'atSuggestedDeletionIds'+--+-- * 'atTextStyle'+--+-- * 'atType'+autoText+ :: AutoText+autoText =+ AutoText'+ { _atSuggestedInsertionIds = Nothing+ , _atSuggestedTextStyleChanges = Nothing+ , _atSuggestedDeletionIds = Nothing+ , _atTextStyle = Nothing+ , _atType = Nothing+ }+++-- | The suggested insertion IDs. An AutoText may have multiple insertion IDs+-- if it is a nested suggested change. If empty, then this is not a+-- suggested insertion.+atSuggestedInsertionIds :: Lens' AutoText [Text]+atSuggestedInsertionIds+ = lens _atSuggestedInsertionIds+ (\ s a -> s{_atSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The suggested text style changes to this AutoText, keyed by suggestion+-- ID.+atSuggestedTextStyleChanges :: Lens' AutoText (Maybe AutoTextSuggestedTextStyleChanges)+atSuggestedTextStyleChanges+ = lens _atSuggestedTextStyleChanges+ (\ s a -> s{_atSuggestedTextStyleChanges = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+atSuggestedDeletionIds :: Lens' AutoText [Text]+atSuggestedDeletionIds+ = lens _atSuggestedDeletionIds+ (\ s a -> s{_atSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The text style of this AutoText.+atTextStyle :: Lens' AutoText (Maybe TextStyle)+atTextStyle+ = lens _atTextStyle (\ s a -> s{_atTextStyle = a})++-- | The type of this auto text.+atType :: Lens' AutoText (Maybe AutoTextType)+atType = lens _atType (\ s a -> s{_atType = a})++instance FromJSON AutoText where+ parseJSON+ = withObject "AutoText"+ (\ o ->+ AutoText' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "suggestedTextStyleChanges")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "textStyle")+ <*> (o .:? "type"))++instance ToJSON AutoText where+ toJSON AutoText'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _atSuggestedInsertionIds,+ ("suggestedTextStyleChanges" .=) <$>+ _atSuggestedTextStyleChanges,+ ("suggestedDeletionIds" .=) <$>+ _atSuggestedDeletionIds,+ ("textStyle" .=) <$> _atTextStyle,+ ("type" .=) <$> _atType])++-- | A List represents the list attributes for a group of paragraphs that all+-- belong to the same list. A paragraph that is part of a list has a+-- reference to the list\'s ID in its bullet.+--+-- /See:/ 'list' smart constructor.+data List =+ List'+ { _lSuggestedInsertionId :: !(Maybe Text)+ , _lSuggestedListPropertiesChanges :: !(Maybe ListSuggestedListPropertiesChanges)+ , _lSuggestedDeletionIds :: !(Maybe [Text])+ , _lListProperties :: !(Maybe ListProperties)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'List' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lSuggestedInsertionId'+--+-- * 'lSuggestedListPropertiesChanges'+--+-- * 'lSuggestedDeletionIds'+--+-- * 'lListProperties'+list+ :: List+list =+ List'+ { _lSuggestedInsertionId = Nothing+ , _lSuggestedListPropertiesChanges = Nothing+ , _lSuggestedDeletionIds = Nothing+ , _lListProperties = Nothing+ }+++-- | The suggested insertion ID. If empty, then this is not a suggested+-- insertion.+lSuggestedInsertionId :: Lens' List (Maybe Text)+lSuggestedInsertionId+ = lens _lSuggestedInsertionId+ (\ s a -> s{_lSuggestedInsertionId = a})++-- | The suggested changes to the list properties, keyed by suggestion ID.+lSuggestedListPropertiesChanges :: Lens' List (Maybe ListSuggestedListPropertiesChanges)+lSuggestedListPropertiesChanges+ = lens _lSuggestedListPropertiesChanges+ (\ s a -> s{_lSuggestedListPropertiesChanges = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this list.+lSuggestedDeletionIds :: Lens' List [Text]+lSuggestedDeletionIds+ = lens _lSuggestedDeletionIds+ (\ s a -> s{_lSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The properties of the list.+lListProperties :: Lens' List (Maybe ListProperties)+lListProperties+ = lens _lListProperties+ (\ s a -> s{_lListProperties = a})++instance FromJSON List where+ parseJSON+ = withObject "List"+ (\ o ->+ List' <$>+ (o .:? "suggestedInsertionId") <*>+ (o .:? "suggestedListPropertiesChanges")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "listProperties"))++instance ToJSON List where+ toJSON List'{..}+ = object+ (catMaybes+ [("suggestedInsertionId" .=) <$>+ _lSuggestedInsertionId,+ ("suggestedListPropertiesChanges" .=) <$>+ _lSuggestedListPropertiesChanges,+ ("suggestedDeletionIds" .=) <$>+ _lSuggestedDeletionIds,+ ("listProperties" .=) <$> _lListProperties])++-- | A border around a paragraph.+--+-- /See:/ 'paragraphBOrder' smart constructor.+data ParagraphBOrder =+ ParagraphBOrder'+ { _pboColor :: !(Maybe OptionalColor)+ , _pboWidth :: !(Maybe Dimension)+ , _pboDashStyle :: !(Maybe ParagraphBOrderDashStyle)+ , _pboPadding :: !(Maybe Dimension)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParagraphBOrder' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pboColor'+--+-- * 'pboWidth'+--+-- * 'pboDashStyle'+--+-- * 'pboPadding'+paragraphBOrder+ :: ParagraphBOrder+paragraphBOrder =+ ParagraphBOrder'+ { _pboColor = Nothing+ , _pboWidth = Nothing+ , _pboDashStyle = Nothing+ , _pboPadding = Nothing+ }+++-- | The color of the border.+pboColor :: Lens' ParagraphBOrder (Maybe OptionalColor)+pboColor = lens _pboColor (\ s a -> s{_pboColor = a})++-- | The width of the border.+pboWidth :: Lens' ParagraphBOrder (Maybe Dimension)+pboWidth = lens _pboWidth (\ s a -> s{_pboWidth = a})++-- | The dash style of the border.+pboDashStyle :: Lens' ParagraphBOrder (Maybe ParagraphBOrderDashStyle)+pboDashStyle+ = lens _pboDashStyle (\ s a -> s{_pboDashStyle = a})++-- | The padding of the border.+pboPadding :: Lens' ParagraphBOrder (Maybe Dimension)+pboPadding+ = lens _pboPadding (\ s a -> s{_pboPadding = a})++instance FromJSON ParagraphBOrder where+ parseJSON+ = withObject "ParagraphBOrder"+ (\ o ->+ ParagraphBOrder' <$>+ (o .:? "color") <*> (o .:? "width") <*>+ (o .:? "dashStyle")+ <*> (o .:? "padding"))++instance ToJSON ParagraphBOrder where+ toJSON ParagraphBOrder'{..}+ = object+ (catMaybes+ [("color" .=) <$> _pboColor,+ ("width" .=) <$> _pboWidth,+ ("dashStyle" .=) <$> _pboDashStyle,+ ("padding" .=) <$> _pboPadding])++-- | A suggested change to a TableCellStyle.+--+-- /See:/ 'suggestedTableCellStyle' smart constructor.+data SuggestedTableCellStyle =+ SuggestedTableCellStyle'+ { _stcsTableCellStyleSuggestionState :: !(Maybe TableCellStyleSuggestionState)+ , _stcsTableCellStyle :: !(Maybe TableCellStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SuggestedTableCellStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'stcsTableCellStyleSuggestionState'+--+-- * 'stcsTableCellStyle'+suggestedTableCellStyle+ :: SuggestedTableCellStyle+suggestedTableCellStyle =+ SuggestedTableCellStyle'+ { _stcsTableCellStyleSuggestionState = Nothing+ , _stcsTableCellStyle = Nothing+ }+++-- | A mask that indicates which of the fields on the base TableCellStyle+-- have been changed in this suggestion.+stcsTableCellStyleSuggestionState :: Lens' SuggestedTableCellStyle (Maybe TableCellStyleSuggestionState)+stcsTableCellStyleSuggestionState+ = lens _stcsTableCellStyleSuggestionState+ (\ s a -> s{_stcsTableCellStyleSuggestionState = a})++-- | A TableCellStyle that only includes the changes made in this suggestion.+-- This can be used along with the table_cell_style_suggestion_state to see+-- which fields have changed and their new values.+stcsTableCellStyle :: Lens' SuggestedTableCellStyle (Maybe TableCellStyle)+stcsTableCellStyle+ = lens _stcsTableCellStyle+ (\ s a -> s{_stcsTableCellStyle = a})++instance FromJSON SuggestedTableCellStyle where+ parseJSON+ = withObject "SuggestedTableCellStyle"+ (\ o ->+ SuggestedTableCellStyle' <$>+ (o .:? "tableCellStyleSuggestionState") <*>+ (o .:? "tableCellStyle"))++instance ToJSON SuggestedTableCellStyle where+ toJSON SuggestedTableCellStyle'{..}+ = object+ (catMaybes+ [("tableCellStyleSuggestionState" .=) <$>+ _stcsTableCellStyleSuggestionState,+ ("tableCellStyle" .=) <$> _stcsTableCellStyle])++-- | The result of inserting an inline image.+--+-- /See:/ 'insertInlineImageResponse' smart constructor.+newtype InsertInlineImageResponse =+ InsertInlineImageResponse'+ { _iiirObjectId :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InsertInlineImageResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiirObjectId'+insertInlineImageResponse+ :: InsertInlineImageResponse+insertInlineImageResponse = InsertInlineImageResponse' {_iiirObjectId = Nothing}+++-- | The ID of the created InlineObject.+iiirObjectId :: Lens' InsertInlineImageResponse (Maybe Text)+iiirObjectId+ = lens _iiirObjectId (\ s a -> s{_iiirObjectId = a})++instance FromJSON InsertInlineImageResponse where+ parseJSON+ = withObject "InsertInlineImageResponse"+ (\ o ->+ InsertInlineImageResponse' <$> (o .:? "objectId"))++instance ToJSON InsertInlineImageResponse where+ toJSON InsertInlineImageResponse'{..}+ = object+ (catMaybes [("objectId" .=) <$> _iiirObjectId])++-- | An RGB color.+--+-- /See:/ 'rgbColor' smart constructor.+data RgbColor =+ RgbColor'+ { _rcRed :: !(Maybe (Textual Double))+ , _rcGreen :: !(Maybe (Textual Double))+ , _rcBlue :: !(Maybe (Textual Double))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RgbColor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcRed'+--+-- * 'rcGreen'+--+-- * 'rcBlue'+rgbColor+ :: RgbColor+rgbColor = RgbColor' {_rcRed = Nothing, _rcGreen = Nothing, _rcBlue = Nothing}+++-- | The red component of the color, from 0.0 to 1.0.+rcRed :: Lens' RgbColor (Maybe Double)+rcRed+ = lens _rcRed (\ s a -> s{_rcRed = a}) .+ mapping _Coerce++-- | The green component of the color, from 0.0 to 1.0.+rcGreen :: Lens' RgbColor (Maybe Double)+rcGreen+ = lens _rcGreen (\ s a -> s{_rcGreen = a}) .+ mapping _Coerce++-- | The blue component of the color, from 0.0 to 1.0.+rcBlue :: Lens' RgbColor (Maybe Double)+rcBlue+ = lens _rcBlue (\ s a -> s{_rcBlue = a}) .+ mapping _Coerce++instance FromJSON RgbColor where+ parseJSON+ = withObject "RgbColor"+ (\ o ->+ RgbColor' <$>+ (o .:? "red") <*> (o .:? "green") <*> (o .:? "blue"))++instance ToJSON RgbColor where+ toJSON RgbColor'{..}+ = object+ (catMaybes+ [("red" .=) <$> _rcRed, ("green" .=) <$> _rcGreen,+ ("blue" .=) <$> _rcBlue])++-- | Inserts a page break followed by a newline at the specified location.+--+-- /See:/ 'insertPageBreakRequest' smart constructor.+data InsertPageBreakRequest =+ InsertPageBreakRequest'+ { _ipbrLocation :: !(Maybe Location)+ , _ipbrEndOfSegmentLocation :: !(Maybe EndOfSegmentLocation)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InsertPageBreakRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipbrLocation'+--+-- * 'ipbrEndOfSegmentLocation'+insertPageBreakRequest+ :: InsertPageBreakRequest+insertPageBreakRequest =+ InsertPageBreakRequest'+ {_ipbrLocation = Nothing, _ipbrEndOfSegmentLocation = Nothing}+++-- | Inserts the page break at a specific index in the document. The page+-- break must be inserted inside the bounds of an existing Paragraph. For+-- instance, it cannot be inserted at a table\'s start index (i.e. between+-- the table and its preceding paragraph). Page breaks cannot be inserted+-- inside a table, equation, footnote, header or footer. Since page breaks+-- can only be inserted inside the body, the segment ID field must be+-- empty.+ipbrLocation :: Lens' InsertPageBreakRequest (Maybe Location)+ipbrLocation+ = lens _ipbrLocation (\ s a -> s{_ipbrLocation = a})++-- | Inserts the page break at the end of the document body. Page breaks+-- cannot be inserted inside a footnote, header or footer. Since page+-- breaks can only be inserted inside the body, the segment ID field must+-- be empty.+ipbrEndOfSegmentLocation :: Lens' InsertPageBreakRequest (Maybe EndOfSegmentLocation)+ipbrEndOfSegmentLocation+ = lens _ipbrEndOfSegmentLocation+ (\ s a -> s{_ipbrEndOfSegmentLocation = a})++instance FromJSON InsertPageBreakRequest where+ parseJSON+ = withObject "InsertPageBreakRequest"+ (\ o ->+ InsertPageBreakRequest' <$>+ (o .:? "location") <*>+ (o .:? "endOfSegmentLocation"))++instance ToJSON InsertPageBreakRequest where+ toJSON InsertPageBreakRequest'{..}+ = object+ (catMaybes+ [("location" .=) <$> _ipbrLocation,+ ("endOfSegmentLocation" .=) <$>+ _ipbrEndOfSegmentLocation])++-- | A mask that indicates which of the fields on the base Background have+-- been changed in this suggestion. For any field set to true, the+-- Backgound has a new suggested value.+--+-- /See:/ 'backgRoundSuggestionState' smart constructor.+newtype BackgRoundSuggestionState =+ BackgRoundSuggestionState'+ { _brssBackgRoundColorSuggested :: Maybe Bool+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BackgRoundSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'brssBackgRoundColorSuggested'+backgRoundSuggestionState+ :: BackgRoundSuggestionState+backgRoundSuggestionState =+ BackgRoundSuggestionState' {_brssBackgRoundColorSuggested = Nothing}+++-- | Indicates whether the current background color has been modified in this+-- suggestion.+brssBackgRoundColorSuggested :: Lens' BackgRoundSuggestionState (Maybe Bool)+brssBackgRoundColorSuggested+ = lens _brssBackgRoundColorSuggested+ (\ s a -> s{_brssBackgRoundColorSuggested = a})++instance FromJSON BackgRoundSuggestionState where+ parseJSON+ = withObject "BackgRoundSuggestionState"+ (\ o ->+ BackgRoundSuggestionState' <$>+ (o .:? "backgroundColorSuggested"))++instance ToJSON BackgRoundSuggestionState where+ toJSON BackgRoundSuggestionState'{..}+ = object+ (catMaybes+ [("backgroundColorSuggested" .=) <$>+ _brssBackgRoundColorSuggested])++-- | Properties of an InlineObject.+--+-- /See:/ 'inlineObjectProperties' smart constructor.+newtype InlineObjectProperties =+ InlineObjectProperties'+ { _iopEmbeddedObject :: Maybe EmbeddedObject+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InlineObjectProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iopEmbeddedObject'+inlineObjectProperties+ :: InlineObjectProperties+inlineObjectProperties = InlineObjectProperties' {_iopEmbeddedObject = Nothing}+++-- | The embedded object of this inline object.+iopEmbeddedObject :: Lens' InlineObjectProperties (Maybe EmbeddedObject)+iopEmbeddedObject+ = lens _iopEmbeddedObject+ (\ s a -> s{_iopEmbeddedObject = a})++instance FromJSON InlineObjectProperties where+ parseJSON+ = withObject "InlineObjectProperties"+ (\ o ->+ InlineObjectProperties' <$> (o .:? "embeddedObject"))++instance ToJSON InlineObjectProperties where+ toJSON InlineObjectProperties'{..}+ = object+ (catMaybes+ [("embeddedObject" .=) <$> _iopEmbeddedObject])++-- | A suggested change to the DocumentStyle.+--+-- /See:/ 'suggestedDocumentStyle' smart constructor.+data SuggestedDocumentStyle =+ SuggestedDocumentStyle'+ { _sdsDocumentStyle :: !(Maybe DocumentStyle)+ , _sdsDocumentStyleSuggestionState :: !(Maybe DocumentStyleSuggestionState)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SuggestedDocumentStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sdsDocumentStyle'+--+-- * 'sdsDocumentStyleSuggestionState'+suggestedDocumentStyle+ :: SuggestedDocumentStyle+suggestedDocumentStyle =+ SuggestedDocumentStyle'+ {_sdsDocumentStyle = Nothing, _sdsDocumentStyleSuggestionState = Nothing}+++-- | A DocumentStyle that only includes the changes made in this suggestion.+-- This can be used along with the document_style_suggestion_state to see+-- which fields have changed and their new values.+sdsDocumentStyle :: Lens' SuggestedDocumentStyle (Maybe DocumentStyle)+sdsDocumentStyle+ = lens _sdsDocumentStyle+ (\ s a -> s{_sdsDocumentStyle = a})++-- | A mask that indicates which of the fields on the base DocumentStyle have+-- been changed in this suggestion.+sdsDocumentStyleSuggestionState :: Lens' SuggestedDocumentStyle (Maybe DocumentStyleSuggestionState)+sdsDocumentStyleSuggestionState+ = lens _sdsDocumentStyleSuggestionState+ (\ s a -> s{_sdsDocumentStyleSuggestionState = a})++instance FromJSON SuggestedDocumentStyle where+ parseJSON+ = withObject "SuggestedDocumentStyle"+ (\ o ->+ SuggestedDocumentStyle' <$>+ (o .:? "documentStyle") <*>+ (o .:? "documentStyleSuggestionState"))++instance ToJSON SuggestedDocumentStyle where+ toJSON SuggestedDocumentStyle'{..}+ = object+ (catMaybes+ [("documentStyle" .=) <$> _sdsDocumentStyle,+ ("documentStyleSuggestionState" .=) <$>+ _sdsDocumentStyleSuggestionState])++-- | A particular location in the document.+--+-- /See:/ 'location' smart constructor.+data Location =+ Location'+ { _lIndex :: !(Maybe (Textual Int32))+ , _lSegmentId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Location' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lIndex'+--+-- * 'lSegmentId'+location+ :: Location+location = Location' {_lIndex = Nothing, _lSegmentId = Nothing}+++-- | The zero-based index, in UTF-16 code units. The index is relative to the+-- beginning of the segment specified by segment_id.+lIndex :: Lens' Location (Maybe Int32)+lIndex+ = lens _lIndex (\ s a -> s{_lIndex = a}) .+ mapping _Coerce++-- | The ID of the header, footer or footnote the location is in. An empty+-- segment ID signifies the document\'s body.+lSegmentId :: Lens' Location (Maybe Text)+lSegmentId+ = lens _lSegmentId (\ s a -> s{_lSegmentId = a})++instance FromJSON Location where+ parseJSON+ = withObject "Location"+ (\ o ->+ Location' <$>+ (o .:? "index") <*> (o .:? "segmentId"))++instance ToJSON Location where+ toJSON Location'{..}+ = object+ (catMaybes+ [("index" .=) <$> _lIndex,+ ("segmentId" .=) <$> _lSegmentId])++-- | A StructuralElement representing a table of contents.+--+-- /See:/ 'tableOfContents' smart constructor.+data TableOfContents =+ TableOfContents'+ { _tocSuggestedInsertionIds :: !(Maybe [Text])+ , _tocContent :: !(Maybe [StructuralElement])+ , _tocSuggestedDeletionIds :: !(Maybe [Text])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableOfContents' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tocSuggestedInsertionIds'+--+-- * 'tocContent'+--+-- * 'tocSuggestedDeletionIds'+tableOfContents+ :: TableOfContents+tableOfContents =+ TableOfContents'+ { _tocSuggestedInsertionIds = Nothing+ , _tocContent = Nothing+ , _tocSuggestedDeletionIds = Nothing+ }+++-- | The suggested insertion IDs. A TableOfContents may have multiple+-- insertion IDs if it is a nested suggested change. If empty, then this is+-- not a suggested insertion.+tocSuggestedInsertionIds :: Lens' TableOfContents [Text]+tocSuggestedInsertionIds+ = lens _tocSuggestedInsertionIds+ (\ s a -> s{_tocSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The content of the table of contents.+tocContent :: Lens' TableOfContents [StructuralElement]+tocContent+ = lens _tocContent (\ s a -> s{_tocContent = a}) .+ _Default+ . _Coerce++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+tocSuggestedDeletionIds :: Lens' TableOfContents [Text]+tocSuggestedDeletionIds+ = lens _tocSuggestedDeletionIds+ (\ s a -> s{_tocSuggestedDeletionIds = a})+ . _Default+ . _Coerce++instance FromJSON TableOfContents where+ parseJSON+ = withObject "TableOfContents"+ (\ o ->+ TableOfContents' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "content" .!= mempty)+ <*> (o .:? "suggestedDeletionIds" .!= mempty))++instance ToJSON TableOfContents where+ toJSON TableOfContents'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _tocSuggestedInsertionIds,+ ("content" .=) <$> _tocContent,+ ("suggestedDeletionIds" .=) <$>+ _tocSuggestedDeletionIds])++-- | A solid color.+--+-- /See:/ 'color' smart constructor.+newtype Color =+ Color'+ { _cRgbColor :: Maybe RgbColor+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Color' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cRgbColor'+color+ :: Color+color = Color' {_cRgbColor = Nothing}+++-- | The RGB color value.+cRgbColor :: Lens' Color (Maybe RgbColor)+cRgbColor+ = lens _cRgbColor (\ s a -> s{_cRgbColor = a})++instance FromJSON Color where+ parseJSON+ = withObject "Color"+ (\ o -> Color' <$> (o .:? "rgbColor"))++instance ToJSON Color where+ toJSON Color'{..}+ = object (catMaybes [("rgbColor" .=) <$> _cRgbColor])++-- | A width and height.+--+-- /See:/ 'size' smart constructor.+data Size =+ Size'+ { _sHeight :: !(Maybe Dimension)+ , _sWidth :: !(Maybe Dimension)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Size' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sHeight'+--+-- * 'sWidth'+size+ :: Size+size = Size' {_sHeight = Nothing, _sWidth = Nothing}+++-- | The height of the object.+sHeight :: Lens' Size (Maybe Dimension)+sHeight = lens _sHeight (\ s a -> s{_sHeight = a})++-- | The width of the object.+sWidth :: Lens' Size (Maybe Dimension)+sWidth = lens _sWidth (\ s a -> s{_sWidth = a})++instance FromJSON Size where+ parseJSON+ = withObject "Size"+ (\ o ->+ Size' <$> (o .:? "height") <*> (o .:? "width"))++instance ToJSON Size where+ toJSON Size'{..}+ = object+ (catMaybes+ [("height" .=) <$> _sHeight,+ ("width" .=) <$> _sWidth])++-- | The result of inserting an embedded Google Sheets chart.+--+-- /See:/ 'insertInlineSheetsChartResponse' smart constructor.+newtype InsertInlineSheetsChartResponse =+ InsertInlineSheetsChartResponse'+ { _iiscrObjectId :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InsertInlineSheetsChartResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiscrObjectId'+insertInlineSheetsChartResponse+ :: InsertInlineSheetsChartResponse+insertInlineSheetsChartResponse =+ InsertInlineSheetsChartResponse' {_iiscrObjectId = Nothing}+++-- | The object ID of the inserted chart.+iiscrObjectId :: Lens' InsertInlineSheetsChartResponse (Maybe Text)+iiscrObjectId+ = lens _iiscrObjectId+ (\ s a -> s{_iiscrObjectId = a})++instance FromJSON InsertInlineSheetsChartResponse+ where+ parseJSON+ = withObject "InsertInlineSheetsChartResponse"+ (\ o ->+ InsertInlineSheetsChartResponse' <$>+ (o .:? "objectId"))++instance ToJSON InsertInlineSheetsChartResponse where+ toJSON InsertInlineSheetsChartResponse'{..}+ = object+ (catMaybes [("objectId" .=) <$> _iiscrObjectId])++-- | A mask that indicates which of the fields on the base TableRowStyle have+-- been changed in this suggestion. For any field set to true, there is a+-- new suggested value.+--+-- /See:/ 'tableRowStyleSuggestionState' smart constructor.+newtype TableRowStyleSuggestionState =+ TableRowStyleSuggestionState'+ { _trsssMinRowHeightSuggested :: Maybe Bool+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableRowStyleSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trsssMinRowHeightSuggested'+tableRowStyleSuggestionState+ :: TableRowStyleSuggestionState+tableRowStyleSuggestionState =+ TableRowStyleSuggestionState' {_trsssMinRowHeightSuggested = Nothing}+++-- | Indicates if there was a suggested change to min_row_height.+trsssMinRowHeightSuggested :: Lens' TableRowStyleSuggestionState (Maybe Bool)+trsssMinRowHeightSuggested+ = lens _trsssMinRowHeightSuggested+ (\ s a -> s{_trsssMinRowHeightSuggested = a})++instance FromJSON TableRowStyleSuggestionState where+ parseJSON+ = withObject "TableRowStyleSuggestionState"+ (\ o ->+ TableRowStyleSuggestionState' <$>+ (o .:? "minRowHeightSuggested"))++instance ToJSON TableRowStyleSuggestionState where+ toJSON TableRowStyleSuggestionState'{..}+ = object+ (catMaybes+ [("minRowHeightSuggested" .=) <$>+ _trsssMinRowHeightSuggested])++-- | Deletes a column from a table.+--+-- /See:/ 'deleteTableColumnRequest' smart constructor.+newtype DeleteTableColumnRequest =+ DeleteTableColumnRequest'+ { _dtcrTableCellLocation :: Maybe TableCellLocation+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteTableColumnRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dtcrTableCellLocation'+deleteTableColumnRequest+ :: DeleteTableColumnRequest+deleteTableColumnRequest =+ DeleteTableColumnRequest' {_dtcrTableCellLocation = Nothing}+++-- | The reference table cell location from which the column will be deleted.+-- The column this cell spans will be deleted. If this is a merged cell+-- that spans multiple columns, all columns that the cell spans will be+-- deleted. If no columns remain in the table after this deletion, the+-- whole table is deleted.+dtcrTableCellLocation :: Lens' DeleteTableColumnRequest (Maybe TableCellLocation)+dtcrTableCellLocation+ = lens _dtcrTableCellLocation+ (\ s a -> s{_dtcrTableCellLocation = a})++instance FromJSON DeleteTableColumnRequest where+ parseJSON+ = withObject "DeleteTableColumnRequest"+ (\ o ->+ DeleteTableColumnRequest' <$>+ (o .:? "tableCellLocation"))++instance ToJSON DeleteTableColumnRequest where+ toJSON DeleteTableColumnRequest'{..}+ = object+ (catMaybes+ [("tableCellLocation" .=) <$>+ _dtcrTableCellLocation])++-- | The named ranges in the document, keyed by name.+--+-- /See:/ 'documentNamedRanges' smart constructor.+newtype DocumentNamedRanges =+ DocumentNamedRanges'+ { _dnrAddtional :: HashMap Text NamedRanges+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentNamedRanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dnrAddtional'+documentNamedRanges+ :: HashMap Text NamedRanges -- ^ 'dnrAddtional'+ -> DocumentNamedRanges+documentNamedRanges pDnrAddtional_ =+ DocumentNamedRanges' {_dnrAddtional = _Coerce # pDnrAddtional_}+++dnrAddtional :: Lens' DocumentNamedRanges (HashMap Text NamedRanges)+dnrAddtional+ = lens _dnrAddtional (\ s a -> s{_dnrAddtional = a})+ . _Coerce++instance FromJSON DocumentNamedRanges where+ parseJSON+ = withObject "DocumentNamedRanges"+ (\ o -> DocumentNamedRanges' <$> (parseJSONObject o))++instance ToJSON DocumentNamedRanges where+ toJSON = toJSON . _dnrAddtional++-- | Location at the end of a body, header, footer or footnote. The location+-- is immediately before the last newline in the document segment.+--+-- /See:/ 'endOfSegmentLocation' smart constructor.+newtype EndOfSegmentLocation =+ EndOfSegmentLocation'+ { _eoslSegmentId :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EndOfSegmentLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eoslSegmentId'+endOfSegmentLocation+ :: EndOfSegmentLocation+endOfSegmentLocation = EndOfSegmentLocation' {_eoslSegmentId = Nothing}+++-- | The ID of the header, footer or footnote the location is in. An empty+-- segment ID signifies the document\'s body.+eoslSegmentId :: Lens' EndOfSegmentLocation (Maybe Text)+eoslSegmentId+ = lens _eoslSegmentId+ (\ s a -> s{_eoslSegmentId = a})++instance FromJSON EndOfSegmentLocation where+ parseJSON+ = withObject "EndOfSegmentLocation"+ (\ o ->+ EndOfSegmentLocation' <$> (o .:? "segmentId"))++instance ToJSON EndOfSegmentLocation where+ toJSON EndOfSegmentLocation'{..}+ = object+ (catMaybes [("segmentId" .=) <$> _eoslSegmentId])++-- | The inline objects in the document, keyed by object ID.+--+-- /See:/ 'documentInlineObjects' smart constructor.+newtype DocumentInlineObjects =+ DocumentInlineObjects'+ { _dioAddtional :: HashMap Text InlineObject+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentInlineObjects' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dioAddtional'+documentInlineObjects+ :: HashMap Text InlineObject -- ^ 'dioAddtional'+ -> DocumentInlineObjects+documentInlineObjects pDioAddtional_ =+ DocumentInlineObjects' {_dioAddtional = _Coerce # pDioAddtional_}+++dioAddtional :: Lens' DocumentInlineObjects (HashMap Text InlineObject)+dioAddtional+ = lens _dioAddtional (\ s a -> s{_dioAddtional = a})+ . _Coerce++instance FromJSON DocumentInlineObjects where+ parseJSON+ = withObject "DocumentInlineObjects"+ (\ o ->+ DocumentInlineObjects' <$> (parseJSONObject o))++instance ToJSON DocumentInlineObjects where+ toJSON = toJSON . _dioAddtional++-- | The IDs of the positioned objects that are suggested to be attached to+-- this paragraph, keyed by suggestion ID.+--+-- /See:/ 'paragraphSuggestedPositionedObjectIds' smart constructor.+newtype ParagraphSuggestedPositionedObjectIds =+ ParagraphSuggestedPositionedObjectIds'+ { _pspoiAddtional :: HashMap Text ObjectReferences+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParagraphSuggestedPositionedObjectIds' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pspoiAddtional'+paragraphSuggestedPositionedObjectIds+ :: HashMap Text ObjectReferences -- ^ 'pspoiAddtional'+ -> ParagraphSuggestedPositionedObjectIds+paragraphSuggestedPositionedObjectIds pPspoiAddtional_ =+ ParagraphSuggestedPositionedObjectIds'+ {_pspoiAddtional = _Coerce # pPspoiAddtional_}+++pspoiAddtional :: Lens' ParagraphSuggestedPositionedObjectIds (HashMap Text ObjectReferences)+pspoiAddtional+ = lens _pspoiAddtional+ (\ s a -> s{_pspoiAddtional = a})+ . _Coerce++instance FromJSON+ ParagraphSuggestedPositionedObjectIds+ where+ parseJSON+ = withObject "ParagraphSuggestedPositionedObjectIds"+ (\ o ->+ ParagraphSuggestedPositionedObjectIds' <$>+ (parseJSONObject o))++instance ToJSON ParagraphSuggestedPositionedObjectIds+ where+ toJSON = toJSON . _pspoiAddtional++-- | A reference to another portion of a document or an external URL+-- resource.+--+-- /See:/ 'link' smart constructor.+data Link =+ Link'+ { _lURL :: !(Maybe Text)+ , _lHeadingId :: !(Maybe Text)+ , _lBookmarkId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Link' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lURL'+--+-- * 'lHeadingId'+--+-- * 'lBookmarkId'+link+ :: Link+link = Link' {_lURL = Nothing, _lHeadingId = Nothing, _lBookmarkId = Nothing}+++-- | An external URL.+lURL :: Lens' Link (Maybe Text)+lURL = lens _lURL (\ s a -> s{_lURL = a})++-- | The ID of a heading in this document.+lHeadingId :: Lens' Link (Maybe Text)+lHeadingId+ = lens _lHeadingId (\ s a -> s{_lHeadingId = a})++-- | The ID of a bookmark in this document.+lBookmarkId :: Lens' Link (Maybe Text)+lBookmarkId+ = lens _lBookmarkId (\ s a -> s{_lBookmarkId = a})++instance FromJSON Link where+ parseJSON+ = withObject "Link"+ (\ o ->+ Link' <$>+ (o .:? "url") <*> (o .:? "headingId") <*>+ (o .:? "bookmarkId"))++instance ToJSON Link where+ toJSON Link'{..}+ = object+ (catMaybes+ [("url" .=) <$> _lURL,+ ("headingId" .=) <$> _lHeadingId,+ ("bookmarkId" .=) <$> _lBookmarkId])++-- | The suggested text style changes to this AutoText, keyed by suggestion+-- ID.+--+-- /See:/ 'autoTextSuggestedTextStyleChanges' smart constructor.+newtype AutoTextSuggestedTextStyleChanges =+ AutoTextSuggestedTextStyleChanges'+ { _atstscAddtional :: HashMap Text SuggestedTextStyle+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AutoTextSuggestedTextStyleChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'atstscAddtional'+autoTextSuggestedTextStyleChanges+ :: HashMap Text SuggestedTextStyle -- ^ 'atstscAddtional'+ -> AutoTextSuggestedTextStyleChanges+autoTextSuggestedTextStyleChanges pAtstscAddtional_ =+ AutoTextSuggestedTextStyleChanges'+ {_atstscAddtional = _Coerce # pAtstscAddtional_}+++atstscAddtional :: Lens' AutoTextSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)+atstscAddtional+ = lens _atstscAddtional+ (\ s a -> s{_atstscAddtional = a})+ . _Coerce++instance FromJSON AutoTextSuggestedTextStyleChanges+ where+ parseJSON+ = withObject "AutoTextSuggestedTextStyleChanges"+ (\ o ->+ AutoTextSuggestedTextStyleChanges' <$>+ (parseJSONObject o))++instance ToJSON AutoTextSuggestedTextStyleChanges+ where+ toJSON = toJSON . _atstscAddtional++-- | Inserts an InlineObject containing an image at the given location.+--+-- /See:/ 'insertInlineImageRequest' smart constructor.+data InsertInlineImageRequest =+ InsertInlineImageRequest'+ { _iiirLocation :: !(Maybe Location)+ , _iiirEndOfSegmentLocation :: !(Maybe EndOfSegmentLocation)+ , _iiirURI :: !(Maybe Text)+ , _iiirObjectSize :: !(Maybe Size)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InsertInlineImageRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iiirLocation'+--+-- * 'iiirEndOfSegmentLocation'+--+-- * 'iiirURI'+--+-- * 'iiirObjectSize'+insertInlineImageRequest+ :: InsertInlineImageRequest+insertInlineImageRequest =+ InsertInlineImageRequest'+ { _iiirLocation = Nothing+ , _iiirEndOfSegmentLocation = Nothing+ , _iiirURI = Nothing+ , _iiirObjectSize = Nothing+ }+++-- | Inserts the image at a specific index in the document. The image must be+-- inserted inside the bounds of an existing Paragraph. For instance, it+-- cannot be inserted at a table\'s start index (i.e. between the table and+-- its preceding paragraph). Inline images cannot be inserted inside a+-- footnote or equation.+iiirLocation :: Lens' InsertInlineImageRequest (Maybe Location)+iiirLocation+ = lens _iiirLocation (\ s a -> s{_iiirLocation = a})++-- | Inserts the text at the end of a header, footer or the document body.+-- Inline images cannot be inserted inside a footnote.+iiirEndOfSegmentLocation :: Lens' InsertInlineImageRequest (Maybe EndOfSegmentLocation)+iiirEndOfSegmentLocation+ = lens _iiirEndOfSegmentLocation+ (\ s a -> s{_iiirEndOfSegmentLocation = a})++-- | The image URI. The image is fetched once at insertion time and a copy is+-- stored for display inside the document. Images must be less than 50MB in+-- size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or+-- GIF format. The provided URI can be at most 2 kB in length. The URI+-- itself is saved with the image, and exposed via the+-- ImageProperties.content_uri field.+iiirURI :: Lens' InsertInlineImageRequest (Maybe Text)+iiirURI = lens _iiirURI (\ s a -> s{_iiirURI = a})++-- | The size that the image should appear as in the document. This property+-- is optional and the final size of the image in the document is+-- determined by the following rules: * If neither width nor height is+-- specified, then a default size of the image is calculated based on its+-- resolution. * If one dimension is specified then the other dimension is+-- calculated to preserve the aspect ratio of the image. * If both width+-- and height are specified, the image is scaled to fit within the provided+-- dimensions while maintaining its aspect ratio.+iiirObjectSize :: Lens' InsertInlineImageRequest (Maybe Size)+iiirObjectSize+ = lens _iiirObjectSize+ (\ s a -> s{_iiirObjectSize = a})++instance FromJSON InsertInlineImageRequest where+ parseJSON+ = withObject "InsertInlineImageRequest"+ (\ o ->+ InsertInlineImageRequest' <$>+ (o .:? "location") <*> (o .:? "endOfSegmentLocation")+ <*> (o .:? "uri")+ <*> (o .:? "objectSize"))++instance ToJSON InsertInlineImageRequest where+ toJSON InsertInlineImageRequest'{..}+ = object+ (catMaybes+ [("location" .=) <$> _iiirLocation,+ ("endOfSegmentLocation" .=) <$>+ _iiirEndOfSegmentLocation,+ ("uri" .=) <$> _iiirURI,+ ("objectSize" .=) <$> _iiirObjectSize])++-- | A magnitude in a single direction in the specified units.+--+-- /See:/ 'dimension' smart constructor.+data Dimension =+ Dimension'+ { _dMagnitude :: !(Maybe (Textual Double))+ , _dUnit :: !(Maybe DimensionUnit)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Dimension' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dMagnitude'+--+-- * 'dUnit'+dimension+ :: Dimension+dimension = Dimension' {_dMagnitude = Nothing, _dUnit = Nothing}+++-- | The magnitude.+dMagnitude :: Lens' Dimension (Maybe Double)+dMagnitude+ = lens _dMagnitude (\ s a -> s{_dMagnitude = a}) .+ mapping _Coerce++-- | The units for magnitude.+dUnit :: Lens' Dimension (Maybe DimensionUnit)+dUnit = lens _dUnit (\ s a -> s{_dUnit = a})++instance FromJSON Dimension where+ parseJSON+ = withObject "Dimension"+ (\ o ->+ Dimension' <$>+ (o .:? "magnitude") <*> (o .:? "unit"))++instance ToJSON Dimension where+ toJSON Dimension'{..}+ = object+ (catMaybes+ [("magnitude" .=) <$> _dMagnitude,+ ("unit" .=) <$> _dUnit])++-- | The style of the document.+--+-- /See:/ 'documentStyle' smart constructor.+data DocumentStyle =+ DocumentStyle'+ { _dsMarginTop :: !(Maybe Dimension)+ , _dsDefaultFooterId :: !(Maybe Text)+ , _dsFirstPageHeaderId :: !(Maybe Text)+ , _dsFirstPageFooterId :: !(Maybe Text)+ , _dsDefaultHeaderId :: !(Maybe Text)+ , _dsUseEvenPageHeaderFooter :: !(Maybe Bool)+ , _dsMarginLeft :: !(Maybe Dimension)+ , _dsPageNumberStart :: !(Maybe (Textual Int32))+ , _dsUseFirstPageHeaderFooter :: !(Maybe Bool)+ , _dsEvenPageFooterId :: !(Maybe Text)+ , _dsPageSize :: !(Maybe Size)+ , _dsBackgRound :: !(Maybe BackgRound)+ , _dsMarginRight :: !(Maybe Dimension)+ , _dsMarginBottom :: !(Maybe Dimension)+ , _dsEvenPageHeaderId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsMarginTop'+--+-- * 'dsDefaultFooterId'+--+-- * 'dsFirstPageHeaderId'+--+-- * 'dsFirstPageFooterId'+--+-- * 'dsDefaultHeaderId'+--+-- * 'dsUseEvenPageHeaderFooter'+--+-- * 'dsMarginLeft'+--+-- * 'dsPageNumberStart'+--+-- * 'dsUseFirstPageHeaderFooter'+--+-- * 'dsEvenPageFooterId'+--+-- * 'dsPageSize'+--+-- * 'dsBackgRound'+--+-- * 'dsMarginRight'+--+-- * 'dsMarginBottom'+--+-- * 'dsEvenPageHeaderId'+documentStyle+ :: DocumentStyle+documentStyle =+ DocumentStyle'+ { _dsMarginTop = Nothing+ , _dsDefaultFooterId = Nothing+ , _dsFirstPageHeaderId = Nothing+ , _dsFirstPageFooterId = Nothing+ , _dsDefaultHeaderId = Nothing+ , _dsUseEvenPageHeaderFooter = Nothing+ , _dsMarginLeft = Nothing+ , _dsPageNumberStart = Nothing+ , _dsUseFirstPageHeaderFooter = Nothing+ , _dsEvenPageFooterId = Nothing+ , _dsPageSize = Nothing+ , _dsBackgRound = Nothing+ , _dsMarginRight = Nothing+ , _dsMarginBottom = Nothing+ , _dsEvenPageHeaderId = Nothing+ }+++-- | The top page margin.+dsMarginTop :: Lens' DocumentStyle (Maybe Dimension)+dsMarginTop+ = lens _dsMarginTop (\ s a -> s{_dsMarginTop = a})++-- | The ID of the default footer. If not set, there is no default footer.+dsDefaultFooterId :: Lens' DocumentStyle (Maybe Text)+dsDefaultFooterId+ = lens _dsDefaultFooterId+ (\ s a -> s{_dsDefaultFooterId = a})++-- | The ID of the header used only for the first page. If not set then a+-- unique header for the first page does not exist. The value of+-- use_first_page_header_footer determines whether to use the+-- default_header_id or this value for the header on the first page. If not+-- set, there is no first page header.+dsFirstPageHeaderId :: Lens' DocumentStyle (Maybe Text)+dsFirstPageHeaderId+ = lens _dsFirstPageHeaderId+ (\ s a -> s{_dsFirstPageHeaderId = a})++-- | The ID of the footer used only for the first page. If not set then a+-- unique footer for the first page does not exist. The value of+-- use_first_page_header_footer determines whether to use the+-- default_footer_id or this value for the footer on the first page. If not+-- set, there is no first page footer.+dsFirstPageFooterId :: Lens' DocumentStyle (Maybe Text)+dsFirstPageFooterId+ = lens _dsFirstPageFooterId+ (\ s a -> s{_dsFirstPageFooterId = a})++-- | The ID of the default header. If not set, there is no default header.+dsDefaultHeaderId :: Lens' DocumentStyle (Maybe Text)+dsDefaultHeaderId+ = lens _dsDefaultHeaderId+ (\ s a -> s{_dsDefaultHeaderId = a})++-- | Indicates whether to use the even page header \/ footer IDs for the even+-- pages.+dsUseEvenPageHeaderFooter :: Lens' DocumentStyle (Maybe Bool)+dsUseEvenPageHeaderFooter+ = lens _dsUseEvenPageHeaderFooter+ (\ s a -> s{_dsUseEvenPageHeaderFooter = a})++-- | The left page margin.+dsMarginLeft :: Lens' DocumentStyle (Maybe Dimension)+dsMarginLeft+ = lens _dsMarginLeft (\ s a -> s{_dsMarginLeft = a})++-- | The page number from which to start counting the number of pages.+dsPageNumberStart :: Lens' DocumentStyle (Maybe Int32)+dsPageNumberStart+ = lens _dsPageNumberStart+ (\ s a -> s{_dsPageNumberStart = a})+ . mapping _Coerce++-- | Indicates whether to use the first page header \/ footer IDs for the+-- first page.+dsUseFirstPageHeaderFooter :: Lens' DocumentStyle (Maybe Bool)+dsUseFirstPageHeaderFooter+ = lens _dsUseFirstPageHeaderFooter+ (\ s a -> s{_dsUseFirstPageHeaderFooter = a})++-- | The ID of the footer used only for even pages. The value of+-- use_even_page_header_footer determines whether to use the+-- default_footer_id or this value for the footer on even pages. If not+-- set, there is no even page footer.+dsEvenPageFooterId :: Lens' DocumentStyle (Maybe Text)+dsEvenPageFooterId+ = lens _dsEvenPageFooterId+ (\ s a -> s{_dsEvenPageFooterId = a})++-- | The size of a page in the document.+dsPageSize :: Lens' DocumentStyle (Maybe Size)+dsPageSize+ = lens _dsPageSize (\ s a -> s{_dsPageSize = a})++-- | The background of the document.+dsBackgRound :: Lens' DocumentStyle (Maybe BackgRound)+dsBackgRound+ = lens _dsBackgRound (\ s a -> s{_dsBackgRound = a})++-- | The right page margin.+dsMarginRight :: Lens' DocumentStyle (Maybe Dimension)+dsMarginRight+ = lens _dsMarginRight+ (\ s a -> s{_dsMarginRight = a})++-- | The bottom page margin.+dsMarginBottom :: Lens' DocumentStyle (Maybe Dimension)+dsMarginBottom+ = lens _dsMarginBottom+ (\ s a -> s{_dsMarginBottom = a})++-- | The ID of the header used only for even pages. The value of+-- use_even_page_header_footer determines whether to use the+-- default_header_id or this value for the header on even pages. If not+-- set, there is no even page header.+dsEvenPageHeaderId :: Lens' DocumentStyle (Maybe Text)+dsEvenPageHeaderId+ = lens _dsEvenPageHeaderId+ (\ s a -> s{_dsEvenPageHeaderId = a})++instance FromJSON DocumentStyle where+ parseJSON+ = withObject "DocumentStyle"+ (\ o ->+ DocumentStyle' <$>+ (o .:? "marginTop") <*> (o .:? "defaultFooterId") <*>+ (o .:? "firstPageHeaderId")+ <*> (o .:? "firstPageFooterId")+ <*> (o .:? "defaultHeaderId")+ <*> (o .:? "useEvenPageHeaderFooter")+ <*> (o .:? "marginLeft")+ <*> (o .:? "pageNumberStart")+ <*> (o .:? "useFirstPageHeaderFooter")+ <*> (o .:? "evenPageFooterId")+ <*> (o .:? "pageSize")+ <*> (o .:? "background")+ <*> (o .:? "marginRight")+ <*> (o .:? "marginBottom")+ <*> (o .:? "evenPageHeaderId"))++instance ToJSON DocumentStyle where+ toJSON DocumentStyle'{..}+ = object+ (catMaybes+ [("marginTop" .=) <$> _dsMarginTop,+ ("defaultFooterId" .=) <$> _dsDefaultFooterId,+ ("firstPageHeaderId" .=) <$> _dsFirstPageHeaderId,+ ("firstPageFooterId" .=) <$> _dsFirstPageFooterId,+ ("defaultHeaderId" .=) <$> _dsDefaultHeaderId,+ ("useEvenPageHeaderFooter" .=) <$>+ _dsUseEvenPageHeaderFooter,+ ("marginLeft" .=) <$> _dsMarginLeft,+ ("pageNumberStart" .=) <$> _dsPageNumberStart,+ ("useFirstPageHeaderFooter" .=) <$>+ _dsUseFirstPageHeaderFooter,+ ("evenPageFooterId" .=) <$> _dsEvenPageFooterId,+ ("pageSize" .=) <$> _dsPageSize,+ ("background" .=) <$> _dsBackgRound,+ ("marginRight" .=) <$> _dsMarginRight,+ ("marginBottom" .=) <$> _dsMarginBottom,+ ("evenPageHeaderId" .=) <$> _dsEvenPageHeaderId])++-- | The document body. The body typically contains the full document+-- contents except for headers, footers and footnotes.+--+-- /See:/ 'body' smart constructor.+newtype Body =+ Body'+ { _bContent :: Maybe [StructuralElement]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Body' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bContent'+body+ :: Body+body = Body' {_bContent = Nothing}+++-- | The contents of the body. The indexes for the body\'s content begin at+-- zero.+bContent :: Lens' Body [StructuralElement]+bContent+ = lens _bContent (\ s a -> s{_bContent = a}) .+ _Default+ . _Coerce++instance FromJSON Body where+ parseJSON+ = withObject "Body"+ (\ o -> Body' <$> (o .:? "content" .!= mempty))++instance ToJSON Body where+ toJSON Body'{..}+ = object (catMaybes [("content" .=) <$> _bContent])++-- | A mask that indicates which of the fields on the base ListProperties+-- have been changed in this suggestion. For any field set to true, there+-- is a new suggested value.+--+-- /See:/ 'listPropertiesSuggestionState' smart constructor.+newtype ListPropertiesSuggestionState =+ ListPropertiesSuggestionState'+ { _lpssNestingLevelsSuggestionStates :: Maybe [NestingLevelSuggestionState]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListPropertiesSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpssNestingLevelsSuggestionStates'+listPropertiesSuggestionState+ :: ListPropertiesSuggestionState+listPropertiesSuggestionState =+ ListPropertiesSuggestionState' {_lpssNestingLevelsSuggestionStates = Nothing}+++-- | A mask that indicates which of the fields on the corresponding+-- NestingLevel in nesting_levels have been changed in this suggestion. The+-- nesting level suggestion states are returned in ascending order of the+-- nesting level with the least nested returned first.+lpssNestingLevelsSuggestionStates :: Lens' ListPropertiesSuggestionState [NestingLevelSuggestionState]+lpssNestingLevelsSuggestionStates+ = lens _lpssNestingLevelsSuggestionStates+ (\ s a -> s{_lpssNestingLevelsSuggestionStates = a})+ . _Default+ . _Coerce++instance FromJSON ListPropertiesSuggestionState where+ parseJSON+ = withObject "ListPropertiesSuggestionState"+ (\ o ->+ ListPropertiesSuggestionState' <$>+ (o .:? "nestingLevelsSuggestionStates" .!= mempty))++instance ToJSON ListPropertiesSuggestionState where+ toJSON ListPropertiesSuggestionState'{..}+ = object+ (catMaybes+ [("nestingLevelsSuggestionStates" .=) <$>+ _lpssNestingLevelsSuggestionStates])++-- | The suggested changes to this paragraph\'s bullet.+--+-- /See:/ 'paragraphSuggestedBulletChanges' smart constructor.+newtype ParagraphSuggestedBulletChanges =+ ParagraphSuggestedBulletChanges'+ { _psbcAddtional :: HashMap Text SuggestedBullet+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParagraphSuggestedBulletChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psbcAddtional'+paragraphSuggestedBulletChanges+ :: HashMap Text SuggestedBullet -- ^ 'psbcAddtional'+ -> ParagraphSuggestedBulletChanges+paragraphSuggestedBulletChanges pPsbcAddtional_ =+ ParagraphSuggestedBulletChanges' {_psbcAddtional = _Coerce # pPsbcAddtional_}+++psbcAddtional :: Lens' ParagraphSuggestedBulletChanges (HashMap Text SuggestedBullet)+psbcAddtional+ = lens _psbcAddtional+ (\ s a -> s{_psbcAddtional = a})+ . _Coerce++instance FromJSON ParagraphSuggestedBulletChanges+ where+ parseJSON+ = withObject "ParagraphSuggestedBulletChanges"+ (\ o ->+ ParagraphSuggestedBulletChanges' <$>+ (parseJSONObject o))++instance ToJSON ParagraphSuggestedBulletChanges where+ toJSON = toJSON . _psbcAddtional++-- | A single response from an update.+--+-- /See:/ 'response' smart constructor.+data Response =+ Response'+ { _rReplaceAllText :: !(Maybe ReplaceAllTextResponse)+ , _rCreateNamedRange :: !(Maybe CreateNamedRangeResponse)+ , _rInsertInlineImage :: !(Maybe InsertInlineImageResponse)+ , _rInsertInlineSheetsChart :: !(Maybe InsertInlineSheetsChartResponse)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Response' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rReplaceAllText'+--+-- * 'rCreateNamedRange'+--+-- * 'rInsertInlineImage'+--+-- * 'rInsertInlineSheetsChart'+response+ :: Response+response =+ Response'+ { _rReplaceAllText = Nothing+ , _rCreateNamedRange = Nothing+ , _rInsertInlineImage = Nothing+ , _rInsertInlineSheetsChart = Nothing+ }+++-- | The result of replacing text.+rReplaceAllText :: Lens' Response (Maybe ReplaceAllTextResponse)+rReplaceAllText+ = lens _rReplaceAllText+ (\ s a -> s{_rReplaceAllText = a})++-- | The result of creating a named range.+rCreateNamedRange :: Lens' Response (Maybe CreateNamedRangeResponse)+rCreateNamedRange+ = lens _rCreateNamedRange+ (\ s a -> s{_rCreateNamedRange = a})++-- | The result of inserting an inline image.+rInsertInlineImage :: Lens' Response (Maybe InsertInlineImageResponse)+rInsertInlineImage+ = lens _rInsertInlineImage+ (\ s a -> s{_rInsertInlineImage = a})++-- | The result of inserting an inline Google Sheets chart.+rInsertInlineSheetsChart :: Lens' Response (Maybe InsertInlineSheetsChartResponse)+rInsertInlineSheetsChart+ = lens _rInsertInlineSheetsChart+ (\ s a -> s{_rInsertInlineSheetsChart = a})++instance FromJSON Response where+ parseJSON+ = withObject "Response"+ (\ o ->+ Response' <$>+ (o .:? "replaceAllText") <*>+ (o .:? "createNamedRange")+ <*> (o .:? "insertInlineImage")+ <*> (o .:? "insertInlineSheetsChart"))++instance ToJSON Response where+ toJSON Response'{..}+ = object+ (catMaybes+ [("replaceAllText" .=) <$> _rReplaceAllText,+ ("createNamedRange" .=) <$> _rCreateNamedRange,+ ("insertInlineImage" .=) <$> _rInsertInlineImage,+ ("insertInlineSheetsChart" .=) <$>+ _rInsertInlineSheetsChart])++-- | A reference to a linked chart embedded from Google Sheets.+--+-- /See:/ 'sheetsChartReference' smart constructor.+data SheetsChartReference =+ SheetsChartReference'+ { _scrSpreadsheetId :: !(Maybe Text)+ , _scrChartId :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SheetsChartReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scrSpreadsheetId'+--+-- * 'scrChartId'+sheetsChartReference+ :: SheetsChartReference+sheetsChartReference =+ SheetsChartReference' {_scrSpreadsheetId = Nothing, _scrChartId = Nothing}+++-- | The ID of the Google Sheets spreadsheet that contains the source chart.+scrSpreadsheetId :: Lens' SheetsChartReference (Maybe Text)+scrSpreadsheetId+ = lens _scrSpreadsheetId+ (\ s a -> s{_scrSpreadsheetId = a})++-- | The ID of the specific chart in the Google Sheets spreadsheet that is+-- embedded.+scrChartId :: Lens' SheetsChartReference (Maybe Int32)+scrChartId+ = lens _scrChartId (\ s a -> s{_scrChartId = a}) .+ mapping _Coerce++instance FromJSON SheetsChartReference where+ parseJSON+ = withObject "SheetsChartReference"+ (\ o ->+ SheetsChartReference' <$>+ (o .:? "spreadsheetId") <*> (o .:? "chartId"))++instance ToJSON SheetsChartReference where+ toJSON SheetsChartReference'{..}+ = object+ (catMaybes+ [("spreadsheetId" .=) <$> _scrSpreadsheetId,+ ("chartId" .=) <$> _scrChartId])++-- | A color that can either be fully opaque or fully transparent.+--+-- /See:/ 'optionalColor' smart constructor.+newtype OptionalColor =+ OptionalColor'+ { _ocColor :: Maybe Color+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'OptionalColor' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ocColor'+optionalColor+ :: OptionalColor+optionalColor = OptionalColor' {_ocColor = Nothing}+++-- | If set, this will be used as an opaque color. If unset, this represents+-- a transparent color.+ocColor :: Lens' OptionalColor (Maybe Color)+ocColor = lens _ocColor (\ s a -> s{_ocColor = a})++instance FromJSON OptionalColor where+ parseJSON+ = withObject "OptionalColor"+ (\ o -> OptionalColor' <$> (o .:? "color"))++instance ToJSON OptionalColor where+ toJSON OptionalColor'{..}+ = object (catMaybes [("color" .=) <$> _ocColor])++-- | The result of creating a named range.+--+-- /See:/ 'createNamedRangeResponse' smart constructor.+newtype CreateNamedRangeResponse =+ CreateNamedRangeResponse'+ { _cnrrNamedRangeId :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateNamedRangeResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cnrrNamedRangeId'+createNamedRangeResponse+ :: CreateNamedRangeResponse+createNamedRangeResponse =+ CreateNamedRangeResponse' {_cnrrNamedRangeId = Nothing}+++-- | The ID of the created named range.+cnrrNamedRangeId :: Lens' CreateNamedRangeResponse (Maybe Text)+cnrrNamedRangeId+ = lens _cnrrNamedRangeId+ (\ s a -> s{_cnrrNamedRangeId = a})++instance FromJSON CreateNamedRangeResponse where+ parseJSON+ = withObject "CreateNamedRangeResponse"+ (\ o ->+ CreateNamedRangeResponse' <$> (o .:? "namedRangeId"))++instance ToJSON CreateNamedRangeResponse where+ toJSON CreateNamedRangeResponse'{..}+ = object+ (catMaybes+ [("namedRangeId" .=) <$> _cnrrNamedRangeId])++-- | A suggested change to a Bullet.+--+-- /See:/ 'suggestedBullet' smart constructor.+data SuggestedBullet =+ SuggestedBullet'+ { _sbBullet :: !(Maybe Bullet)+ , _sbBulletSuggestionState :: !(Maybe BulletSuggestionState)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SuggestedBullet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sbBullet'+--+-- * 'sbBulletSuggestionState'+suggestedBullet+ :: SuggestedBullet+suggestedBullet =+ SuggestedBullet' {_sbBullet = Nothing, _sbBulletSuggestionState = Nothing}+++-- | A Bullet that only includes the changes made in this suggestion. This+-- can be used along with the bullet_suggestion_state to see which fields+-- have changed and their new values.+sbBullet :: Lens' SuggestedBullet (Maybe Bullet)+sbBullet = lens _sbBullet (\ s a -> s{_sbBullet = a})++-- | A mask that indicates which of the fields on the base Bullet have been+-- changed in this suggestion.+sbBulletSuggestionState :: Lens' SuggestedBullet (Maybe BulletSuggestionState)+sbBulletSuggestionState+ = lens _sbBulletSuggestionState+ (\ s a -> s{_sbBulletSuggestionState = a})++instance FromJSON SuggestedBullet where+ parseJSON+ = withObject "SuggestedBullet"+ (\ o ->+ SuggestedBullet' <$>+ (o .:? "bullet") <*> (o .:? "bulletSuggestionState"))++instance ToJSON SuggestedBullet where+ toJSON SuggestedBullet'{..}+ = object+ (catMaybes+ [("bullet" .=) <$> _sbBullet,+ ("bulletSuggestionState" .=) <$>+ _sbBulletSuggestionState])++-- | An embedded object in the document.+--+-- /See:/ 'embeddedObject' smart constructor.+data EmbeddedObject =+ EmbeddedObject'+ { _eoMarginTop :: !(Maybe Dimension)+ , _eoSize :: !(Maybe Size)+ , _eoLinkedContentReference :: !(Maybe LinkedContentReference)+ , _eoImageProperties :: !(Maybe ImageProperties)+ , _eoEmbeddedObjectBOrder :: !(Maybe EmbeddedObjectBOrder)+ , _eoEmbeddedDrawingProperties :: !(Maybe EmbeddedDrawingProperties)+ , _eoMarginLeft :: !(Maybe Dimension)+ , _eoTitle :: !(Maybe Text)+ , _eoMarginRight :: !(Maybe Dimension)+ , _eoDescription :: !(Maybe Text)+ , _eoMarginBottom :: !(Maybe Dimension)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EmbeddedObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eoMarginTop'+--+-- * 'eoSize'+--+-- * 'eoLinkedContentReference'+--+-- * 'eoImageProperties'+--+-- * 'eoEmbeddedObjectBOrder'+--+-- * 'eoEmbeddedDrawingProperties'+--+-- * 'eoMarginLeft'+--+-- * 'eoTitle'+--+-- * 'eoMarginRight'+--+-- * 'eoDescription'+--+-- * 'eoMarginBottom'+embeddedObject+ :: EmbeddedObject+embeddedObject =+ EmbeddedObject'+ { _eoMarginTop = Nothing+ , _eoSize = Nothing+ , _eoLinkedContentReference = Nothing+ , _eoImageProperties = Nothing+ , _eoEmbeddedObjectBOrder = Nothing+ , _eoEmbeddedDrawingProperties = Nothing+ , _eoMarginLeft = Nothing+ , _eoTitle = Nothing+ , _eoMarginRight = Nothing+ , _eoDescription = Nothing+ , _eoMarginBottom = Nothing+ }+++-- | The top margin of the embedded object.+eoMarginTop :: Lens' EmbeddedObject (Maybe Dimension)+eoMarginTop+ = lens _eoMarginTop (\ s a -> s{_eoMarginTop = a})++-- | The size of the embedded object.+eoSize :: Lens' EmbeddedObject (Maybe Size)+eoSize = lens _eoSize (\ s a -> s{_eoSize = a})++-- | A reference to the external linked source content. For example, it+-- contains a reference to the source Sheets chart when the embedded object+-- is a linked chart. If unset, then the embedded object is not linked.+eoLinkedContentReference :: Lens' EmbeddedObject (Maybe LinkedContentReference)+eoLinkedContentReference+ = lens _eoLinkedContentReference+ (\ s a -> s{_eoLinkedContentReference = a})++-- | The properties of an image.+eoImageProperties :: Lens' EmbeddedObject (Maybe ImageProperties)+eoImageProperties+ = lens _eoImageProperties+ (\ s a -> s{_eoImageProperties = a})++-- | The border of the embedded object.+eoEmbeddedObjectBOrder :: Lens' EmbeddedObject (Maybe EmbeddedObjectBOrder)+eoEmbeddedObjectBOrder+ = lens _eoEmbeddedObjectBOrder+ (\ s a -> s{_eoEmbeddedObjectBOrder = a})++-- | The properties of an embedded drawing.+eoEmbeddedDrawingProperties :: Lens' EmbeddedObject (Maybe EmbeddedDrawingProperties)+eoEmbeddedDrawingProperties+ = lens _eoEmbeddedDrawingProperties+ (\ s a -> s{_eoEmbeddedDrawingProperties = a})++-- | The left margin of the embedded object.+eoMarginLeft :: Lens' EmbeddedObject (Maybe Dimension)+eoMarginLeft+ = lens _eoMarginLeft (\ s a -> s{_eoMarginLeft = a})++-- | The title of the embedded object. The \`title\` and \`description\` are+-- both combined to display alt text.+eoTitle :: Lens' EmbeddedObject (Maybe Text)+eoTitle = lens _eoTitle (\ s a -> s{_eoTitle = a})++-- | The right margin of the embedded object.+eoMarginRight :: Lens' EmbeddedObject (Maybe Dimension)+eoMarginRight+ = lens _eoMarginRight+ (\ s a -> s{_eoMarginRight = a})++-- | The description of the embedded object. The \`title\` and+-- \`description\` are both combined to display alt text.+eoDescription :: Lens' EmbeddedObject (Maybe Text)+eoDescription+ = lens _eoDescription+ (\ s a -> s{_eoDescription = a})++-- | The bottom margin of the embedded object.+eoMarginBottom :: Lens' EmbeddedObject (Maybe Dimension)+eoMarginBottom+ = lens _eoMarginBottom+ (\ s a -> s{_eoMarginBottom = a})++instance FromJSON EmbeddedObject where+ parseJSON+ = withObject "EmbeddedObject"+ (\ o ->+ EmbeddedObject' <$>+ (o .:? "marginTop") <*> (o .:? "size") <*>+ (o .:? "linkedContentReference")+ <*> (o .:? "imageProperties")+ <*> (o .:? "embeddedObjectBorder")+ <*> (o .:? "embeddedDrawingProperties")+ <*> (o .:? "marginLeft")+ <*> (o .:? "title")+ <*> (o .:? "marginRight")+ <*> (o .:? "description")+ <*> (o .:? "marginBottom"))++instance ToJSON EmbeddedObject where+ toJSON EmbeddedObject'{..}+ = object+ (catMaybes+ [("marginTop" .=) <$> _eoMarginTop,+ ("size" .=) <$> _eoSize,+ ("linkedContentReference" .=) <$>+ _eoLinkedContentReference,+ ("imageProperties" .=) <$> _eoImageProperties,+ ("embeddedObjectBorder" .=) <$>+ _eoEmbeddedObjectBOrder,+ ("embeddedDrawingProperties" .=) <$>+ _eoEmbeddedDrawingProperties,+ ("marginLeft" .=) <$> _eoMarginLeft,+ ("title" .=) <$> _eoTitle,+ ("marginRight" .=) <$> _eoMarginRight,+ ("description" .=) <$> _eoDescription,+ ("marginBottom" .=) <$> _eoMarginBottom])++-- | The result of replacing text.+--+-- /See:/ 'replaceAllTextResponse' smart constructor.+newtype ReplaceAllTextResponse =+ ReplaceAllTextResponse'+ { _ratrOccurrencesChanged :: Maybe (Textual Int32)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ReplaceAllTextResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ratrOccurrencesChanged'+replaceAllTextResponse+ :: ReplaceAllTextResponse+replaceAllTextResponse =+ ReplaceAllTextResponse' {_ratrOccurrencesChanged = Nothing}+++-- | The number of occurrences changed by replacing all text.+ratrOccurrencesChanged :: Lens' ReplaceAllTextResponse (Maybe Int32)+ratrOccurrencesChanged+ = lens _ratrOccurrencesChanged+ (\ s a -> s{_ratrOccurrencesChanged = a})+ . mapping _Coerce++instance FromJSON ReplaceAllTextResponse where+ parseJSON+ = withObject "ReplaceAllTextResponse"+ (\ o ->+ ReplaceAllTextResponse' <$>+ (o .:? "occurrencesChanged"))++instance ToJSON ReplaceAllTextResponse where+ toJSON ReplaceAllTextResponse'{..}+ = object+ (catMaybes+ [("occurrencesChanged" .=) <$>+ _ratrOccurrencesChanged])++-- | A mask that indicates which of the fields on the base DocumentStyle have+-- been changed in this suggestion. For any field set to true, there is a+-- new suggested value.+--+-- /See:/ 'documentStyleSuggestionState' smart constructor.+data DocumentStyleSuggestionState =+ DocumentStyleSuggestionState'+ { _dsssFirstPageFooterIdSuggested :: !(Maybe Bool)+ , _dsssDefaultHeaderIdSuggested :: !(Maybe Bool)+ , _dsssUseEvenPageHeaderFooterSuggested :: !(Maybe Bool)+ , _dsssPageNumberStartSuggested :: !(Maybe Bool)+ , _dsssBackgRoundSuggestionState :: !(Maybe BackgRoundSuggestionState)+ , _dsssUseFirstPageHeaderFooterSuggested :: !(Maybe Bool)+ , _dsssPageSizeSuggestionState :: !(Maybe SizeSuggestionState)+ , _dsssMarginTopSuggested :: !(Maybe Bool)+ , _dsssEvenPageFooterIdSuggested :: !(Maybe Bool)+ , _dsssMarginBottomSuggested :: !(Maybe Bool)+ , _dsssEvenPageHeaderIdSuggested :: !(Maybe Bool)+ , _dsssMarginLeftSuggested :: !(Maybe Bool)+ , _dsssMarginRightSuggested :: !(Maybe Bool)+ , _dsssFirstPageHeaderIdSuggested :: !(Maybe Bool)+ , _dsssDefaultFooterIdSuggested :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentStyleSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsssFirstPageFooterIdSuggested'+--+-- * 'dsssDefaultHeaderIdSuggested'+--+-- * 'dsssUseEvenPageHeaderFooterSuggested'+--+-- * 'dsssPageNumberStartSuggested'+--+-- * 'dsssBackgRoundSuggestionState'+--+-- * 'dsssUseFirstPageHeaderFooterSuggested'+--+-- * 'dsssPageSizeSuggestionState'+--+-- * 'dsssMarginTopSuggested'+--+-- * 'dsssEvenPageFooterIdSuggested'+--+-- * 'dsssMarginBottomSuggested'+--+-- * 'dsssEvenPageHeaderIdSuggested'+--+-- * 'dsssMarginLeftSuggested'+--+-- * 'dsssMarginRightSuggested'+--+-- * 'dsssFirstPageHeaderIdSuggested'+--+-- * 'dsssDefaultFooterIdSuggested'+documentStyleSuggestionState+ :: DocumentStyleSuggestionState+documentStyleSuggestionState =+ DocumentStyleSuggestionState'+ { _dsssFirstPageFooterIdSuggested = Nothing+ , _dsssDefaultHeaderIdSuggested = Nothing+ , _dsssUseEvenPageHeaderFooterSuggested = Nothing+ , _dsssPageNumberStartSuggested = Nothing+ , _dsssBackgRoundSuggestionState = Nothing+ , _dsssUseFirstPageHeaderFooterSuggested = Nothing+ , _dsssPageSizeSuggestionState = Nothing+ , _dsssMarginTopSuggested = Nothing+ , _dsssEvenPageFooterIdSuggested = Nothing+ , _dsssMarginBottomSuggested = Nothing+ , _dsssEvenPageHeaderIdSuggested = Nothing+ , _dsssMarginLeftSuggested = Nothing+ , _dsssMarginRightSuggested = Nothing+ , _dsssFirstPageHeaderIdSuggested = Nothing+ , _dsssDefaultFooterIdSuggested = Nothing+ }+++-- | Indicates if there was a suggested change to first_page_footer_id.+dsssFirstPageFooterIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssFirstPageFooterIdSuggested+ = lens _dsssFirstPageFooterIdSuggested+ (\ s a -> s{_dsssFirstPageFooterIdSuggested = a})++-- | Indicates if there was a suggested change to default_header_id.+dsssDefaultHeaderIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssDefaultHeaderIdSuggested+ = lens _dsssDefaultHeaderIdSuggested+ (\ s a -> s{_dsssDefaultHeaderIdSuggested = a})++-- | Indicates if there was a suggested change to+-- use_even_page_header_footer.+dsssUseEvenPageHeaderFooterSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssUseEvenPageHeaderFooterSuggested+ = lens _dsssUseEvenPageHeaderFooterSuggested+ (\ s a ->+ s{_dsssUseEvenPageHeaderFooterSuggested = a})++-- | Indicates if there was a suggested change to page_number_start.+dsssPageNumberStartSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssPageNumberStartSuggested+ = lens _dsssPageNumberStartSuggested+ (\ s a -> s{_dsssPageNumberStartSuggested = a})++-- | A mask that indicates which of the fields in background have been+-- changed in this suggestion.+dsssBackgRoundSuggestionState :: Lens' DocumentStyleSuggestionState (Maybe BackgRoundSuggestionState)+dsssBackgRoundSuggestionState+ = lens _dsssBackgRoundSuggestionState+ (\ s a -> s{_dsssBackgRoundSuggestionState = a})++-- | Indicates if there was a suggested change to+-- use_first_page_header_footer.+dsssUseFirstPageHeaderFooterSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssUseFirstPageHeaderFooterSuggested+ = lens _dsssUseFirstPageHeaderFooterSuggested+ (\ s a ->+ s{_dsssUseFirstPageHeaderFooterSuggested = a})++-- | A mask that indicates which of the fields in size have been changed in+-- this suggestion.+dsssPageSizeSuggestionState :: Lens' DocumentStyleSuggestionState (Maybe SizeSuggestionState)+dsssPageSizeSuggestionState+ = lens _dsssPageSizeSuggestionState+ (\ s a -> s{_dsssPageSizeSuggestionState = a})++-- | Indicates if there was a suggested change to margin_top.+dsssMarginTopSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssMarginTopSuggested+ = lens _dsssMarginTopSuggested+ (\ s a -> s{_dsssMarginTopSuggested = a})++-- | Indicates if there was a suggested change to even_page_footer_id.+dsssEvenPageFooterIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssEvenPageFooterIdSuggested+ = lens _dsssEvenPageFooterIdSuggested+ (\ s a -> s{_dsssEvenPageFooterIdSuggested = a})++-- | Indicates if there was a suggested change to margin_bottom.+dsssMarginBottomSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssMarginBottomSuggested+ = lens _dsssMarginBottomSuggested+ (\ s a -> s{_dsssMarginBottomSuggested = a})++-- | Indicates if there was a suggested change to even_page_header_id.+dsssEvenPageHeaderIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssEvenPageHeaderIdSuggested+ = lens _dsssEvenPageHeaderIdSuggested+ (\ s a -> s{_dsssEvenPageHeaderIdSuggested = a})++-- | Indicates if there was a suggested change to margin_left.+dsssMarginLeftSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssMarginLeftSuggested+ = lens _dsssMarginLeftSuggested+ (\ s a -> s{_dsssMarginLeftSuggested = a})++-- | Indicates if there was a suggested change to margin_right.+dsssMarginRightSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssMarginRightSuggested+ = lens _dsssMarginRightSuggested+ (\ s a -> s{_dsssMarginRightSuggested = a})++-- | Indicates if there was a suggested change to first_page_header_id.+dsssFirstPageHeaderIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssFirstPageHeaderIdSuggested+ = lens _dsssFirstPageHeaderIdSuggested+ (\ s a -> s{_dsssFirstPageHeaderIdSuggested = a})++-- | Indicates if there was a suggested change to default_footer_id.+dsssDefaultFooterIdSuggested :: Lens' DocumentStyleSuggestionState (Maybe Bool)+dsssDefaultFooterIdSuggested+ = lens _dsssDefaultFooterIdSuggested+ (\ s a -> s{_dsssDefaultFooterIdSuggested = a})++instance FromJSON DocumentStyleSuggestionState where+ parseJSON+ = withObject "DocumentStyleSuggestionState"+ (\ o ->+ DocumentStyleSuggestionState' <$>+ (o .:? "firstPageFooterIdSuggested") <*>+ (o .:? "defaultHeaderIdSuggested")+ <*> (o .:? "useEvenPageHeaderFooterSuggested")+ <*> (o .:? "pageNumberStartSuggested")+ <*> (o .:? "backgroundSuggestionState")+ <*> (o .:? "useFirstPageHeaderFooterSuggested")+ <*> (o .:? "pageSizeSuggestionState")+ <*> (o .:? "marginTopSuggested")+ <*> (o .:? "evenPageFooterIdSuggested")+ <*> (o .:? "marginBottomSuggested")+ <*> (o .:? "evenPageHeaderIdSuggested")+ <*> (o .:? "marginLeftSuggested")+ <*> (o .:? "marginRightSuggested")+ <*> (o .:? "firstPageHeaderIdSuggested")+ <*> (o .:? "defaultFooterIdSuggested"))++instance ToJSON DocumentStyleSuggestionState where+ toJSON DocumentStyleSuggestionState'{..}+ = object+ (catMaybes+ [("firstPageFooterIdSuggested" .=) <$>+ _dsssFirstPageFooterIdSuggested,+ ("defaultHeaderIdSuggested" .=) <$>+ _dsssDefaultHeaderIdSuggested,+ ("useEvenPageHeaderFooterSuggested" .=) <$>+ _dsssUseEvenPageHeaderFooterSuggested,+ ("pageNumberStartSuggested" .=) <$>+ _dsssPageNumberStartSuggested,+ ("backgroundSuggestionState" .=) <$>+ _dsssBackgRoundSuggestionState,+ ("useFirstPageHeaderFooterSuggested" .=) <$>+ _dsssUseFirstPageHeaderFooterSuggested,+ ("pageSizeSuggestionState" .=) <$>+ _dsssPageSizeSuggestionState,+ ("marginTopSuggested" .=) <$>+ _dsssMarginTopSuggested,+ ("evenPageFooterIdSuggested" .=) <$>+ _dsssEvenPageFooterIdSuggested,+ ("marginBottomSuggested" .=) <$>+ _dsssMarginBottomSuggested,+ ("evenPageHeaderIdSuggested" .=) <$>+ _dsssEvenPageHeaderIdSuggested,+ ("marginLeftSuggested" .=) <$>+ _dsssMarginLeftSuggested,+ ("marginRightSuggested" .=) <$>+ _dsssMarginRightSuggested,+ ("firstPageHeaderIdSuggested" .=) <$>+ _dsssFirstPageHeaderIdSuggested,+ ("defaultFooterIdSuggested" .=) <$>+ _dsssDefaultFooterIdSuggested])++-- | A reference to the external linked source content.+--+-- /See:/ 'linkedContentReference' smart constructor.+newtype LinkedContentReference =+ LinkedContentReference'+ { _lcrSheetsChartReference :: Maybe SheetsChartReference+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LinkedContentReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcrSheetsChartReference'+linkedContentReference+ :: LinkedContentReference+linkedContentReference =+ LinkedContentReference' {_lcrSheetsChartReference = Nothing}+++-- | A reference to the linked chart.+lcrSheetsChartReference :: Lens' LinkedContentReference (Maybe SheetsChartReference)+lcrSheetsChartReference+ = lens _lcrSheetsChartReference+ (\ s a -> s{_lcrSheetsChartReference = a})++instance FromJSON LinkedContentReference where+ parseJSON+ = withObject "LinkedContentReference"+ (\ o ->+ LinkedContentReference' <$>+ (o .:? "sheetsChartReference"))++instance ToJSON LinkedContentReference where+ toJSON LinkedContentReference'{..}+ = object+ (catMaybes+ [("sheetsChartReference" .=) <$>+ _lcrSheetsChartReference])++-- | The shading of a paragraph.+--+-- /See:/ 'shading' smart constructor.+newtype Shading =+ Shading'+ { _sBackgRoundColor :: Maybe OptionalColor+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Shading' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sBackgRoundColor'+shading+ :: Shading+shading = Shading' {_sBackgRoundColor = Nothing}+++-- | The background color of this paragraph shading.+sBackgRoundColor :: Lens' Shading (Maybe OptionalColor)+sBackgRoundColor+ = lens _sBackgRoundColor+ (\ s a -> s{_sBackgRoundColor = a})++instance FromJSON Shading where+ parseJSON+ = withObject "Shading"+ (\ o -> Shading' <$> (o .:? "backgroundColor"))++instance ToJSON Shading where+ toJSON Shading'{..}+ = object+ (catMaybes+ [("backgroundColor" .=) <$> _sBackgRoundColor])++-- | A mask that indicates which of the fields on the base+-- InlineObjectProperties have been changed in this suggestion. For any+-- field set to true, there is a new suggested value.+--+-- /See:/ 'inlineObjectPropertiesSuggestionState' smart constructor.+newtype InlineObjectPropertiesSuggestionState =+ InlineObjectPropertiesSuggestionState'+ { _iopssEmbeddedObjectSuggestionState :: Maybe EmbeddedObjectSuggestionState+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InlineObjectPropertiesSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iopssEmbeddedObjectSuggestionState'+inlineObjectPropertiesSuggestionState+ :: InlineObjectPropertiesSuggestionState+inlineObjectPropertiesSuggestionState =+ InlineObjectPropertiesSuggestionState'+ {_iopssEmbeddedObjectSuggestionState = Nothing}+++-- | A mask that indicates which of the fields in embedded_object have been+-- changed in this suggestion.+iopssEmbeddedObjectSuggestionState :: Lens' InlineObjectPropertiesSuggestionState (Maybe EmbeddedObjectSuggestionState)+iopssEmbeddedObjectSuggestionState+ = lens _iopssEmbeddedObjectSuggestionState+ (\ s a -> s{_iopssEmbeddedObjectSuggestionState = a})++instance FromJSON+ InlineObjectPropertiesSuggestionState+ where+ parseJSON+ = withObject "InlineObjectPropertiesSuggestionState"+ (\ o ->+ InlineObjectPropertiesSuggestionState' <$>+ (o .:? "embeddedObjectSuggestionState"))++instance ToJSON InlineObjectPropertiesSuggestionState+ where+ toJSON InlineObjectPropertiesSuggestionState'{..}+ = object+ (catMaybes+ [("embeddedObjectSuggestionState" .=) <$>+ _iopssEmbeddedObjectSuggestionState])++-- | The suggested text style changes to this PageBreak, keyed by suggestion+-- ID.+--+-- /See:/ 'pageBreakSuggestedTextStyleChanges' smart constructor.+newtype PageBreakSuggestedTextStyleChanges =+ PageBreakSuggestedTextStyleChanges'+ { _pbstscAddtional :: HashMap Text SuggestedTextStyle+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PageBreakSuggestedTextStyleChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pbstscAddtional'+pageBreakSuggestedTextStyleChanges+ :: HashMap Text SuggestedTextStyle -- ^ 'pbstscAddtional'+ -> PageBreakSuggestedTextStyleChanges+pageBreakSuggestedTextStyleChanges pPbstscAddtional_ =+ PageBreakSuggestedTextStyleChanges'+ {_pbstscAddtional = _Coerce # pPbstscAddtional_}+++pbstscAddtional :: Lens' PageBreakSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)+pbstscAddtional+ = lens _pbstscAddtional+ (\ s a -> s{_pbstscAddtional = a})+ . _Coerce++instance FromJSON PageBreakSuggestedTextStyleChanges+ where+ parseJSON+ = withObject "PageBreakSuggestedTextStyleChanges"+ (\ o ->+ PageBreakSuggestedTextStyleChanges' <$>+ (parseJSONObject o))++instance ToJSON PageBreakSuggestedTextStyleChanges+ where+ toJSON = toJSON . _pbstscAddtional++-- | The lists in the document, keyed by list ID.+--+-- /See:/ 'documentLists' smart constructor.+newtype DocumentLists =+ DocumentLists'+ { _dlAddtional :: HashMap Text List+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentLists' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlAddtional'+documentLists+ :: HashMap Text List -- ^ 'dlAddtional'+ -> DocumentLists+documentLists pDlAddtional_ =+ DocumentLists' {_dlAddtional = _Coerce # pDlAddtional_}+++dlAddtional :: Lens' DocumentLists (HashMap Text List)+dlAddtional+ = lens _dlAddtional (\ s a -> s{_dlAddtional = a}) .+ _Coerce++instance FromJSON DocumentLists where+ parseJSON+ = withObject "DocumentLists"+ (\ o -> DocumentLists' <$> (parseJSONObject o))++instance ToJSON DocumentLists where+ toJSON = toJSON . _dlAddtional++-- | Deletes content from the document.+--+-- /See:/ 'deleteContentRangeRequest' smart constructor.+newtype DeleteContentRangeRequest =+ DeleteContentRangeRequest'+ { _dcrrRange :: Maybe Range+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteContentRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcrrRange'+deleteContentRangeRequest+ :: DeleteContentRangeRequest+deleteContentRangeRequest = DeleteContentRangeRequest' {_dcrrRange = Nothing}+++-- | The range of content to delete. Deleting text that crosses a paragraph+-- boundary may result in changes to paragraph styles, lists, positioned+-- objects and bookmarks as the two paragraphs are merged. Attempting to+-- delete certain ranges can result in an invalid document structure in+-- which case a 400 bad request error is returned. Some examples of invalid+-- delete requests include: * Deleting one code unit of a surrogate pair. *+-- Deleting the last newline character of a Body, Header, Footer, Footnote,+-- TableCell or TableOfContents. * Deleting the start or end of a Table,+-- TableOfContents or Equation without deleting the entire element. *+-- Deleting the newline character before a Table, TableOfContents or+-- SectionBreak without deleting the element. * Deleting individual rows or+-- cells of a table. Deleting the content within a table cell is allowed.+dcrrRange :: Lens' DeleteContentRangeRequest (Maybe Range)+dcrrRange+ = lens _dcrrRange (\ s a -> s{_dcrrRange = a})++instance FromJSON DeleteContentRangeRequest where+ parseJSON+ = withObject "DeleteContentRangeRequest"+ (\ o ->+ DeleteContentRangeRequest' <$> (o .:? "range"))++instance ToJSON DeleteContentRangeRequest where+ toJSON DeleteContentRangeRequest'{..}+ = object (catMaybes [("range" .=) <$> _dcrrRange])++-- | Describes the bullet of a paragraph.+--+-- /See:/ 'bullet' smart constructor.+data Bullet =+ Bullet'+ { _bListId :: !(Maybe Text)+ , _bTextStyle :: !(Maybe TextStyle)+ , _bNestingLevel :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Bullet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bListId'+--+-- * 'bTextStyle'+--+-- * 'bNestingLevel'+bullet+ :: Bullet+bullet =+ Bullet' {_bListId = Nothing, _bTextStyle = Nothing, _bNestingLevel = Nothing}+++-- | The ID of the list this paragraph belongs to.+bListId :: Lens' Bullet (Maybe Text)+bListId = lens _bListId (\ s a -> s{_bListId = a})++-- | The paragraph specific text style applied to this bullet.+bTextStyle :: Lens' Bullet (Maybe TextStyle)+bTextStyle+ = lens _bTextStyle (\ s a -> s{_bTextStyle = a})++-- | The nesting level of this paragraph in the list.+bNestingLevel :: Lens' Bullet (Maybe Int32)+bNestingLevel+ = lens _bNestingLevel+ (\ s a -> s{_bNestingLevel = a})+ . mapping _Coerce++instance FromJSON Bullet where+ parseJSON+ = withObject "Bullet"+ (\ o ->+ Bullet' <$>+ (o .:? "listId") <*> (o .:? "textStyle") <*>+ (o .:? "nestingLevel"))++instance ToJSON Bullet where+ toJSON Bullet'{..}+ = object+ (catMaybes+ [("listId" .=) <$> _bListId,+ ("textStyle" .=) <$> _bTextStyle,+ ("nestingLevel" .=) <$> _bNestingLevel])++-- | A StructuralElement representing a paragraph. A paragraph is a range of+-- content that is terminated with a newline character.+--+-- /See:/ 'paragraph' smart constructor.+data Paragraph =+ Paragraph'+ { _pBullet :: !(Maybe Bullet)+ , _pSuggestedBulletChanges :: !(Maybe ParagraphSuggestedBulletChanges)+ , _pSuggestedPositionedObjectIds :: !(Maybe ParagraphSuggestedPositionedObjectIds)+ , _pSuggestedParagraphStyleChanges :: !(Maybe ParagraphSuggestedParagraphStyleChanges)+ , _pElements :: !(Maybe [ParagraphElement])+ , _pPositionedObjectIds :: !(Maybe [Text])+ , _pParagraphStyle :: !(Maybe ParagraphStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Paragraph' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pBullet'+--+-- * 'pSuggestedBulletChanges'+--+-- * 'pSuggestedPositionedObjectIds'+--+-- * 'pSuggestedParagraphStyleChanges'+--+-- * 'pElements'+--+-- * 'pPositionedObjectIds'+--+-- * 'pParagraphStyle'+paragraph+ :: Paragraph+paragraph =+ Paragraph'+ { _pBullet = Nothing+ , _pSuggestedBulletChanges = Nothing+ , _pSuggestedPositionedObjectIds = Nothing+ , _pSuggestedParagraphStyleChanges = Nothing+ , _pElements = Nothing+ , _pPositionedObjectIds = Nothing+ , _pParagraphStyle = Nothing+ }+++-- | The bullet for this paragraph. If not present, the paragraph does not+-- belong to a list.+pBullet :: Lens' Paragraph (Maybe Bullet)+pBullet = lens _pBullet (\ s a -> s{_pBullet = a})++-- | The suggested changes to this paragraph\'s bullet.+pSuggestedBulletChanges :: Lens' Paragraph (Maybe ParagraphSuggestedBulletChanges)+pSuggestedBulletChanges+ = lens _pSuggestedBulletChanges+ (\ s a -> s{_pSuggestedBulletChanges = a})++-- | The IDs of the positioned objects that are suggested to be attached to+-- this paragraph, keyed by suggestion ID.+pSuggestedPositionedObjectIds :: Lens' Paragraph (Maybe ParagraphSuggestedPositionedObjectIds)+pSuggestedPositionedObjectIds+ = lens _pSuggestedPositionedObjectIds+ (\ s a -> s{_pSuggestedPositionedObjectIds = a})++-- | The suggested paragraph style changes to this paragraph, keyed by+-- suggestion ID.+pSuggestedParagraphStyleChanges :: Lens' Paragraph (Maybe ParagraphSuggestedParagraphStyleChanges)+pSuggestedParagraphStyleChanges+ = lens _pSuggestedParagraphStyleChanges+ (\ s a -> s{_pSuggestedParagraphStyleChanges = a})++-- | The content of the paragraph broken down into its component parts.+pElements :: Lens' Paragraph [ParagraphElement]+pElements+ = lens _pElements (\ s a -> s{_pElements = a}) .+ _Default+ . _Coerce++-- | The IDs of the positioned objects tethered to this paragraph.+pPositionedObjectIds :: Lens' Paragraph [Text]+pPositionedObjectIds+ = lens _pPositionedObjectIds+ (\ s a -> s{_pPositionedObjectIds = a})+ . _Default+ . _Coerce++-- | The style of this paragraph.+pParagraphStyle :: Lens' Paragraph (Maybe ParagraphStyle)+pParagraphStyle+ = lens _pParagraphStyle+ (\ s a -> s{_pParagraphStyle = a})++instance FromJSON Paragraph where+ parseJSON+ = withObject "Paragraph"+ (\ o ->+ Paragraph' <$>+ (o .:? "bullet") <*> (o .:? "suggestedBulletChanges")+ <*> (o .:? "suggestedPositionedObjectIds")+ <*> (o .:? "suggestedParagraphStyleChanges")+ <*> (o .:? "elements" .!= mempty)+ <*> (o .:? "positionedObjectIds" .!= mempty)+ <*> (o .:? "paragraphStyle"))++instance ToJSON Paragraph where+ toJSON Paragraph'{..}+ = object+ (catMaybes+ [("bullet" .=) <$> _pBullet,+ ("suggestedBulletChanges" .=) <$>+ _pSuggestedBulletChanges,+ ("suggestedPositionedObjectIds" .=) <$>+ _pSuggestedPositionedObjectIds,+ ("suggestedParagraphStyleChanges" .=) <$>+ _pSuggestedParagraphStyleChanges,+ ("elements" .=) <$> _pElements,+ ("positionedObjectIds" .=) <$> _pPositionedObjectIds,+ ("paragraphStyle" .=) <$> _pParagraphStyle])++-- | The suggested text style changes to this run, keyed by suggestion ID.+--+-- /See:/ 'textRunSuggestedTextStyleChanges' smart constructor.+newtype TextRunSuggestedTextStyleChanges =+ TextRunSuggestedTextStyleChanges'+ { _trstscAddtional :: HashMap Text SuggestedTextStyle+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TextRunSuggestedTextStyleChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trstscAddtional'+textRunSuggestedTextStyleChanges+ :: HashMap Text SuggestedTextStyle -- ^ 'trstscAddtional'+ -> TextRunSuggestedTextStyleChanges+textRunSuggestedTextStyleChanges pTrstscAddtional_ =+ TextRunSuggestedTextStyleChanges'+ {_trstscAddtional = _Coerce # pTrstscAddtional_}+++trstscAddtional :: Lens' TextRunSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)+trstscAddtional+ = lens _trstscAddtional+ (\ s a -> s{_trstscAddtional = a})+ . _Coerce++instance FromJSON TextRunSuggestedTextStyleChanges+ where+ parseJSON+ = withObject "TextRunSuggestedTextStyleChanges"+ (\ o ->+ TextRunSuggestedTextStyleChanges' <$>+ (parseJSONObject o))++instance ToJSON TextRunSuggestedTextStyleChanges+ where+ toJSON = toJSON . _trstscAddtional++-- | A suggested change to a TableRowStyle.+--+-- /See:/ 'suggestedTableRowStyle' smart constructor.+data SuggestedTableRowStyle =+ SuggestedTableRowStyle'+ { _strsTableRowStyleSuggestionState :: !(Maybe TableRowStyleSuggestionState)+ , _strsTableRowStyle :: !(Maybe TableRowStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SuggestedTableRowStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'strsTableRowStyleSuggestionState'+--+-- * 'strsTableRowStyle'+suggestedTableRowStyle+ :: SuggestedTableRowStyle+suggestedTableRowStyle =+ SuggestedTableRowStyle'+ {_strsTableRowStyleSuggestionState = Nothing, _strsTableRowStyle = Nothing}+++-- | A mask that indicates which of the fields on the base TableRowStyle have+-- been changed in this suggestion.+strsTableRowStyleSuggestionState :: Lens' SuggestedTableRowStyle (Maybe TableRowStyleSuggestionState)+strsTableRowStyleSuggestionState+ = lens _strsTableRowStyleSuggestionState+ (\ s a -> s{_strsTableRowStyleSuggestionState = a})++-- | A TableRowStyle that only includes the changes made in this suggestion.+-- This can be used along with the table_row_style_suggestion_state to see+-- which fields have changed and their new values.+strsTableRowStyle :: Lens' SuggestedTableRowStyle (Maybe TableRowStyle)+strsTableRowStyle+ = lens _strsTableRowStyle+ (\ s a -> s{_strsTableRowStyle = a})++instance FromJSON SuggestedTableRowStyle where+ parseJSON+ = withObject "SuggestedTableRowStyle"+ (\ o ->+ SuggestedTableRowStyle' <$>+ (o .:? "tableRowStyleSuggestionState") <*>+ (o .:? "tableRowStyle"))++instance ToJSON SuggestedTableRowStyle where+ toJSON SuggestedTableRowStyle'{..}+ = object+ (catMaybes+ [("tableRowStyleSuggestionState" .=) <$>+ _strsTableRowStyleSuggestionState,+ ("tableRowStyle" .=) <$> _strsTableRowStyle])++-- | The footnotes in the document, keyed by footnote ID.+--+-- /See:/ 'documentFootNotes' smart constructor.+newtype DocumentFootNotes =+ DocumentFootNotes'+ { _dfnAddtional :: HashMap Text FootNote+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentFootNotes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfnAddtional'+documentFootNotes+ :: HashMap Text FootNote -- ^ 'dfnAddtional'+ -> DocumentFootNotes+documentFootNotes pDfnAddtional_ =+ DocumentFootNotes' {_dfnAddtional = _Coerce # pDfnAddtional_}+++dfnAddtional :: Lens' DocumentFootNotes (HashMap Text FootNote)+dfnAddtional+ = lens _dfnAddtional (\ s a -> s{_dfnAddtional = a})+ . _Coerce++instance FromJSON DocumentFootNotes where+ parseJSON+ = withObject "DocumentFootNotes"+ (\ o -> DocumentFootNotes' <$> (parseJSONObject o))++instance ToJSON DocumentFootNotes where+ toJSON = toJSON . _dfnAddtional++-- | The properties of an image.+--+-- /See:/ 'imageProperties' smart constructor.+data ImageProperties =+ ImageProperties'+ { _ipCropProperties :: !(Maybe CropProperties)+ , _ipContentURI :: !(Maybe Text)+ , _ipTransparency :: !(Maybe (Textual Double))+ , _ipAngle :: !(Maybe (Textual Double))+ , _ipContrast :: !(Maybe (Textual Double))+ , _ipSourceURI :: !(Maybe Text)+ , _ipBrightness :: !(Maybe (Textual Double))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ImageProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipCropProperties'+--+-- * 'ipContentURI'+--+-- * 'ipTransparency'+--+-- * 'ipAngle'+--+-- * 'ipContrast'+--+-- * 'ipSourceURI'+--+-- * 'ipBrightness'+imageProperties+ :: ImageProperties+imageProperties =+ ImageProperties'+ { _ipCropProperties = Nothing+ , _ipContentURI = Nothing+ , _ipTransparency = Nothing+ , _ipAngle = Nothing+ , _ipContrast = Nothing+ , _ipSourceURI = Nothing+ , _ipBrightness = Nothing+ }+++-- | The crop properties of the image. After cropping, the image will be+-- stretched to fit in its container.+ipCropProperties :: Lens' ImageProperties (Maybe CropProperties)+ipCropProperties+ = lens _ipCropProperties+ (\ s a -> s{_ipCropProperties = a})++-- | A URI to the image with a default lifetime of 30 minutes. This URI is+-- tagged with the account of the requester. Anyone with the URI+-- effectively accesses the image as the original requester. Access to the+-- image may be lost if the document\'s sharing settings change.+ipContentURI :: Lens' ImageProperties (Maybe Text)+ipContentURI+ = lens _ipContentURI (\ s a -> s{_ipContentURI = a})++-- | The transparency effect of the image. The value should be in the+-- interval [0.0, 1.0], where 0 means no effect and 1 means completely+-- transparent.+ipTransparency :: Lens' ImageProperties (Maybe Double)+ipTransparency+ = lens _ipTransparency+ (\ s a -> s{_ipTransparency = a})+ . mapping _Coerce++-- | The clockwise rotation angle of the image, in radians.+ipAngle :: Lens' ImageProperties (Maybe Double)+ipAngle+ = lens _ipAngle (\ s a -> s{_ipAngle = a}) .+ mapping _Coerce++-- | The contrast effect of the image. The value should be in the interval+-- [-1.0, 1.0], where 0 means no effect.+ipContrast :: Lens' ImageProperties (Maybe Double)+ipContrast+ = lens _ipContrast (\ s a -> s{_ipContrast = a}) .+ mapping _Coerce++-- | The source URI is the URI used to insert the image. The source URI can+-- be empty.+ipSourceURI :: Lens' ImageProperties (Maybe Text)+ipSourceURI+ = lens _ipSourceURI (\ s a -> s{_ipSourceURI = a})++-- | The brightness effect of the image. The value should be in the interval+-- [-1.0, 1.0], where 0 means no effect.+ipBrightness :: Lens' ImageProperties (Maybe Double)+ipBrightness+ = lens _ipBrightness (\ s a -> s{_ipBrightness = a})+ . mapping _Coerce++instance FromJSON ImageProperties where+ parseJSON+ = withObject "ImageProperties"+ (\ o ->+ ImageProperties' <$>+ (o .:? "cropProperties") <*> (o .:? "contentUri") <*>+ (o .:? "transparency")+ <*> (o .:? "angle")+ <*> (o .:? "contrast")+ <*> (o .:? "sourceUri")+ <*> (o .:? "brightness"))++instance ToJSON ImageProperties where+ toJSON ImageProperties'{..}+ = object+ (catMaybes+ [("cropProperties" .=) <$> _ipCropProperties,+ ("contentUri" .=) <$> _ipContentURI,+ ("transparency" .=) <$> _ipTransparency,+ ("angle" .=) <$> _ipAngle,+ ("contrast" .=) <$> _ipContrast,+ ("sourceUri" .=) <$> _ipSourceURI,+ ("brightness" .=) <$> _ipBrightness])++-- | A mask that indicates which of the fields on the base Size have been+-- changed in this suggestion. For any field set to true, the Size has a+-- new suggested value.+--+-- /See:/ 'sizeSuggestionState' smart constructor.+data SizeSuggestionState =+ SizeSuggestionState'+ { _sssHeightSuggested :: !(Maybe Bool)+ , _sssWidthSuggested :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SizeSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sssHeightSuggested'+--+-- * 'sssWidthSuggested'+sizeSuggestionState+ :: SizeSuggestionState+sizeSuggestionState =+ SizeSuggestionState'+ {_sssHeightSuggested = Nothing, _sssWidthSuggested = Nothing}+++-- | Indicates if there was a suggested change to height.+sssHeightSuggested :: Lens' SizeSuggestionState (Maybe Bool)+sssHeightSuggested+ = lens _sssHeightSuggested+ (\ s a -> s{_sssHeightSuggested = a})++-- | Indicates if there was a suggested change to width.+sssWidthSuggested :: Lens' SizeSuggestionState (Maybe Bool)+sssWidthSuggested+ = lens _sssWidthSuggested+ (\ s a -> s{_sssWidthSuggested = a})++instance FromJSON SizeSuggestionState where+ parseJSON+ = withObject "SizeSuggestionState"+ (\ o ->+ SizeSuggestionState' <$>+ (o .:? "heightSuggested") <*>+ (o .:? "widthSuggested"))++instance ToJSON SizeSuggestionState where+ toJSON SizeSuggestionState'{..}+ = object+ (catMaybes+ [("heightSuggested" .=) <$> _sssHeightSuggested,+ ("widthSuggested" .=) <$> _sssWidthSuggested])++-- | The suggested changes to the list properties, keyed by suggestion ID.+--+-- /See:/ 'listSuggestedListPropertiesChanges' smart constructor.+newtype ListSuggestedListPropertiesChanges =+ ListSuggestedListPropertiesChanges'+ { _lslpcAddtional :: HashMap Text SuggestedListProperties+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListSuggestedListPropertiesChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lslpcAddtional'+listSuggestedListPropertiesChanges+ :: HashMap Text SuggestedListProperties -- ^ 'lslpcAddtional'+ -> ListSuggestedListPropertiesChanges+listSuggestedListPropertiesChanges pLslpcAddtional_ =+ ListSuggestedListPropertiesChanges'+ {_lslpcAddtional = _Coerce # pLslpcAddtional_}+++lslpcAddtional :: Lens' ListSuggestedListPropertiesChanges (HashMap Text SuggestedListProperties)+lslpcAddtional+ = lens _lslpcAddtional+ (\ s a -> s{_lslpcAddtional = a})+ . _Coerce++instance FromJSON ListSuggestedListPropertiesChanges+ where+ parseJSON+ = withObject "ListSuggestedListPropertiesChanges"+ (\ o ->+ ListSuggestedListPropertiesChanges' <$>+ (parseJSONObject o))++instance ToJSON ListSuggestedListPropertiesChanges+ where+ toJSON = toJSON . _lslpcAddtional++-- | Response message from a BatchUpdateDocument request.+--+-- /See:/ 'batchUpdateDocumentResponse' smart constructor.+data BatchUpdateDocumentResponse =+ BatchUpdateDocumentResponse'+ { _budrDocumentId :: !(Maybe Text)+ , _budrReplies :: !(Maybe [Response])+ , _budrWriteControl :: !(Maybe WriteControl)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchUpdateDocumentResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'budrDocumentId'+--+-- * 'budrReplies'+--+-- * 'budrWriteControl'+batchUpdateDocumentResponse+ :: BatchUpdateDocumentResponse+batchUpdateDocumentResponse =+ BatchUpdateDocumentResponse'+ { _budrDocumentId = Nothing+ , _budrReplies = Nothing+ , _budrWriteControl = Nothing+ }+++-- | The ID of the document to which the updates were applied to.+budrDocumentId :: Lens' BatchUpdateDocumentResponse (Maybe Text)+budrDocumentId+ = lens _budrDocumentId+ (\ s a -> s{_budrDocumentId = a})++-- | The reply of the updates. This maps 1:1 with the updates, although+-- replies to some requests may be empty.+budrReplies :: Lens' BatchUpdateDocumentResponse [Response]+budrReplies+ = lens _budrReplies (\ s a -> s{_budrReplies = a}) .+ _Default+ . _Coerce++-- | The updated write control after applying the request.+budrWriteControl :: Lens' BatchUpdateDocumentResponse (Maybe WriteControl)+budrWriteControl+ = lens _budrWriteControl+ (\ s a -> s{_budrWriteControl = a})++instance FromJSON BatchUpdateDocumentResponse where+ parseJSON+ = withObject "BatchUpdateDocumentResponse"+ (\ o ->+ BatchUpdateDocumentResponse' <$>+ (o .:? "documentId") <*> (o .:? "replies" .!= mempty)+ <*> (o .:? "writeControl"))++instance ToJSON BatchUpdateDocumentResponse where+ toJSON BatchUpdateDocumentResponse'{..}+ = object+ (catMaybes+ [("documentId" .=) <$> _budrDocumentId,+ ("replies" .=) <$> _budrReplies,+ ("writeControl" .=) <$> _budrWriteControl])++-- | Styles that apply to a table.+--+-- /See:/ 'tableStyle' smart constructor.+newtype TableStyle =+ TableStyle'+ { _tsTableColumnProperties :: Maybe [TableColumnProperties]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsTableColumnProperties'+tableStyle+ :: TableStyle+tableStyle = TableStyle' {_tsTableColumnProperties = Nothing}+++-- | The properties of each column. Note that in Docs, tables contain rows+-- and rows contain cells, similar to HTML. So the properties for a row can+-- be found on the row\'s table_row_style.+tsTableColumnProperties :: Lens' TableStyle [TableColumnProperties]+tsTableColumnProperties+ = lens _tsTableColumnProperties+ (\ s a -> s{_tsTableColumnProperties = a})+ . _Default+ . _Coerce++instance FromJSON TableStyle where+ parseJSON+ = withObject "TableStyle"+ (\ o ->+ TableStyle' <$>+ (o .:? "tableColumnProperties" .!= mempty))++instance ToJSON TableStyle where+ toJSON TableStyle'{..}+ = object+ (catMaybes+ [("tableColumnProperties" .=) <$>+ _tsTableColumnProperties])++-- | A ParagraphElement representing a footnote reference. A footnote+-- reference is the inline content rendered with a number and is used to+-- identify the footnote.+--+-- /See:/ 'footNoteReference' smart constructor.+data FootNoteReference =+ FootNoteReference'+ { _fnrSuggestedInsertionIds :: !(Maybe [Text])+ , _fnrSuggestedTextStyleChanges :: !(Maybe FootNoteReferenceSuggestedTextStyleChanges)+ , _fnrFootNoteId :: !(Maybe Text)+ , _fnrSuggestedDeletionIds :: !(Maybe [Text])+ , _fnrTextStyle :: !(Maybe TextStyle)+ , _fnrFootNoteNumber :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FootNoteReference' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fnrSuggestedInsertionIds'+--+-- * 'fnrSuggestedTextStyleChanges'+--+-- * 'fnrFootNoteId'+--+-- * 'fnrSuggestedDeletionIds'+--+-- * 'fnrTextStyle'+--+-- * 'fnrFootNoteNumber'+footNoteReference+ :: FootNoteReference+footNoteReference =+ FootNoteReference'+ { _fnrSuggestedInsertionIds = Nothing+ , _fnrSuggestedTextStyleChanges = Nothing+ , _fnrFootNoteId = Nothing+ , _fnrSuggestedDeletionIds = Nothing+ , _fnrTextStyle = Nothing+ , _fnrFootNoteNumber = Nothing+ }+++-- | The suggested insertion IDs. A FootnoteReference may have multiple+-- insertion IDs if it is a nested suggested change. If empty, then this is+-- not a suggested insertion.+fnrSuggestedInsertionIds :: Lens' FootNoteReference [Text]+fnrSuggestedInsertionIds+ = lens _fnrSuggestedInsertionIds+ (\ s a -> s{_fnrSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The suggested text style changes to this FootnoteReference, keyed by+-- suggestion ID.+fnrSuggestedTextStyleChanges :: Lens' FootNoteReference (Maybe FootNoteReferenceSuggestedTextStyleChanges)+fnrSuggestedTextStyleChanges+ = lens _fnrSuggestedTextStyleChanges+ (\ s a -> s{_fnrSuggestedTextStyleChanges = a})++-- | The ID of the footnote that contains the content of this footnote+-- reference.+fnrFootNoteId :: Lens' FootNoteReference (Maybe Text)+fnrFootNoteId+ = lens _fnrFootNoteId+ (\ s a -> s{_fnrFootNoteId = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+fnrSuggestedDeletionIds :: Lens' FootNoteReference [Text]+fnrSuggestedDeletionIds+ = lens _fnrSuggestedDeletionIds+ (\ s a -> s{_fnrSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The text style of this FootnoteReference.+fnrTextStyle :: Lens' FootNoteReference (Maybe TextStyle)+fnrTextStyle+ = lens _fnrTextStyle (\ s a -> s{_fnrTextStyle = a})++-- | The rendered number of this footnote.+fnrFootNoteNumber :: Lens' FootNoteReference (Maybe Text)+fnrFootNoteNumber+ = lens _fnrFootNoteNumber+ (\ s a -> s{_fnrFootNoteNumber = a})++instance FromJSON FootNoteReference where+ parseJSON+ = withObject "FootNoteReference"+ (\ o ->+ FootNoteReference' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "suggestedTextStyleChanges")+ <*> (o .:? "footnoteId")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "textStyle")+ <*> (o .:? "footnoteNumber"))++instance ToJSON FootNoteReference where+ toJSON FootNoteReference'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _fnrSuggestedInsertionIds,+ ("suggestedTextStyleChanges" .=) <$>+ _fnrSuggestedTextStyleChanges,+ ("footnoteId" .=) <$> _fnrFootNoteId,+ ("suggestedDeletionIds" .=) <$>+ _fnrSuggestedDeletionIds,+ ("textStyle" .=) <$> _fnrTextStyle,+ ("footnoteNumber" .=) <$> _fnrFootNoteNumber])++-- | A ParagraphElement representing a column break. A column break makes the+-- subsequent text start at the top of the next column.+--+-- /See:/ 'columnBreak' smart constructor.+data ColumnBreak =+ ColumnBreak'+ { _cbSuggestedInsertionIds :: !(Maybe [Text])+ , _cbSuggestedTextStyleChanges :: !(Maybe ColumnBreakSuggestedTextStyleChanges)+ , _cbSuggestedDeletionIds :: !(Maybe [Text])+ , _cbTextStyle :: !(Maybe TextStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ColumnBreak' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbSuggestedInsertionIds'+--+-- * 'cbSuggestedTextStyleChanges'+--+-- * 'cbSuggestedDeletionIds'+--+-- * 'cbTextStyle'+columnBreak+ :: ColumnBreak+columnBreak =+ ColumnBreak'+ { _cbSuggestedInsertionIds = Nothing+ , _cbSuggestedTextStyleChanges = Nothing+ , _cbSuggestedDeletionIds = Nothing+ , _cbTextStyle = Nothing+ }+++-- | The suggested insertion IDs. A ColumnBreak may have multiple insertion+-- IDs if it is a nested suggested change. If empty, then this is not a+-- suggested insertion.+cbSuggestedInsertionIds :: Lens' ColumnBreak [Text]+cbSuggestedInsertionIds+ = lens _cbSuggestedInsertionIds+ (\ s a -> s{_cbSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The suggested text style changes to this ColumnBreak, keyed by+-- suggestion ID.+cbSuggestedTextStyleChanges :: Lens' ColumnBreak (Maybe ColumnBreakSuggestedTextStyleChanges)+cbSuggestedTextStyleChanges+ = lens _cbSuggestedTextStyleChanges+ (\ s a -> s{_cbSuggestedTextStyleChanges = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+cbSuggestedDeletionIds :: Lens' ColumnBreak [Text]+cbSuggestedDeletionIds+ = lens _cbSuggestedDeletionIds+ (\ s a -> s{_cbSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The text style of this ColumnBreak. Similar to text content, like text+-- runs and footnote references, the text style of a column break can+-- affect content layout as well as the styling of text inserted adjacent+-- to it.+cbTextStyle :: Lens' ColumnBreak (Maybe TextStyle)+cbTextStyle+ = lens _cbTextStyle (\ s a -> s{_cbTextStyle = a})++instance FromJSON ColumnBreak where+ parseJSON+ = withObject "ColumnBreak"+ (\ o ->+ ColumnBreak' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "suggestedTextStyleChanges")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "textStyle"))++instance ToJSON ColumnBreak where+ toJSON ColumnBreak'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _cbSuggestedInsertionIds,+ ("suggestedTextStyleChanges" .=) <$>+ _cbSuggestedTextStyleChanges,+ ("suggestedDeletionIds" .=) <$>+ _cbSuggestedDeletionIds,+ ("textStyle" .=) <$> _cbTextStyle])++-- | The suggested changes to the inline object properties, keyed by+-- suggestion ID.+--+-- /See:/ 'inlineObjectSuggestedInlineObjectPropertiesChanges' smart constructor.+newtype InlineObjectSuggestedInlineObjectPropertiesChanges =+ InlineObjectSuggestedInlineObjectPropertiesChanges'+ { _iosiopcAddtional :: HashMap Text SuggestedInlineObjectProperties+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InlineObjectSuggestedInlineObjectPropertiesChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iosiopcAddtional'+inlineObjectSuggestedInlineObjectPropertiesChanges+ :: HashMap Text SuggestedInlineObjectProperties -- ^ 'iosiopcAddtional'+ -> InlineObjectSuggestedInlineObjectPropertiesChanges+inlineObjectSuggestedInlineObjectPropertiesChanges pIosiopcAddtional_ =+ InlineObjectSuggestedInlineObjectPropertiesChanges'+ {_iosiopcAddtional = _Coerce # pIosiopcAddtional_}+++iosiopcAddtional :: Lens' InlineObjectSuggestedInlineObjectPropertiesChanges (HashMap Text SuggestedInlineObjectProperties)+iosiopcAddtional+ = lens _iosiopcAddtional+ (\ s a -> s{_iosiopcAddtional = a})+ . _Coerce++instance FromJSON+ InlineObjectSuggestedInlineObjectPropertiesChanges+ where+ parseJSON+ = withObject+ "InlineObjectSuggestedInlineObjectPropertiesChanges"+ (\ o ->+ InlineObjectSuggestedInlineObjectPropertiesChanges'+ <$> (parseJSONObject o))++instance ToJSON+ InlineObjectSuggestedInlineObjectPropertiesChanges+ where+ toJSON = toJSON . _iosiopcAddtional++-- | A ParagraphElement representing an equation.+--+-- /See:/ 'equation' smart constructor.+data Equation =+ Equation'+ { _eSuggestedInsertionIds :: !(Maybe [Text])+ , _eSuggestedDeletionIds :: !(Maybe [Text])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Equation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eSuggestedInsertionIds'+--+-- * 'eSuggestedDeletionIds'+equation+ :: Equation+equation =+ Equation'+ {_eSuggestedInsertionIds = Nothing, _eSuggestedDeletionIds = Nothing}+++-- | The suggested insertion IDs. A Equation may have multiple insertion IDs+-- if it is a nested suggested change. If empty, then this is not a+-- suggested insertion.+eSuggestedInsertionIds :: Lens' Equation [Text]+eSuggestedInsertionIds+ = lens _eSuggestedInsertionIds+ (\ s a -> s{_eSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+eSuggestedDeletionIds :: Lens' Equation [Text]+eSuggestedDeletionIds+ = lens _eSuggestedDeletionIds+ (\ s a -> s{_eSuggestedDeletionIds = a})+ . _Default+ . _Coerce++instance FromJSON Equation where+ parseJSON+ = withObject "Equation"+ (\ o ->+ Equation' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "suggestedDeletionIds" .!= mempty))++instance ToJSON Equation where+ toJSON Equation'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _eSuggestedInsertionIds,+ ("suggestedDeletionIds" .=) <$>+ _eSuggestedDeletionIds])++-- | A collection of Ranges with the same named range ID. Named ranges allow+-- developers to associate parts of a document with an arbitrary+-- user-defined label so their contents can be programmatically read or+-- edited at a later time. A document can contain multiple named ranges+-- with the same name, but every named range has a unique ID. A named range+-- is created with a single Range, and content inserted inside a named+-- range generally expands that range. However, certain document changes+-- can cause the range to be split into multiple ranges. Named ranges are+-- not private. All applications and collaborators that have access to the+-- document can see its named ranges.+--+-- /See:/ 'namedRange' smart constructor.+data NamedRange =+ NamedRange'+ { _nNamedRangeId :: !(Maybe Text)+ , _nRanges :: !(Maybe [Range])+ , _nName :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NamedRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nNamedRangeId'+--+-- * 'nRanges'+--+-- * 'nName'+namedRange+ :: NamedRange+namedRange =+ NamedRange' {_nNamedRangeId = Nothing, _nRanges = Nothing, _nName = Nothing}+++-- | The ID of the named range.+nNamedRangeId :: Lens' NamedRange (Maybe Text)+nNamedRangeId+ = lens _nNamedRangeId+ (\ s a -> s{_nNamedRangeId = a})++-- | The ranges that belong to this named range.+nRanges :: Lens' NamedRange [Range]+nRanges+ = lens _nRanges (\ s a -> s{_nRanges = a}) . _Default+ . _Coerce++-- | The name of the named range.+nName :: Lens' NamedRange (Maybe Text)+nName = lens _nName (\ s a -> s{_nName = a})++instance FromJSON NamedRange where+ parseJSON+ = withObject "NamedRange"+ (\ o ->+ NamedRange' <$>+ (o .:? "namedRangeId") <*>+ (o .:? "ranges" .!= mempty)+ <*> (o .:? "name"))++instance ToJSON NamedRange where+ toJSON NamedRange'{..}+ = object+ (catMaybes+ [("namedRangeId" .=) <$> _nNamedRangeId,+ ("ranges" .=) <$> _nRanges, ("name" .=) <$> _nName])++-- | A mask that indicates which of the fields on the base CropProperties+-- have been changed in this suggestion. For any field set to true, there+-- is a new suggested value.+--+-- /See:/ 'cropPropertiesSuggestionState' smart constructor.+data CropPropertiesSuggestionState =+ CropPropertiesSuggestionState'+ { _cpssAngleSuggested :: !(Maybe Bool)+ , _cpssOffSetRightSuggested :: !(Maybe Bool)+ , _cpssOffSetBottomSuggested :: !(Maybe Bool)+ , _cpssOffSetTopSuggested :: !(Maybe Bool)+ , _cpssOffSetLeftSuggested :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CropPropertiesSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpssAngleSuggested'+--+-- * 'cpssOffSetRightSuggested'+--+-- * 'cpssOffSetBottomSuggested'+--+-- * 'cpssOffSetTopSuggested'+--+-- * 'cpssOffSetLeftSuggested'+cropPropertiesSuggestionState+ :: CropPropertiesSuggestionState+cropPropertiesSuggestionState =+ CropPropertiesSuggestionState'+ { _cpssAngleSuggested = Nothing+ , _cpssOffSetRightSuggested = Nothing+ , _cpssOffSetBottomSuggested = Nothing+ , _cpssOffSetTopSuggested = Nothing+ , _cpssOffSetLeftSuggested = Nothing+ }+++-- | Indicates if there was a suggested change to angle.+cpssAngleSuggested :: Lens' CropPropertiesSuggestionState (Maybe Bool)+cpssAngleSuggested+ = lens _cpssAngleSuggested+ (\ s a -> s{_cpssAngleSuggested = a})++-- | Indicates if there was a suggested change to offset_right.+cpssOffSetRightSuggested :: Lens' CropPropertiesSuggestionState (Maybe Bool)+cpssOffSetRightSuggested+ = lens _cpssOffSetRightSuggested+ (\ s a -> s{_cpssOffSetRightSuggested = a})++-- | Indicates if there was a suggested change to offset_bottom.+cpssOffSetBottomSuggested :: Lens' CropPropertiesSuggestionState (Maybe Bool)+cpssOffSetBottomSuggested+ = lens _cpssOffSetBottomSuggested+ (\ s a -> s{_cpssOffSetBottomSuggested = a})++-- | Indicates if there was a suggested change to offset_top.+cpssOffSetTopSuggested :: Lens' CropPropertiesSuggestionState (Maybe Bool)+cpssOffSetTopSuggested+ = lens _cpssOffSetTopSuggested+ (\ s a -> s{_cpssOffSetTopSuggested = a})++-- | Indicates if there was a suggested change to offset_left.+cpssOffSetLeftSuggested :: Lens' CropPropertiesSuggestionState (Maybe Bool)+cpssOffSetLeftSuggested+ = lens _cpssOffSetLeftSuggested+ (\ s a -> s{_cpssOffSetLeftSuggested = a})++instance FromJSON CropPropertiesSuggestionState where+ parseJSON+ = withObject "CropPropertiesSuggestionState"+ (\ o ->+ CropPropertiesSuggestionState' <$>+ (o .:? "angleSuggested") <*>+ (o .:? "offsetRightSuggested")+ <*> (o .:? "offsetBottomSuggested")+ <*> (o .:? "offsetTopSuggested")+ <*> (o .:? "offsetLeftSuggested"))++instance ToJSON CropPropertiesSuggestionState where+ toJSON CropPropertiesSuggestionState'{..}+ = object+ (catMaybes+ [("angleSuggested" .=) <$> _cpssAngleSuggested,+ ("offsetRightSuggested" .=) <$>+ _cpssOffSetRightSuggested,+ ("offsetBottomSuggested" .=) <$>+ _cpssOffSetBottomSuggested,+ ("offsetTopSuggested" .=) <$>+ _cpssOffSetTopSuggested,+ ("offsetLeftSuggested" .=) <$>+ _cpssOffSetLeftSuggested])++-- | A ParagraphElement that represents a run of text that all has the same+-- styling.+--+-- /See:/ 'textRun' smart constructor.+data TextRun =+ TextRun'+ { _trSuggestedInsertionIds :: !(Maybe [Text])+ , _trSuggestedTextStyleChanges :: !(Maybe TextRunSuggestedTextStyleChanges)+ , _trContent :: !(Maybe Text)+ , _trSuggestedDeletionIds :: !(Maybe [Text])+ , _trTextStyle :: !(Maybe TextStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TextRun' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trSuggestedInsertionIds'+--+-- * 'trSuggestedTextStyleChanges'+--+-- * 'trContent'+--+-- * 'trSuggestedDeletionIds'+--+-- * 'trTextStyle'+textRun+ :: TextRun+textRun =+ TextRun'+ { _trSuggestedInsertionIds = Nothing+ , _trSuggestedTextStyleChanges = Nothing+ , _trContent = Nothing+ , _trSuggestedDeletionIds = Nothing+ , _trTextStyle = Nothing+ }+++-- | The suggested insertion IDs. A TextRun may have multiple insertion IDs+-- if it is a nested suggested change. If empty, then this is not a+-- suggested insertion.+trSuggestedInsertionIds :: Lens' TextRun [Text]+trSuggestedInsertionIds+ = lens _trSuggestedInsertionIds+ (\ s a -> s{_trSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The suggested text style changes to this run, keyed by suggestion ID.+trSuggestedTextStyleChanges :: Lens' TextRun (Maybe TextRunSuggestedTextStyleChanges)+trSuggestedTextStyleChanges+ = lens _trSuggestedTextStyleChanges+ (\ s a -> s{_trSuggestedTextStyleChanges = a})++-- | The text of this run. Any non-text elements in the run are replaced with+-- the Unicode character U+E907.+trContent :: Lens' TextRun (Maybe Text)+trContent+ = lens _trContent (\ s a -> s{_trContent = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+trSuggestedDeletionIds :: Lens' TextRun [Text]+trSuggestedDeletionIds+ = lens _trSuggestedDeletionIds+ (\ s a -> s{_trSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The text style of this run.+trTextStyle :: Lens' TextRun (Maybe TextStyle)+trTextStyle+ = lens _trTextStyle (\ s a -> s{_trTextStyle = a})++instance FromJSON TextRun where+ parseJSON+ = withObject "TextRun"+ (\ o ->+ TextRun' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "suggestedTextStyleChanges")+ <*> (o .:? "content")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "textStyle"))++instance ToJSON TextRun where+ toJSON TextRun'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _trSuggestedInsertionIds,+ ("suggestedTextStyleChanges" .=) <$>+ _trSuggestedTextStyleChanges,+ ("content" .=) <$> _trContent,+ ("suggestedDeletionIds" .=) <$>+ _trSuggestedDeletionIds,+ ("textStyle" .=) <$> _trTextStyle])++-- | The contents and style of a row in a Table.+--+-- /See:/ 'tableRow' smart constructor.+data TableRow =+ TableRow'+ { _tSuggestedInsertionIds :: !(Maybe [Text])+ , _tTableCells :: !(Maybe [TableCell])+ , _tEndIndex :: !(Maybe (Textual Int32))+ , _tSuggestedDeletionIds :: !(Maybe [Text])+ , _tSuggestedTableRowStyleChanges :: !(Maybe TableRowSuggestedTableRowStyleChanges)+ , _tTableRowStyle :: !(Maybe TableRowStyle)+ , _tStartIndex :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableRow' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tSuggestedInsertionIds'+--+-- * 'tTableCells'+--+-- * 'tEndIndex'+--+-- * 'tSuggestedDeletionIds'+--+-- * 'tSuggestedTableRowStyleChanges'+--+-- * 'tTableRowStyle'+--+-- * 'tStartIndex'+tableRow+ :: TableRow+tableRow =+ TableRow'+ { _tSuggestedInsertionIds = Nothing+ , _tTableCells = Nothing+ , _tEndIndex = Nothing+ , _tSuggestedDeletionIds = Nothing+ , _tSuggestedTableRowStyleChanges = Nothing+ , _tTableRowStyle = Nothing+ , _tStartIndex = Nothing+ }+++-- | The suggested insertion IDs. A TableRow may have multiple insertion IDs+-- if it is a nested suggested change. If empty, then this is not a+-- suggested insertion.+tSuggestedInsertionIds :: Lens' TableRow [Text]+tSuggestedInsertionIds+ = lens _tSuggestedInsertionIds+ (\ s a -> s{_tSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The contents and style of each cell in this row. It is possible for a+-- table to be non-rectangular, so some rows may have a different number of+-- cells than other rows in the same table.+tTableCells :: Lens' TableRow [TableCell]+tTableCells+ = lens _tTableCells (\ s a -> s{_tTableCells = a}) .+ _Default+ . _Coerce++-- | The zero-based end index of this row, exclusive, in UTF-16 code units.+tEndIndex :: Lens' TableRow (Maybe Int32)+tEndIndex+ = lens _tEndIndex (\ s a -> s{_tEndIndex = a}) .+ mapping _Coerce++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+tSuggestedDeletionIds :: Lens' TableRow [Text]+tSuggestedDeletionIds+ = lens _tSuggestedDeletionIds+ (\ s a -> s{_tSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The suggested style changes to this row, keyed by suggestion ID.+tSuggestedTableRowStyleChanges :: Lens' TableRow (Maybe TableRowSuggestedTableRowStyleChanges)+tSuggestedTableRowStyleChanges+ = lens _tSuggestedTableRowStyleChanges+ (\ s a -> s{_tSuggestedTableRowStyleChanges = a})++-- | The style of the table row.+tTableRowStyle :: Lens' TableRow (Maybe TableRowStyle)+tTableRowStyle+ = lens _tTableRowStyle+ (\ s a -> s{_tTableRowStyle = a})++-- | The zero-based start index of this row, in UTF-16 code units.+tStartIndex :: Lens' TableRow (Maybe Int32)+tStartIndex+ = lens _tStartIndex (\ s a -> s{_tStartIndex = a}) .+ mapping _Coerce++instance FromJSON TableRow where+ parseJSON+ = withObject "TableRow"+ (\ o ->+ TableRow' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "tableCells" .!= mempty)+ <*> (o .:? "endIndex")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "suggestedTableRowStyleChanges")+ <*> (o .:? "tableRowStyle")+ <*> (o .:? "startIndex"))++instance ToJSON TableRow where+ toJSON TableRow'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _tSuggestedInsertionIds,+ ("tableCells" .=) <$> _tTableCells,+ ("endIndex" .=) <$> _tEndIndex,+ ("suggestedDeletionIds" .=) <$>+ _tSuggestedDeletionIds,+ ("suggestedTableRowStyleChanges" .=) <$>+ _tSuggestedTableRowStyleChanges,+ ("tableRowStyle" .=) <$> _tTableRowStyle,+ ("startIndex" .=) <$> _tStartIndex])++-- | Represents a font family and weight of text.+--+-- /See:/ 'weightedFontFamily' smart constructor.+data WeightedFontFamily =+ WeightedFontFamily'+ { _wffFontFamily :: !(Maybe Text)+ , _wffWeight :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'WeightedFontFamily' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wffFontFamily'+--+-- * 'wffWeight'+weightedFontFamily+ :: WeightedFontFamily+weightedFontFamily =+ WeightedFontFamily' {_wffFontFamily = Nothing, _wffWeight = Nothing}+++-- | The font family of the text. The font family can be any font from the+-- Font menu in Docs or from [Google Fonts] (https:\/\/fonts.google.com\/).+-- If the font name is unrecognized, the text is rendered in \`Arial\`.+wffFontFamily :: Lens' WeightedFontFamily (Maybe Text)+wffFontFamily+ = lens _wffFontFamily+ (\ s a -> s{_wffFontFamily = a})++-- | The weight of the font. This field can have any value that is a multiple+-- of \`100\` between \`100\` and \`900\`, inclusive. This range+-- corresponds to the numerical values described in the CSS 2.1+-- Specification, [section+-- 15.6](https:\/\/www.w3.org\/TR\/CSS21\/fonts.html#font-boldness), with+-- non-numerical values disallowed. The default value is \`400\`+-- (\"normal\"). The font weight makes up just one component of the+-- rendered font weight. The rendered weight is determined by a combination+-- of the \`weight\` and the text style\'s resolved \`bold\` value, after+-- accounting for inheritance: * If the text is bold and the weight is less+-- than \`400\`, the rendered weight is 400. * If the text is bold and the+-- weight is greater than or equal to \`400\` but is less than \`700\`, the+-- rendered weight is \`700\`. * If the weight is greater than or equal to+-- \`700\`, the rendered weight is equal to the weight. * If the text is+-- not bold, the rendered weight is equal to the weight.+wffWeight :: Lens' WeightedFontFamily (Maybe Int32)+wffWeight+ = lens _wffWeight (\ s a -> s{_wffWeight = a}) .+ mapping _Coerce++instance FromJSON WeightedFontFamily where+ parseJSON+ = withObject "WeightedFontFamily"+ (\ o ->+ WeightedFontFamily' <$>+ (o .:? "fontFamily") <*> (o .:? "weight"))++instance ToJSON WeightedFontFamily where+ toJSON WeightedFontFamily'{..}+ = object+ (catMaybes+ [("fontFamily" .=) <$> _wffFontFamily,+ ("weight" .=) <$> _wffWeight])++-- | A ParagraphElement representing a page break. A page break makes the+-- subsequent text start at the top of the next page.+--+-- /See:/ 'pageBreak' smart constructor.+data PageBreak =+ PageBreak'+ { _pbSuggestedInsertionIds :: !(Maybe [Text])+ , _pbSuggestedTextStyleChanges :: !(Maybe PageBreakSuggestedTextStyleChanges)+ , _pbSuggestedDeletionIds :: !(Maybe [Text])+ , _pbTextStyle :: !(Maybe TextStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PageBreak' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pbSuggestedInsertionIds'+--+-- * 'pbSuggestedTextStyleChanges'+--+-- * 'pbSuggestedDeletionIds'+--+-- * 'pbTextStyle'+pageBreak+ :: PageBreak+pageBreak =+ PageBreak'+ { _pbSuggestedInsertionIds = Nothing+ , _pbSuggestedTextStyleChanges = Nothing+ , _pbSuggestedDeletionIds = Nothing+ , _pbTextStyle = Nothing+ }+++-- | The suggested insertion IDs. A PageBreak may have multiple insertion IDs+-- if it is a nested suggested change. If empty, then this is not a+-- suggested insertion.+pbSuggestedInsertionIds :: Lens' PageBreak [Text]+pbSuggestedInsertionIds+ = lens _pbSuggestedInsertionIds+ (\ s a -> s{_pbSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The suggested text style changes to this PageBreak, keyed by suggestion+-- ID.+pbSuggestedTextStyleChanges :: Lens' PageBreak (Maybe PageBreakSuggestedTextStyleChanges)+pbSuggestedTextStyleChanges+ = lens _pbSuggestedTextStyleChanges+ (\ s a -> s{_pbSuggestedTextStyleChanges = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+pbSuggestedDeletionIds :: Lens' PageBreak [Text]+pbSuggestedDeletionIds+ = lens _pbSuggestedDeletionIds+ (\ s a -> s{_pbSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The text style of this PageBreak. Similar to text content, like text+-- runs and footnote references, the text style of a page break can affect+-- content layout as well as the styling of text inserted adjacent to it.+pbTextStyle :: Lens' PageBreak (Maybe TextStyle)+pbTextStyle+ = lens _pbTextStyle (\ s a -> s{_pbTextStyle = a})++instance FromJSON PageBreak where+ parseJSON+ = withObject "PageBreak"+ (\ o ->+ PageBreak' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "suggestedTextStyleChanges")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "textStyle"))++instance ToJSON PageBreak where+ toJSON PageBreak'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _pbSuggestedInsertionIds,+ ("suggestedTextStyleChanges" .=) <$>+ _pbSuggestedTextStyleChanges,+ ("suggestedDeletionIds" .=) <$>+ _pbSuggestedDeletionIds,+ ("textStyle" .=) <$> _pbTextStyle])++-- | An object that appears inline with text. An InlineObject contains an+-- EmbeddedObject such as an image.+--+-- /See:/ 'inlineObject' smart constructor.+data InlineObject =+ InlineObject'+ { _ioSuggestedInsertionId :: !(Maybe Text)+ , _ioInlineObjectProperties :: !(Maybe InlineObjectProperties)+ , _ioObjectId :: !(Maybe Text)+ , _ioSuggestedDeletionIds :: !(Maybe [Text])+ , _ioSuggestedInlineObjectPropertiesChanges :: !(Maybe InlineObjectSuggestedInlineObjectPropertiesChanges)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InlineObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ioSuggestedInsertionId'+--+-- * 'ioInlineObjectProperties'+--+-- * 'ioObjectId'+--+-- * 'ioSuggestedDeletionIds'+--+-- * 'ioSuggestedInlineObjectPropertiesChanges'+inlineObject+ :: InlineObject+inlineObject =+ InlineObject'+ { _ioSuggestedInsertionId = Nothing+ , _ioInlineObjectProperties = Nothing+ , _ioObjectId = Nothing+ , _ioSuggestedDeletionIds = Nothing+ , _ioSuggestedInlineObjectPropertiesChanges = Nothing+ }+++-- | The suggested insertion ID. If empty, then this is not a suggested+-- insertion.+ioSuggestedInsertionId :: Lens' InlineObject (Maybe Text)+ioSuggestedInsertionId+ = lens _ioSuggestedInsertionId+ (\ s a -> s{_ioSuggestedInsertionId = a})++-- | The properties of this inline object.+ioInlineObjectProperties :: Lens' InlineObject (Maybe InlineObjectProperties)+ioInlineObjectProperties+ = lens _ioInlineObjectProperties+ (\ s a -> s{_ioInlineObjectProperties = a})++-- | The ID of this inline object.+ioObjectId :: Lens' InlineObject (Maybe Text)+ioObjectId+ = lens _ioObjectId (\ s a -> s{_ioObjectId = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+ioSuggestedDeletionIds :: Lens' InlineObject [Text]+ioSuggestedDeletionIds+ = lens _ioSuggestedDeletionIds+ (\ s a -> s{_ioSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The suggested changes to the inline object properties, keyed by+-- suggestion ID.+ioSuggestedInlineObjectPropertiesChanges :: Lens' InlineObject (Maybe InlineObjectSuggestedInlineObjectPropertiesChanges)+ioSuggestedInlineObjectPropertiesChanges+ = lens _ioSuggestedInlineObjectPropertiesChanges+ (\ s a ->+ s{_ioSuggestedInlineObjectPropertiesChanges = a})++instance FromJSON InlineObject where+ parseJSON+ = withObject "InlineObject"+ (\ o ->+ InlineObject' <$>+ (o .:? "suggestedInsertionId") <*>+ (o .:? "inlineObjectProperties")+ <*> (o .:? "objectId")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "suggestedInlineObjectPropertiesChanges"))++instance ToJSON InlineObject where+ toJSON InlineObject'{..}+ = object+ (catMaybes+ [("suggestedInsertionId" .=) <$>+ _ioSuggestedInsertionId,+ ("inlineObjectProperties" .=) <$>+ _ioInlineObjectProperties,+ ("objectId" .=) <$> _ioObjectId,+ ("suggestedDeletionIds" .=) <$>+ _ioSuggestedDeletionIds,+ ("suggestedInlineObjectPropertiesChanges" .=) <$>+ _ioSuggestedInlineObjectPropertiesChanges])++-- | A border around an EmbeddedObject.+--+-- /See:/ 'embeddedObjectBOrder' smart constructor.+data EmbeddedObjectBOrder =+ EmbeddedObjectBOrder'+ { _eoboColor :: !(Maybe OptionalColor)+ , _eoboWidth :: !(Maybe Dimension)+ , _eoboDashStyle :: !(Maybe EmbeddedObjectBOrderDashStyle)+ , _eoboPropertyState :: !(Maybe EmbeddedObjectBOrderPropertyState)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EmbeddedObjectBOrder' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eoboColor'+--+-- * 'eoboWidth'+--+-- * 'eoboDashStyle'+--+-- * 'eoboPropertyState'+embeddedObjectBOrder+ :: EmbeddedObjectBOrder+embeddedObjectBOrder =+ EmbeddedObjectBOrder'+ { _eoboColor = Nothing+ , _eoboWidth = Nothing+ , _eoboDashStyle = Nothing+ , _eoboPropertyState = Nothing+ }+++-- | The color of the border.+eoboColor :: Lens' EmbeddedObjectBOrder (Maybe OptionalColor)+eoboColor+ = lens _eoboColor (\ s a -> s{_eoboColor = a})++-- | The width of the border.+eoboWidth :: Lens' EmbeddedObjectBOrder (Maybe Dimension)+eoboWidth+ = lens _eoboWidth (\ s a -> s{_eoboWidth = a})++-- | The dash style of the border.+eoboDashStyle :: Lens' EmbeddedObjectBOrder (Maybe EmbeddedObjectBOrderDashStyle)+eoboDashStyle+ = lens _eoboDashStyle+ (\ s a -> s{_eoboDashStyle = a})++-- | The property state of the border property.+eoboPropertyState :: Lens' EmbeddedObjectBOrder (Maybe EmbeddedObjectBOrderPropertyState)+eoboPropertyState+ = lens _eoboPropertyState+ (\ s a -> s{_eoboPropertyState = a})++instance FromJSON EmbeddedObjectBOrder where+ parseJSON+ = withObject "EmbeddedObjectBOrder"+ (\ o ->+ EmbeddedObjectBOrder' <$>+ (o .:? "color") <*> (o .:? "width") <*>+ (o .:? "dashStyle")+ <*> (o .:? "propertyState"))++instance ToJSON EmbeddedObjectBOrder where+ toJSON EmbeddedObjectBOrder'{..}+ = object+ (catMaybes+ [("color" .=) <$> _eoboColor,+ ("width" .=) <$> _eoboWidth,+ ("dashStyle" .=) <$> _eoboDashStyle,+ ("propertyState" .=) <$> _eoboPropertyState])++-- | The suggested changes to the table cell style, keyed by suggestion ID.+--+-- /See:/ 'tableCellSuggestedTableCellStyleChanges' smart constructor.+newtype TableCellSuggestedTableCellStyleChanges =+ TableCellSuggestedTableCellStyleChanges'+ { _tcstcscAddtional :: HashMap Text SuggestedTableCellStyle+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableCellSuggestedTableCellStyleChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcstcscAddtional'+tableCellSuggestedTableCellStyleChanges+ :: HashMap Text SuggestedTableCellStyle -- ^ 'tcstcscAddtional'+ -> TableCellSuggestedTableCellStyleChanges+tableCellSuggestedTableCellStyleChanges pTcstcscAddtional_ =+ TableCellSuggestedTableCellStyleChanges'+ {_tcstcscAddtional = _Coerce # pTcstcscAddtional_}+++tcstcscAddtional :: Lens' TableCellSuggestedTableCellStyleChanges (HashMap Text SuggestedTableCellStyle)+tcstcscAddtional+ = lens _tcstcscAddtional+ (\ s a -> s{_tcstcscAddtional = a})+ . _Coerce++instance FromJSON+ TableCellSuggestedTableCellStyleChanges+ where+ parseJSON+ = withObject+ "TableCellSuggestedTableCellStyleChanges"+ (\ o ->+ TableCellSuggestedTableCellStyleChanges' <$>+ (parseJSONObject o))++instance ToJSON+ TableCellSuggestedTableCellStyleChanges+ where+ toJSON = toJSON . _tcstcscAddtional++-- | The style of a TableCell. Inherited table cell styles are represented as+-- unset fields in this message. A table cell style can inherit from the+-- table\'s style.+--+-- /See:/ 'tableCellStyle' smart constructor.+data TableCellStyle =+ TableCellStyle'+ { _tcsBOrderRight :: !(Maybe TableCellBOrder)+ , _tcsBOrderTop :: !(Maybe TableCellBOrder)+ , _tcsColumnSpan :: !(Maybe (Textual Int32))+ , _tcsBackgRoundColor :: !(Maybe OptionalColor)+ , _tcsPaddingBottom :: !(Maybe Dimension)+ , _tcsRowSpan :: !(Maybe (Textual Int32))+ , _tcsBOrderLeft :: !(Maybe TableCellBOrder)+ , _tcsPaddingLeft :: !(Maybe Dimension)+ , _tcsPaddingTop :: !(Maybe Dimension)+ , _tcsBOrderBottom :: !(Maybe TableCellBOrder)+ , _tcsContentAlignment :: !(Maybe TableCellStyleContentAlignment)+ , _tcsPaddingRight :: !(Maybe Dimension)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableCellStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcsBOrderRight'+--+-- * 'tcsBOrderTop'+--+-- * 'tcsColumnSpan'+--+-- * 'tcsBackgRoundColor'+--+-- * 'tcsPaddingBottom'+--+-- * 'tcsRowSpan'+--+-- * 'tcsBOrderLeft'+--+-- * 'tcsPaddingLeft'+--+-- * 'tcsPaddingTop'+--+-- * 'tcsBOrderBottom'+--+-- * 'tcsContentAlignment'+--+-- * 'tcsPaddingRight'+tableCellStyle+ :: TableCellStyle+tableCellStyle =+ TableCellStyle'+ { _tcsBOrderRight = Nothing+ , _tcsBOrderTop = Nothing+ , _tcsColumnSpan = Nothing+ , _tcsBackgRoundColor = Nothing+ , _tcsPaddingBottom = Nothing+ , _tcsRowSpan = Nothing+ , _tcsBOrderLeft = Nothing+ , _tcsPaddingLeft = Nothing+ , _tcsPaddingTop = Nothing+ , _tcsBOrderBottom = Nothing+ , _tcsContentAlignment = Nothing+ , _tcsPaddingRight = Nothing+ }+++-- | The right border of the cell.+tcsBOrderRight :: Lens' TableCellStyle (Maybe TableCellBOrder)+tcsBOrderRight+ = lens _tcsBOrderRight+ (\ s a -> s{_tcsBOrderRight = a})++-- | The top border of the cell.+tcsBOrderTop :: Lens' TableCellStyle (Maybe TableCellBOrder)+tcsBOrderTop+ = lens _tcsBOrderTop (\ s a -> s{_tcsBOrderTop = a})++-- | The column span of the cell. This property is read-only.+tcsColumnSpan :: Lens' TableCellStyle (Maybe Int32)+tcsColumnSpan+ = lens _tcsColumnSpan+ (\ s a -> s{_tcsColumnSpan = a})+ . mapping _Coerce++-- | The background color of the cell.+tcsBackgRoundColor :: Lens' TableCellStyle (Maybe OptionalColor)+tcsBackgRoundColor+ = lens _tcsBackgRoundColor+ (\ s a -> s{_tcsBackgRoundColor = a})++-- | The bottom padding of the cell.+tcsPaddingBottom :: Lens' TableCellStyle (Maybe Dimension)+tcsPaddingBottom+ = lens _tcsPaddingBottom+ (\ s a -> s{_tcsPaddingBottom = a})++-- | The row span of the cell. This property is read-only.+tcsRowSpan :: Lens' TableCellStyle (Maybe Int32)+tcsRowSpan+ = lens _tcsRowSpan (\ s a -> s{_tcsRowSpan = a}) .+ mapping _Coerce++-- | The left border of the cell.+tcsBOrderLeft :: Lens' TableCellStyle (Maybe TableCellBOrder)+tcsBOrderLeft+ = lens _tcsBOrderLeft+ (\ s a -> s{_tcsBOrderLeft = a})++-- | The left padding of the cell.+tcsPaddingLeft :: Lens' TableCellStyle (Maybe Dimension)+tcsPaddingLeft+ = lens _tcsPaddingLeft+ (\ s a -> s{_tcsPaddingLeft = a})++-- | The top padding of the cell.+tcsPaddingTop :: Lens' TableCellStyle (Maybe Dimension)+tcsPaddingTop+ = lens _tcsPaddingTop+ (\ s a -> s{_tcsPaddingTop = a})++-- | The bottom border of the cell.+tcsBOrderBottom :: Lens' TableCellStyle (Maybe TableCellBOrder)+tcsBOrderBottom+ = lens _tcsBOrderBottom+ (\ s a -> s{_tcsBOrderBottom = a})++-- | The alignment of the content in the table cell. The default alignment+-- matches the alignment for newly created table cells in the Docs editor.+tcsContentAlignment :: Lens' TableCellStyle (Maybe TableCellStyleContentAlignment)+tcsContentAlignment+ = lens _tcsContentAlignment+ (\ s a -> s{_tcsContentAlignment = a})++-- | The right padding of the cell.+tcsPaddingRight :: Lens' TableCellStyle (Maybe Dimension)+tcsPaddingRight+ = lens _tcsPaddingRight+ (\ s a -> s{_tcsPaddingRight = a})++instance FromJSON TableCellStyle where+ parseJSON+ = withObject "TableCellStyle"+ (\ o ->+ TableCellStyle' <$>+ (o .:? "borderRight") <*> (o .:? "borderTop") <*>+ (o .:? "columnSpan")+ <*> (o .:? "backgroundColor")+ <*> (o .:? "paddingBottom")+ <*> (o .:? "rowSpan")+ <*> (o .:? "borderLeft")+ <*> (o .:? "paddingLeft")+ <*> (o .:? "paddingTop")+ <*> (o .:? "borderBottom")+ <*> (o .:? "contentAlignment")+ <*> (o .:? "paddingRight"))++instance ToJSON TableCellStyle where+ toJSON TableCellStyle'{..}+ = object+ (catMaybes+ [("borderRight" .=) <$> _tcsBOrderRight,+ ("borderTop" .=) <$> _tcsBOrderTop,+ ("columnSpan" .=) <$> _tcsColumnSpan,+ ("backgroundColor" .=) <$> _tcsBackgRoundColor,+ ("paddingBottom" .=) <$> _tcsPaddingBottom,+ ("rowSpan" .=) <$> _tcsRowSpan,+ ("borderLeft" .=) <$> _tcsBOrderLeft,+ ("paddingLeft" .=) <$> _tcsPaddingLeft,+ ("paddingTop" .=) <$> _tcsPaddingTop,+ ("borderBottom" .=) <$> _tcsBOrderBottom,+ ("contentAlignment" .=) <$> _tcsContentAlignment,+ ("paddingRight" .=) <$> _tcsPaddingRight])++-- | A document header.+--+-- /See:/ 'header' smart constructor.+data Header =+ Header'+ { _hHeaderId :: !(Maybe Text)+ , _hContent :: !(Maybe [StructuralElement])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Header' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hHeaderId'+--+-- * 'hContent'+header+ :: Header+header = Header' {_hHeaderId = Nothing, _hContent = Nothing}+++-- | The ID of the header.+hHeaderId :: Lens' Header (Maybe Text)+hHeaderId+ = lens _hHeaderId (\ s a -> s{_hHeaderId = a})++-- | The contents of the header. The indexes for a header\'s content begin at+-- zero.+hContent :: Lens' Header [StructuralElement]+hContent+ = lens _hContent (\ s a -> s{_hContent = a}) .+ _Default+ . _Coerce++instance FromJSON Header where+ parseJSON+ = withObject "Header"+ (\ o ->+ Header' <$>+ (o .:? "headerId") <*> (o .:? "content" .!= mempty))++instance ToJSON Header where+ toJSON Header'{..}+ = object+ (catMaybes+ [("headerId" .=) <$> _hHeaderId,+ ("content" .=) <$> _hContent])++-- | Specifies a contiguous range of text.+--+-- /See:/ 'range' smart constructor.+data Range =+ Range'+ { _rEndIndex :: !(Maybe (Textual Int32))+ , _rStartIndex :: !(Maybe (Textual Int32))+ , _rSegmentId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Range' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rEndIndex'+--+-- * 'rStartIndex'+--+-- * 'rSegmentId'+range+ :: Range+range =+ Range' {_rEndIndex = Nothing, _rStartIndex = Nothing, _rSegmentId = Nothing}+++-- | The zero-based end index of this range, exclusive, in UTF-16 code units.+-- In all current uses, an end index must be provided. This field is an+-- Int32Value in order to accommodate future use cases with open-ended+-- ranges.+rEndIndex :: Lens' Range (Maybe Int32)+rEndIndex+ = lens _rEndIndex (\ s a -> s{_rEndIndex = a}) .+ mapping _Coerce++-- | The zero-based start index of this range, in UTF-16 code units. In all+-- current uses, a start index must be provided. This field is an+-- Int32Value in order to accommodate future use cases with open-ended+-- ranges.+rStartIndex :: Lens' Range (Maybe Int32)+rStartIndex+ = lens _rStartIndex (\ s a -> s{_rStartIndex = a}) .+ mapping _Coerce++-- | The ID of the header, footer or footnote that this range is contained+-- in. An empty segment ID signifies the document\'s body.+rSegmentId :: Lens' Range (Maybe Text)+rSegmentId+ = lens _rSegmentId (\ s a -> s{_rSegmentId = a})++instance FromJSON Range where+ parseJSON+ = withObject "Range"+ (\ o ->+ Range' <$>+ (o .:? "endIndex") <*> (o .:? "startIndex") <*>+ (o .:? "segmentId"))++instance ToJSON Range where+ toJSON Range'{..}+ = object+ (catMaybes+ [("endIndex" .=) <$> _rEndIndex,+ ("startIndex" .=) <$> _rStartIndex,+ ("segmentId" .=) <$> _rSegmentId])++-- | A Google Docs document.+--+-- /See:/ 'document' smart constructor.+data Document =+ Document'+ { _dNamedRanges :: !(Maybe DocumentNamedRanges)+ , _dInlineObjects :: !(Maybe DocumentInlineObjects)+ , _dDocumentId :: !(Maybe Text)+ , _dBody :: !(Maybe Body)+ , _dDocumentStyle :: !(Maybe DocumentStyle)+ , _dFooters :: !(Maybe DocumentFooters)+ , _dPositionedObjects :: !(Maybe DocumentPositionedObjects)+ , _dSuggestionsViewMode :: !(Maybe DocumentSuggestionsViewMode)+ , _dHeaders :: !(Maybe DocumentHeaders)+ , _dNamedStyles :: !(Maybe NamedStyles)+ , _dSuggestedNamedStylesChanges :: !(Maybe DocumentSuggestedNamedStylesChanges)+ , _dSuggestedDocumentStyleChanges :: !(Maybe DocumentSuggestedDocumentStyleChanges)+ , _dTitle :: !(Maybe Text)+ , _dRevisionId :: !(Maybe Text)+ , _dFootNotes :: !(Maybe DocumentFootNotes)+ , _dLists :: !(Maybe DocumentLists)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Document' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dNamedRanges'+--+-- * 'dInlineObjects'+--+-- * 'dDocumentId'+--+-- * 'dBody'+--+-- * 'dDocumentStyle'+--+-- * 'dFooters'+--+-- * 'dPositionedObjects'+--+-- * 'dSuggestionsViewMode'+--+-- * 'dHeaders'+--+-- * 'dNamedStyles'+--+-- * 'dSuggestedNamedStylesChanges'+--+-- * 'dSuggestedDocumentStyleChanges'+--+-- * 'dTitle'+--+-- * 'dRevisionId'+--+-- * 'dFootNotes'+--+-- * 'dLists'+document+ :: Document+document =+ Document'+ { _dNamedRanges = Nothing+ , _dInlineObjects = Nothing+ , _dDocumentId = Nothing+ , _dBody = Nothing+ , _dDocumentStyle = Nothing+ , _dFooters = Nothing+ , _dPositionedObjects = Nothing+ , _dSuggestionsViewMode = Nothing+ , _dHeaders = Nothing+ , _dNamedStyles = Nothing+ , _dSuggestedNamedStylesChanges = Nothing+ , _dSuggestedDocumentStyleChanges = Nothing+ , _dTitle = Nothing+ , _dRevisionId = Nothing+ , _dFootNotes = Nothing+ , _dLists = Nothing+ }+++-- | The named ranges in the document, keyed by name.+dNamedRanges :: Lens' Document (Maybe DocumentNamedRanges)+dNamedRanges+ = lens _dNamedRanges (\ s a -> s{_dNamedRanges = a})++-- | The inline objects in the document, keyed by object ID.+dInlineObjects :: Lens' Document (Maybe DocumentInlineObjects)+dInlineObjects+ = lens _dInlineObjects+ (\ s a -> s{_dInlineObjects = a})++-- | The ID of the document.+dDocumentId :: Lens' Document (Maybe Text)+dDocumentId+ = lens _dDocumentId (\ s a -> s{_dDocumentId = a})++-- | The main body of the document.+dBody :: Lens' Document (Maybe Body)+dBody = lens _dBody (\ s a -> s{_dBody = a})++-- | The style of the document.+dDocumentStyle :: Lens' Document (Maybe DocumentStyle)+dDocumentStyle+ = lens _dDocumentStyle+ (\ s a -> s{_dDocumentStyle = a})++-- | The footers in the document, keyed by footer ID.+dFooters :: Lens' Document (Maybe DocumentFooters)+dFooters = lens _dFooters (\ s a -> s{_dFooters = a})++-- | The positioned objects in the document, keyed by object ID.+dPositionedObjects :: Lens' Document (Maybe DocumentPositionedObjects)+dPositionedObjects+ = lens _dPositionedObjects+ (\ s a -> s{_dPositionedObjects = a})++-- | The suggestions view mode applied to the document. Note: When editing a+-- document, changes must be based on a document with SUGGESTIONS_INLINE.+dSuggestionsViewMode :: Lens' Document (Maybe DocumentSuggestionsViewMode)+dSuggestionsViewMode+ = lens _dSuggestionsViewMode+ (\ s a -> s{_dSuggestionsViewMode = a})++-- | The headers in the document, keyed by header ID.+dHeaders :: Lens' Document (Maybe DocumentHeaders)+dHeaders = lens _dHeaders (\ s a -> s{_dHeaders = a})++-- | The named styles of the document.+dNamedStyles :: Lens' Document (Maybe NamedStyles)+dNamedStyles+ = lens _dNamedStyles (\ s a -> s{_dNamedStyles = a})++-- | The suggested changes to the named styles of the document, keyed by+-- suggestion ID.+dSuggestedNamedStylesChanges :: Lens' Document (Maybe DocumentSuggestedNamedStylesChanges)+dSuggestedNamedStylesChanges+ = lens _dSuggestedNamedStylesChanges+ (\ s a -> s{_dSuggestedNamedStylesChanges = a})++-- | The suggested changes to the style of the document, keyed by suggestion+-- ID.+dSuggestedDocumentStyleChanges :: Lens' Document (Maybe DocumentSuggestedDocumentStyleChanges)+dSuggestedDocumentStyleChanges+ = lens _dSuggestedDocumentStyleChanges+ (\ s a -> s{_dSuggestedDocumentStyleChanges = a})++-- | The title of the document.+dTitle :: Lens' Document (Maybe Text)+dTitle = lens _dTitle (\ s a -> s{_dTitle = a})++-- | The revision ID of the document. Can be used in update requests to+-- specify which revision of a document to apply updates to and how the+-- request should behave if the document has been edited since that+-- revision. Only populated if the user has edit access to the document.+-- The format of the revision ID may change over time, so it should be+-- treated opaquely. A returned revision ID is only guaranteed to be valid+-- for 24 hours after it has been returned and cannot be shared across+-- users. If the revision ID is unchanged between calls, then the document+-- has not changed. Conversely, a changed ID (for the same document and+-- user) usually means the document has been updated; however, a changed ID+-- can also be due to internal factors such as ID format changes.+dRevisionId :: Lens' Document (Maybe Text)+dRevisionId+ = lens _dRevisionId (\ s a -> s{_dRevisionId = a})++-- | The footnotes in the document, keyed by footnote ID.+dFootNotes :: Lens' Document (Maybe DocumentFootNotes)+dFootNotes+ = lens _dFootNotes (\ s a -> s{_dFootNotes = a})++-- | The lists in the document, keyed by list ID.+dLists :: Lens' Document (Maybe DocumentLists)+dLists = lens _dLists (\ s a -> s{_dLists = a})++instance FromJSON Document where+ parseJSON+ = withObject "Document"+ (\ o ->+ Document' <$>+ (o .:? "namedRanges") <*> (o .:? "inlineObjects") <*>+ (o .:? "documentId")+ <*> (o .:? "body")+ <*> (o .:? "documentStyle")+ <*> (o .:? "footers")+ <*> (o .:? "positionedObjects")+ <*> (o .:? "suggestionsViewMode")+ <*> (o .:? "headers")+ <*> (o .:? "namedStyles")+ <*> (o .:? "suggestedNamedStylesChanges")+ <*> (o .:? "suggestedDocumentStyleChanges")+ <*> (o .:? "title")+ <*> (o .:? "revisionId")+ <*> (o .:? "footnotes")+ <*> (o .:? "lists"))++instance ToJSON Document where+ toJSON Document'{..}+ = object+ (catMaybes+ [("namedRanges" .=) <$> _dNamedRanges,+ ("inlineObjects" .=) <$> _dInlineObjects,+ ("documentId" .=) <$> _dDocumentId,+ ("body" .=) <$> _dBody,+ ("documentStyle" .=) <$> _dDocumentStyle,+ ("footers" .=) <$> _dFooters,+ ("positionedObjects" .=) <$> _dPositionedObjects,+ ("suggestionsViewMode" .=) <$> _dSuggestionsViewMode,+ ("headers" .=) <$> _dHeaders,+ ("namedStyles" .=) <$> _dNamedStyles,+ ("suggestedNamedStylesChanges" .=) <$>+ _dSuggestedNamedStylesChanges,+ ("suggestedDocumentStyleChanges" .=) <$>+ _dSuggestedDocumentStyleChanges,+ ("title" .=) <$> _dTitle,+ ("revisionId" .=) <$> _dRevisionId,+ ("footnotes" .=) <$> _dFootNotes,+ ("lists" .=) <$> _dLists])++-- | The suggested changes to the style of the document, keyed by suggestion+-- ID.+--+-- /See:/ 'documentSuggestedDocumentStyleChanges' smart constructor.+newtype DocumentSuggestedDocumentStyleChanges =+ DocumentSuggestedDocumentStyleChanges'+ { _dsdscAddtional :: HashMap Text SuggestedDocumentStyle+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentSuggestedDocumentStyleChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsdscAddtional'+documentSuggestedDocumentStyleChanges+ :: HashMap Text SuggestedDocumentStyle -- ^ 'dsdscAddtional'+ -> DocumentSuggestedDocumentStyleChanges+documentSuggestedDocumentStyleChanges pDsdscAddtional_ =+ DocumentSuggestedDocumentStyleChanges'+ {_dsdscAddtional = _Coerce # pDsdscAddtional_}+++dsdscAddtional :: Lens' DocumentSuggestedDocumentStyleChanges (HashMap Text SuggestedDocumentStyle)+dsdscAddtional+ = lens _dsdscAddtional+ (\ s a -> s{_dsdscAddtional = a})+ . _Coerce++instance FromJSON+ DocumentSuggestedDocumentStyleChanges+ where+ parseJSON+ = withObject "DocumentSuggestedDocumentStyleChanges"+ (\ o ->+ DocumentSuggestedDocumentStyleChanges' <$>+ (parseJSONObject o))++instance ToJSON DocumentSuggestedDocumentStyleChanges+ where+ toJSON = toJSON . _dsdscAddtional++-- | The named styles. Paragraphs in the document can inherit their TextStyle+-- and ParagraphStyle from these named styles.+--+-- /See:/ 'namedStyles' smart constructor.+newtype NamedStyles =+ NamedStyles'+ { _nsStyles :: Maybe [NamedStyle]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NamedStyles' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nsStyles'+namedStyles+ :: NamedStyles+namedStyles = NamedStyles' {_nsStyles = Nothing}+++-- | The named styles. There is an entry for each of the possible named style+-- types.+nsStyles :: Lens' NamedStyles [NamedStyle]+nsStyles+ = lens _nsStyles (\ s a -> s{_nsStyles = a}) .+ _Default+ . _Coerce++instance FromJSON NamedStyles where+ parseJSON+ = withObject "NamedStyles"+ (\ o -> NamedStyles' <$> (o .:? "styles" .!= mempty))++instance ToJSON NamedStyles where+ toJSON NamedStyles'{..}+ = object (catMaybes [("styles" .=) <$> _nsStyles])++-- | The suggested paragraph style changes to this paragraph, keyed by+-- suggestion ID.+--+-- /See:/ 'paragraphSuggestedParagraphStyleChanges' smart constructor.+newtype ParagraphSuggestedParagraphStyleChanges =+ ParagraphSuggestedParagraphStyleChanges'+ { _pspscAddtional :: HashMap Text SuggestedParagraphStyle+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParagraphSuggestedParagraphStyleChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pspscAddtional'+paragraphSuggestedParagraphStyleChanges+ :: HashMap Text SuggestedParagraphStyle -- ^ 'pspscAddtional'+ -> ParagraphSuggestedParagraphStyleChanges+paragraphSuggestedParagraphStyleChanges pPspscAddtional_ =+ ParagraphSuggestedParagraphStyleChanges'+ {_pspscAddtional = _Coerce # pPspscAddtional_}+++pspscAddtional :: Lens' ParagraphSuggestedParagraphStyleChanges (HashMap Text SuggestedParagraphStyle)+pspscAddtional+ = lens _pspscAddtional+ (\ s a -> s{_pspscAddtional = a})+ . _Coerce++instance FromJSON+ ParagraphSuggestedParagraphStyleChanges+ where+ parseJSON+ = withObject+ "ParagraphSuggestedParagraphStyleChanges"+ (\ o ->+ ParagraphSuggestedParagraphStyleChanges' <$>+ (parseJSONObject o))++instance ToJSON+ ParagraphSuggestedParagraphStyleChanges+ where+ toJSON = toJSON . _pspscAddtional++-- | The properties of an embedded drawing.+--+-- /See:/ 'embeddedDrawingProperties' smart constructor.+data EmbeddedDrawingProperties =+ EmbeddedDrawingProperties'+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EmbeddedDrawingProperties' with the minimum fields required to make a request.+--+embeddedDrawingProperties+ :: EmbeddedDrawingProperties+embeddedDrawingProperties = EmbeddedDrawingProperties'+++instance FromJSON EmbeddedDrawingProperties where+ parseJSON+ = withObject "EmbeddedDrawingProperties"+ (\ o -> pure EmbeddedDrawingProperties')++instance ToJSON EmbeddedDrawingProperties where+ toJSON = const emptyObject++-- | A suggested change to a TextStyle.+--+-- /See:/ 'suggestedTextStyle' smart constructor.+data SuggestedTextStyle =+ SuggestedTextStyle'+ { _stsTextStyle :: !(Maybe TextStyle)+ , _stsTextStyleSuggestionState :: !(Maybe TextStyleSuggestionState)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SuggestedTextStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'stsTextStyle'+--+-- * 'stsTextStyleSuggestionState'+suggestedTextStyle+ :: SuggestedTextStyle+suggestedTextStyle =+ SuggestedTextStyle'+ {_stsTextStyle = Nothing, _stsTextStyleSuggestionState = Nothing}+++-- | A TextStyle that only includes the changes made in this suggestion. This+-- can be used along with the text_style_suggestion_state to see which+-- fields have changed and their new values.+stsTextStyle :: Lens' SuggestedTextStyle (Maybe TextStyle)+stsTextStyle+ = lens _stsTextStyle (\ s a -> s{_stsTextStyle = a})++-- | A mask that indicates which of the fields on the base TextStyle have+-- been changed in this suggestion.+stsTextStyleSuggestionState :: Lens' SuggestedTextStyle (Maybe TextStyleSuggestionState)+stsTextStyleSuggestionState+ = lens _stsTextStyleSuggestionState+ (\ s a -> s{_stsTextStyleSuggestionState = a})++instance FromJSON SuggestedTextStyle where+ parseJSON+ = withObject "SuggestedTextStyle"+ (\ o ->+ SuggestedTextStyle' <$>+ (o .:? "textStyle") <*>+ (o .:? "textStyleSuggestionState"))++instance ToJSON SuggestedTextStyle where+ toJSON SuggestedTextStyle'{..}+ = object+ (catMaybes+ [("textStyle" .=) <$> _stsTextStyle,+ ("textStyleSuggestionState" .=) <$>+ _stsTextStyleSuggestionState])++-- | Inserts an empty row into a table.+--+-- /See:/ 'insertTableRowRequest' smart constructor.+data InsertTableRowRequest =+ InsertTableRowRequest'+ { _itrrInsertBelow :: !(Maybe Bool)+ , _itrrTableCellLocation :: !(Maybe TableCellLocation)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InsertTableRowRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'itrrInsertBelow'+--+-- * 'itrrTableCellLocation'+insertTableRowRequest+ :: InsertTableRowRequest+insertTableRowRequest =+ InsertTableRowRequest'+ {_itrrInsertBelow = Nothing, _itrrTableCellLocation = Nothing}+++-- | Whether to insert new row below the reference cell location. - \`True\`:+-- insert below the cell. - \`False\`: insert above the cell.+itrrInsertBelow :: Lens' InsertTableRowRequest (Maybe Bool)+itrrInsertBelow+ = lens _itrrInsertBelow+ (\ s a -> s{_itrrInsertBelow = a})++-- | The reference table cell location from which rows will be inserted. A+-- new row will be inserted above (or below) the row where the reference+-- cell is. If the reference cell is a merged cell, a new row will be+-- inserted above (or below) the merged cell.+itrrTableCellLocation :: Lens' InsertTableRowRequest (Maybe TableCellLocation)+itrrTableCellLocation+ = lens _itrrTableCellLocation+ (\ s a -> s{_itrrTableCellLocation = a})++instance FromJSON InsertTableRowRequest where+ parseJSON+ = withObject "InsertTableRowRequest"+ (\ o ->+ InsertTableRowRequest' <$>+ (o .:? "insertBelow") <*>+ (o .:? "tableCellLocation"))++instance ToJSON InsertTableRowRequest where+ toJSON InsertTableRowRequest'{..}+ = object+ (catMaybes+ [("insertBelow" .=) <$> _itrrInsertBelow,+ ("tableCellLocation" .=) <$> _itrrTableCellLocation])++-- | A suggested change to the NamedStyles.+--+-- /See:/ 'suggestedNamedStyles' smart constructor.+data SuggestedNamedStyles =+ SuggestedNamedStyles'+ { _snsNamedStylesSuggestionState :: !(Maybe NamedStylesSuggestionState)+ , _snsNamedStyles :: !(Maybe NamedStyles)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SuggestedNamedStyles' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'snsNamedStylesSuggestionState'+--+-- * 'snsNamedStyles'+suggestedNamedStyles+ :: SuggestedNamedStyles+suggestedNamedStyles =+ SuggestedNamedStyles'+ {_snsNamedStylesSuggestionState = Nothing, _snsNamedStyles = Nothing}+++-- | A mask that indicates which of the fields on the base NamedStyles have+-- been changed in this suggestion.+snsNamedStylesSuggestionState :: Lens' SuggestedNamedStyles (Maybe NamedStylesSuggestionState)+snsNamedStylesSuggestionState+ = lens _snsNamedStylesSuggestionState+ (\ s a -> s{_snsNamedStylesSuggestionState = a})++-- | A NamedStyles that only includes the changes made in this suggestion.+-- This can be used along with the named_styles_suggestion_state to see+-- which fields have changed and their new values.+snsNamedStyles :: Lens' SuggestedNamedStyles (Maybe NamedStyles)+snsNamedStyles+ = lens _snsNamedStyles+ (\ s a -> s{_snsNamedStyles = a})++instance FromJSON SuggestedNamedStyles where+ parseJSON+ = withObject "SuggestedNamedStyles"+ (\ o ->+ SuggestedNamedStyles' <$>+ (o .:? "namedStylesSuggestionState") <*>+ (o .:? "namedStyles"))++instance ToJSON SuggestedNamedStyles where+ toJSON SuggestedNamedStyles'{..}+ = object+ (catMaybes+ [("namedStylesSuggestionState" .=) <$>+ _snsNamedStylesSuggestionState,+ ("namedStyles" .=) <$> _snsNamedStyles])++-- | Provides control over how write requests are executed.+--+-- /See:/ 'writeControl' smart constructor.+data WriteControl =+ WriteControl'+ { _wcRequiredRevisionId :: !(Maybe Text)+ , _wcTargetRevisionId :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'WriteControl' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wcRequiredRevisionId'+--+-- * 'wcTargetRevisionId'+writeControl+ :: WriteControl+writeControl =+ WriteControl' {_wcRequiredRevisionId = Nothing, _wcTargetRevisionId = Nothing}+++-- | The revision ID of the document that the write request will be applied+-- to. If this is not the latest revision of the document, the request will+-- not be processed and will return a 400 bad request error. When a+-- required revision ID is returned in a response, it indicates the+-- revision ID of the document after the request was applied.+wcRequiredRevisionId :: Lens' WriteControl (Maybe Text)+wcRequiredRevisionId+ = lens _wcRequiredRevisionId+ (\ s a -> s{_wcRequiredRevisionId = a})++-- | The target revision ID of the document that the write request will be+-- applied to. If collaborator changes have occurred after the document was+-- read using the API, the changes produced by this write request will be+-- transformed against the collaborator changes. This results in a new+-- revision of the document which incorporates both the changes in the+-- request and the collaborator changes, and the Docs server will resolve+-- conflicting changes. When using \`target_revision_id\`, the API client+-- can be thought of as another collaborator of the document. The target+-- revision ID may only be used to write to recent versions of a document.+-- If the target revision is too far behind the latest revision, the+-- request will not be processed and will return a 400 bad request error+-- and the request should be retried after reading the latest version of+-- the document. In most cases a \`revision_id\` will remain valid for use+-- as a target revision for several minutes after it is read, but for+-- frequently-edited documents this window may be shorter.+wcTargetRevisionId :: Lens' WriteControl (Maybe Text)+wcTargetRevisionId+ = lens _wcTargetRevisionId+ (\ s a -> s{_wcTargetRevisionId = a})++instance FromJSON WriteControl where+ parseJSON+ = withObject "WriteControl"+ (\ o ->+ WriteControl' <$>+ (o .:? "requiredRevisionId") <*>+ (o .:? "targetRevisionId"))++instance ToJSON WriteControl where+ toJSON WriteControl'{..}+ = object+ (catMaybes+ [("requiredRevisionId" .=) <$> _wcRequiredRevisionId,+ ("targetRevisionId" .=) <$> _wcTargetRevisionId])++-- | Represents the styling that can be applied to text. Inherited text+-- styles are represented as unset fields in this message. A text style\'s+-- parent depends on where the text style is defined: * The TextStyle of+-- text in a Paragraph inherits from the paragraph\'s corresponding named+-- style type. * The TextStyle on a named style inherits from the normal+-- text named style. * The TextStyle of the normal text named style+-- inherits from the default text style in the Docs editor. * The TextStyle+-- on a Paragraph element that is contained in a table may inherit its text+-- style from the table style. If the text style does not inherit from a+-- parent, unsetting fields will revert the style to a value matching the+-- defaults in the Docs editor.+--+-- /See:/ 'textStyle' smart constructor.+data TextStyle =+ TextStyle'+ { _tsLink :: !(Maybe Link)+ , _tsBackgRoundColor :: !(Maybe OptionalColor)+ , _tsBaselineOffSet :: !(Maybe TextStyleBaselineOffSet)+ , _tsForegRoundColor :: !(Maybe OptionalColor)+ , _tsFontSize :: !(Maybe Dimension)+ , _tsSmallCaps :: !(Maybe Bool)+ , _tsUnderline :: !(Maybe Bool)+ , _tsWeightedFontFamily :: !(Maybe WeightedFontFamily)+ , _tsItalic :: !(Maybe Bool)+ , _tsBold :: !(Maybe Bool)+ , _tsStrikethrough :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TextStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsLink'+--+-- * 'tsBackgRoundColor'+--+-- * 'tsBaselineOffSet'+--+-- * 'tsForegRoundColor'+--+-- * 'tsFontSize'+--+-- * 'tsSmallCaps'+--+-- * 'tsUnderline'+--+-- * 'tsWeightedFontFamily'+--+-- * 'tsItalic'+--+-- * 'tsBold'+--+-- * 'tsStrikethrough'+textStyle+ :: TextStyle+textStyle =+ TextStyle'+ { _tsLink = Nothing+ , _tsBackgRoundColor = Nothing+ , _tsBaselineOffSet = Nothing+ , _tsForegRoundColor = Nothing+ , _tsFontSize = Nothing+ , _tsSmallCaps = Nothing+ , _tsUnderline = Nothing+ , _tsWeightedFontFamily = Nothing+ , _tsItalic = Nothing+ , _tsBold = Nothing+ , _tsStrikethrough = Nothing+ }+++-- | The hyperlink destination of the text. If unset, there is no link. Links+-- are not inherited from parent text. Changing the link in an update+-- request causes some other changes to the text style of the range: * When+-- setting a link, the text foreground color will be updated to the default+-- link color and the text will be underlined. If these fields are modified+-- in the same request, those values will be used instead of the link+-- defaults. * Setting a link on a text range that overlaps with an+-- existing link will also update the existing link to point to the new+-- URL. * Links are not settable on newline characters. As a result,+-- setting a link on a text range that crosses a paragraph boundary, such+-- as \`\"ABC\\n123\"\`, will separate the newline character(s) into their+-- own text runs. The link will be applied separately to the runs before+-- and after the newline. * Removing a link will update the text style of+-- the range to match the style of the preceding text (or the default text+-- styles if the preceding text is another link) unless different styles+-- are being set in the same request.+tsLink :: Lens' TextStyle (Maybe Link)+tsLink = lens _tsLink (\ s a -> s{_tsLink = a})++-- | The background color of the text. If set, the color is either an RGB+-- color or transparent, depending on the \`color\` field.+tsBackgRoundColor :: Lens' TextStyle (Maybe OptionalColor)+tsBackgRoundColor+ = lens _tsBackgRoundColor+ (\ s a -> s{_tsBackgRoundColor = a})++-- | The text\'s vertical offset from its normal position. Text with+-- \`SUPERSCRIPT\` or \`SUBSCRIPT\` baseline offsets is automatically+-- rendered in a smaller font size, computed based on the \`font_size\`+-- field. The \`font_size\` itself is not affected by changes in this+-- field.+tsBaselineOffSet :: Lens' TextStyle (Maybe TextStyleBaselineOffSet)+tsBaselineOffSet+ = lens _tsBaselineOffSet+ (\ s a -> s{_tsBaselineOffSet = a})++-- | The foreground color of the text. If set, the color is either an RGB+-- color or transparent, depending on the \`color\` field.+tsForegRoundColor :: Lens' TextStyle (Maybe OptionalColor)+tsForegRoundColor+ = lens _tsForegRoundColor+ (\ s a -> s{_tsForegRoundColor = a})++-- | The size of the text\'s font.+tsFontSize :: Lens' TextStyle (Maybe Dimension)+tsFontSize+ = lens _tsFontSize (\ s a -> s{_tsFontSize = a})++-- | Whether or not the text is in small capital letters.+tsSmallCaps :: Lens' TextStyle (Maybe Bool)+tsSmallCaps+ = lens _tsSmallCaps (\ s a -> s{_tsSmallCaps = a})++-- | Whether or not the text is underlined.+tsUnderline :: Lens' TextStyle (Maybe Bool)+tsUnderline+ = lens _tsUnderline (\ s a -> s{_tsUnderline = a})++-- | The font family and rendered weight of the text. If an update request+-- specifies values for both \`weighted_font_family\` and \`bold\`, the+-- \`weighted_font_family\` is applied first, then \`bold\`. If+-- \`weighted_font_family#weight\` is not set, it defaults to \`400\`. If+-- \`weighted_font_family\` is set, then+-- \`weighted_font_family#font_family\` must also be set with a non-empty+-- value. Otherwise, a 400 bad request error is returned.+tsWeightedFontFamily :: Lens' TextStyle (Maybe WeightedFontFamily)+tsWeightedFontFamily+ = lens _tsWeightedFontFamily+ (\ s a -> s{_tsWeightedFontFamily = a})++-- | Whether or not the text is italicized.+tsItalic :: Lens' TextStyle (Maybe Bool)+tsItalic = lens _tsItalic (\ s a -> s{_tsItalic = a})++-- | Whether or not the text is rendered as bold.+tsBold :: Lens' TextStyle (Maybe Bool)+tsBold = lens _tsBold (\ s a -> s{_tsBold = a})++-- | Whether or not the text is struck through.+tsStrikethrough :: Lens' TextStyle (Maybe Bool)+tsStrikethrough+ = lens _tsStrikethrough+ (\ s a -> s{_tsStrikethrough = a})++instance FromJSON TextStyle where+ parseJSON+ = withObject "TextStyle"+ (\ o ->+ TextStyle' <$>+ (o .:? "link") <*> (o .:? "backgroundColor") <*>+ (o .:? "baselineOffset")+ <*> (o .:? "foregroundColor")+ <*> (o .:? "fontSize")+ <*> (o .:? "smallCaps")+ <*> (o .:? "underline")+ <*> (o .:? "weightedFontFamily")+ <*> (o .:? "italic")+ <*> (o .:? "bold")+ <*> (o .:? "strikethrough"))++instance ToJSON TextStyle where+ toJSON TextStyle'{..}+ = object+ (catMaybes+ [("link" .=) <$> _tsLink,+ ("backgroundColor" .=) <$> _tsBackgRoundColor,+ ("baselineOffset" .=) <$> _tsBaselineOffSet,+ ("foregroundColor" .=) <$> _tsForegRoundColor,+ ("fontSize" .=) <$> _tsFontSize,+ ("smallCaps" .=) <$> _tsSmallCaps,+ ("underline" .=) <$> _tsUnderline,+ ("weightedFontFamily" .=) <$> _tsWeightedFontFamily,+ ("italic" .=) <$> _tsItalic, ("bold" .=) <$> _tsBold,+ ("strikethrough" .=) <$> _tsStrikethrough])++-- | The suggested text style changes to this HorizontalRule, keyed by+-- suggestion ID.+--+-- /See:/ 'horizontalRuleSuggestedTextStyleChanges' smart constructor.+newtype HorizontalRuleSuggestedTextStyleChanges =+ HorizontalRuleSuggestedTextStyleChanges'+ { _hrstscAddtional :: HashMap Text SuggestedTextStyle+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'HorizontalRuleSuggestedTextStyleChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hrstscAddtional'+horizontalRuleSuggestedTextStyleChanges+ :: HashMap Text SuggestedTextStyle -- ^ 'hrstscAddtional'+ -> HorizontalRuleSuggestedTextStyleChanges+horizontalRuleSuggestedTextStyleChanges pHrstscAddtional_ =+ HorizontalRuleSuggestedTextStyleChanges'+ {_hrstscAddtional = _Coerce # pHrstscAddtional_}+++hrstscAddtional :: Lens' HorizontalRuleSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)+hrstscAddtional+ = lens _hrstscAddtional+ (\ s a -> s{_hrstscAddtional = a})+ . _Coerce++instance FromJSON+ HorizontalRuleSuggestedTextStyleChanges+ where+ parseJSON+ = withObject+ "HorizontalRuleSuggestedTextStyleChanges"+ (\ o ->+ HorizontalRuleSuggestedTextStyleChanges' <$>+ (parseJSONObject o))++instance ToJSON+ HorizontalRuleSuggestedTextStyleChanges+ where+ toJSON = toJSON . _hrstscAddtional++-- | Update the styling of text.+--+-- /See:/ 'updateTextStyleRequest' smart constructor.+data UpdateTextStyleRequest =+ UpdateTextStyleRequest'+ { _utsrRange :: !(Maybe Range)+ , _utsrTextStyle :: !(Maybe TextStyle)+ , _utsrFields :: !(Maybe GFieldMask)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateTextStyleRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'utsrRange'+--+-- * 'utsrTextStyle'+--+-- * 'utsrFields'+updateTextStyleRequest+ :: UpdateTextStyleRequest+updateTextStyleRequest =+ UpdateTextStyleRequest'+ {_utsrRange = Nothing, _utsrTextStyle = Nothing, _utsrFields = Nothing}+++-- | The range of text to style. The range may be extended to include+-- adjacent newlines. If the range fully contains a paragraph belonging to+-- a list, the paragraph\'s bullet is also updated with the matching text+-- style.+utsrRange :: Lens' UpdateTextStyleRequest (Maybe Range)+utsrRange+ = lens _utsrRange (\ s a -> s{_utsrRange = a})++-- | The styles to set on the text. If the value for a particular style+-- matches that of the parent, that style will be set to inherit. Certain+-- text style changes may cause other changes in order to to mirror the+-- behavior of the Docs editor. See the documentation of TextStyle for more+-- information.+utsrTextStyle :: Lens' UpdateTextStyleRequest (Maybe TextStyle)+utsrTextStyle+ = lens _utsrTextStyle+ (\ s a -> s{_utsrTextStyle = a})++-- | The fields that should be updated. At least one field must be specified.+-- The root \`text_style\` is implied and should not be specified. A single+-- \`\"*\"\` can be used as short-hand for listing every field. For+-- example, to update the text style to bold, set \`fields\` to+-- \`\"bold\"\`. To reset a property to its default value, include its+-- field name in the field mask but leave the field itself unset.+utsrFields :: Lens' UpdateTextStyleRequest (Maybe GFieldMask)+utsrFields+ = lens _utsrFields (\ s a -> s{_utsrFields = a})++instance FromJSON UpdateTextStyleRequest where+ parseJSON+ = withObject "UpdateTextStyleRequest"+ (\ o ->+ UpdateTextStyleRequest' <$>+ (o .:? "range") <*> (o .:? "textStyle") <*>+ (o .:? "fields"))++instance ToJSON UpdateTextStyleRequest where+ toJSON UpdateTextStyleRequest'{..}+ = object+ (catMaybes+ [("range" .=) <$> _utsrRange,+ ("textStyle" .=) <$> _utsrTextStyle,+ ("fields" .=) <$> _utsrFields])++-- | A ParagraphElement that contains an InlineObject.+--+-- /See:/ 'inlineObjectElement' smart constructor.+data InlineObjectElement =+ InlineObjectElement'+ { _ioeSuggestedInsertionIds :: !(Maybe [Text])+ , _ioeSuggestedTextStyleChanges :: !(Maybe InlineObjectElementSuggestedTextStyleChanges)+ , _ioeInlineObjectId :: !(Maybe Text)+ , _ioeSuggestedDeletionIds :: !(Maybe [Text])+ , _ioeTextStyle :: !(Maybe TextStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InlineObjectElement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ioeSuggestedInsertionIds'+--+-- * 'ioeSuggestedTextStyleChanges'+--+-- * 'ioeInlineObjectId'+--+-- * 'ioeSuggestedDeletionIds'+--+-- * 'ioeTextStyle'+inlineObjectElement+ :: InlineObjectElement+inlineObjectElement =+ InlineObjectElement'+ { _ioeSuggestedInsertionIds = Nothing+ , _ioeSuggestedTextStyleChanges = Nothing+ , _ioeInlineObjectId = Nothing+ , _ioeSuggestedDeletionIds = Nothing+ , _ioeTextStyle = Nothing+ }+++-- | The suggested insertion IDs. An InlineObjectElement may have multiple+-- insertion IDs if it is a nested suggested change. If empty, then this is+-- not a suggested insertion.+ioeSuggestedInsertionIds :: Lens' InlineObjectElement [Text]+ioeSuggestedInsertionIds+ = lens _ioeSuggestedInsertionIds+ (\ s a -> s{_ioeSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The suggested text style changes to this InlineObject, keyed by+-- suggestion ID.+ioeSuggestedTextStyleChanges :: Lens' InlineObjectElement (Maybe InlineObjectElementSuggestedTextStyleChanges)+ioeSuggestedTextStyleChanges+ = lens _ioeSuggestedTextStyleChanges+ (\ s a -> s{_ioeSuggestedTextStyleChanges = a})++-- | The ID of the InlineObject this element contains.+ioeInlineObjectId :: Lens' InlineObjectElement (Maybe Text)+ioeInlineObjectId+ = lens _ioeInlineObjectId+ (\ s a -> s{_ioeInlineObjectId = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+ioeSuggestedDeletionIds :: Lens' InlineObjectElement [Text]+ioeSuggestedDeletionIds+ = lens _ioeSuggestedDeletionIds+ (\ s a -> s{_ioeSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The text style of this InlineObjectElement. Similar to text content,+-- like text runs and footnote references, the text style of an inline+-- object element can affect content layout as well as the styling of text+-- inserted adjacent to it.+ioeTextStyle :: Lens' InlineObjectElement (Maybe TextStyle)+ioeTextStyle+ = lens _ioeTextStyle (\ s a -> s{_ioeTextStyle = a})++instance FromJSON InlineObjectElement where+ parseJSON+ = withObject "InlineObjectElement"+ (\ o ->+ InlineObjectElement' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "suggestedTextStyleChanges")+ <*> (o .:? "inlineObjectId")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "textStyle"))++instance ToJSON InlineObjectElement where+ toJSON InlineObjectElement'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _ioeSuggestedInsertionIds,+ ("suggestedTextStyleChanges" .=) <$>+ _ioeSuggestedTextStyleChanges,+ ("inlineObjectId" .=) <$> _ioeInlineObjectId,+ ("suggestedDeletionIds" .=) <$>+ _ioeSuggestedDeletionIds,+ ("textStyle" .=) <$> _ioeTextStyle])++-- | Contains properties describing the look and feel of a list bullet at a+-- given level of nesting.+--+-- /See:/ 'nestingLevel' smart constructor.+data NestingLevel =+ NestingLevel'+ { _nlIndentFirstLine :: !(Maybe Dimension)+ , _nlGlyphFormat :: !(Maybe Text)+ , _nlBulletAlignment :: !(Maybe NestingLevelBulletAlignment)+ , _nlIndentStart :: !(Maybe Dimension)+ , _nlGlyphSymbol :: !(Maybe Text)+ , _nlTextStyle :: !(Maybe TextStyle)+ , _nlGlyphType :: !(Maybe NestingLevelGlyphType)+ , _nlStartNumber :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NestingLevel' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nlIndentFirstLine'+--+-- * 'nlGlyphFormat'+--+-- * 'nlBulletAlignment'+--+-- * 'nlIndentStart'+--+-- * 'nlGlyphSymbol'+--+-- * 'nlTextStyle'+--+-- * 'nlGlyphType'+--+-- * 'nlStartNumber'+nestingLevel+ :: NestingLevel+nestingLevel =+ NestingLevel'+ { _nlIndentFirstLine = Nothing+ , _nlGlyphFormat = Nothing+ , _nlBulletAlignment = Nothing+ , _nlIndentStart = Nothing+ , _nlGlyphSymbol = Nothing+ , _nlTextStyle = Nothing+ , _nlGlyphType = Nothing+ , _nlStartNumber = Nothing+ }+++-- | The amount of indentation for the first line of paragraphs at this level+-- of nesting.+nlIndentFirstLine :: Lens' NestingLevel (Maybe Dimension)+nlIndentFirstLine+ = lens _nlIndentFirstLine+ (\ s a -> s{_nlIndentFirstLine = a})++-- | The format string used by bullets at this level of nesting. The glyph+-- format contains one or more placeholders, and these placeholder are+-- replaced with the appropriate values depending on the glyph_type or+-- glyph_symbol. The placeholders follow the pattern \`%[nesting_level]\`.+-- Furthermore, placeholders can have prefixes and suffixes. Thus, the+-- glyph format follows the pattern \`%[nesting_level]\`. Note that the+-- prefix and suffix are optional and can be arbitrary strings. For+-- example, the glyph format \`%0.\` indicates that the rendered glyph will+-- replace the placeholder with the corresponding glyph for nesting level 0+-- followed by a period as the suffix. So a list with a glyph type of+-- UPPER_ALPHA and glyph format \`%0.\` at nesting level 0 will result in a+-- list with rendered glyphs+--+-- \`A.\`+--+-- \`B.\`+--+-- \`C.\` The glyph format can contain placeholders for the current nesting+-- level as well as placeholders for parent nesting levels. For example, a+-- list can have a glyph format of \`%0.\` at nesting level 0 and a glyph+-- format of \`%0.%1.\` at nesting level 1. Assuming both nesting levels+-- have DECIMAL glyph types, this would result in a list with rendered+-- glyphs+--+-- \`1.\`+--+-- \`2.\`+--+-- \` 2.1.\`+--+-- \` 2.2.\`+--+-- \`3.\` For nesting levels that are ordered, the string that replaces a+-- placeholder in the glyph format for a particular paragraph depends on+-- the paragraph\'s order within the list.+nlGlyphFormat :: Lens' NestingLevel (Maybe Text)+nlGlyphFormat+ = lens _nlGlyphFormat+ (\ s a -> s{_nlGlyphFormat = a})++-- | The alignment of the bullet within the space allotted for rendering the+-- bullet.+nlBulletAlignment :: Lens' NestingLevel (Maybe NestingLevelBulletAlignment)+nlBulletAlignment+ = lens _nlBulletAlignment+ (\ s a -> s{_nlBulletAlignment = a})++-- | The amount of indentation for paragraphs at this level of nesting.+-- Applied to the side that corresponds to the start of the text, based on+-- the paragraph\'s content direction.+nlIndentStart :: Lens' NestingLevel (Maybe Dimension)+nlIndentStart+ = lens _nlIndentStart+ (\ s a -> s{_nlIndentStart = a})++-- | A custom glyph symbol used by bullets when paragraphs at this level of+-- nesting are unordered. The glyph symbol replaces placeholders within the+-- glyph_format. For example, if the glyph_symbol is the solid circle+-- corresponding to Unicode U+25cf code point and the glyph_format is+-- \`%0\`, the rendered glyph would be the solid circle.+nlGlyphSymbol :: Lens' NestingLevel (Maybe Text)+nlGlyphSymbol+ = lens _nlGlyphSymbol+ (\ s a -> s{_nlGlyphSymbol = a})++-- | The text style of bullets at this level of nesting.+nlTextStyle :: Lens' NestingLevel (Maybe TextStyle)+nlTextStyle+ = lens _nlTextStyle (\ s a -> s{_nlTextStyle = a})++-- | The type of glyph used by bullets when paragraphs at this level of+-- nesting are ordered. The glyph type determines the type of glyph used to+-- replace placeholders within the glyph_format when paragraphs at this+-- level of nesting are ordered. For example, if the nesting level is 0,+-- the glyph_format is \`%0.\` and the glyph type is DECIMAL, then the+-- rendered glyph would replace the placeholder \`%0\` in the glyph format+-- with a number corresponding to list item\'s order within the list.+nlGlyphType :: Lens' NestingLevel (Maybe NestingLevelGlyphType)+nlGlyphType+ = lens _nlGlyphType (\ s a -> s{_nlGlyphType = a})++-- | The number of the first list item at this nesting level. A value of 0 is+-- treated as a value of 1 for lettered lists and roman numeraled lists,+-- i.e. for values of both 0 and 1, lettered and roman numeraled lists will+-- begin at \`a\` and \`i\` respectively. This value is ignored for nesting+-- levels with unordered glyphs.+nlStartNumber :: Lens' NestingLevel (Maybe Int32)+nlStartNumber+ = lens _nlStartNumber+ (\ s a -> s{_nlStartNumber = a})+ . mapping _Coerce++instance FromJSON NestingLevel where+ parseJSON+ = withObject "NestingLevel"+ (\ o ->+ NestingLevel' <$>+ (o .:? "indentFirstLine") <*> (o .:? "glyphFormat")+ <*> (o .:? "bulletAlignment")+ <*> (o .:? "indentStart")+ <*> (o .:? "glyphSymbol")+ <*> (o .:? "textStyle")+ <*> (o .:? "glyphType")+ <*> (o .:? "startNumber"))++instance ToJSON NestingLevel where+ toJSON NestingLevel'{..}+ = object+ (catMaybes+ [("indentFirstLine" .=) <$> _nlIndentFirstLine,+ ("glyphFormat" .=) <$> _nlGlyphFormat,+ ("bulletAlignment" .=) <$> _nlBulletAlignment,+ ("indentStart" .=) <$> _nlIndentStart,+ ("glyphSymbol" .=) <$> _nlGlyphSymbol,+ ("textStyle" .=) <$> _nlTextStyle,+ ("glyphType" .=) <$> _nlGlyphType,+ ("startNumber" .=) <$> _nlStartNumber])++-- | Location of a single cell within a table.+--+-- /See:/ 'tableCellLocation' smart constructor.+data TableCellLocation =+ TableCellLocation'+ { _tclColumnIndex :: !(Maybe (Textual Int32))+ , _tclTableStartLocation :: !(Maybe Location)+ , _tclRowIndex :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableCellLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tclColumnIndex'+--+-- * 'tclTableStartLocation'+--+-- * 'tclRowIndex'+tableCellLocation+ :: TableCellLocation+tableCellLocation =+ TableCellLocation'+ { _tclColumnIndex = Nothing+ , _tclTableStartLocation = Nothing+ , _tclRowIndex = Nothing+ }+++-- | The zero-based column index. For example, the second column in the table+-- has a column index of 1.+tclColumnIndex :: Lens' TableCellLocation (Maybe Int32)+tclColumnIndex+ = lens _tclColumnIndex+ (\ s a -> s{_tclColumnIndex = a})+ . mapping _Coerce++-- | The location where the table starts in the document.+tclTableStartLocation :: Lens' TableCellLocation (Maybe Location)+tclTableStartLocation+ = lens _tclTableStartLocation+ (\ s a -> s{_tclTableStartLocation = a})++-- | The zero-based row index. For example, the second row in the table has a+-- row index of 1.+tclRowIndex :: Lens' TableCellLocation (Maybe Int32)+tclRowIndex+ = lens _tclRowIndex (\ s a -> s{_tclRowIndex = a}) .+ mapping _Coerce++instance FromJSON TableCellLocation where+ parseJSON+ = withObject "TableCellLocation"+ (\ o ->+ TableCellLocation' <$>+ (o .:? "columnIndex") <*>+ (o .:? "tableStartLocation")+ <*> (o .:? "rowIndex"))++instance ToJSON TableCellLocation where+ toJSON TableCellLocation'{..}+ = object+ (catMaybes+ [("columnIndex" .=) <$> _tclColumnIndex,+ ("tableStartLocation" .=) <$> _tclTableStartLocation,+ ("rowIndex" .=) <$> _tclRowIndex])++-- | Deletes a PositionedObject from the document.+--+-- /See:/ 'deletePositionedObjectRequest' smart constructor.+newtype DeletePositionedObjectRequest =+ DeletePositionedObjectRequest'+ { _dporObjectId :: Maybe Text+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeletePositionedObjectRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dporObjectId'+deletePositionedObjectRequest+ :: DeletePositionedObjectRequest+deletePositionedObjectRequest =+ DeletePositionedObjectRequest' {_dporObjectId = Nothing}+++-- | The ID of the positioned object to delete.+dporObjectId :: Lens' DeletePositionedObjectRequest (Maybe Text)+dporObjectId+ = lens _dporObjectId (\ s a -> s{_dporObjectId = a})++instance FromJSON DeletePositionedObjectRequest where+ parseJSON+ = withObject "DeletePositionedObjectRequest"+ (\ o ->+ DeletePositionedObjectRequest' <$>+ (o .:? "objectId"))++instance ToJSON DeletePositionedObjectRequest where+ toJSON DeletePositionedObjectRequest'{..}+ = object+ (catMaybes [("objectId" .=) <$> _dporObjectId])++-- | A document footer.+--+-- /See:/ 'footer' smart constructor.+data Footer =+ Footer'+ { _fFooterId :: !(Maybe Text)+ , _fContent :: !(Maybe [StructuralElement])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Footer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fFooterId'+--+-- * 'fContent'+footer+ :: Footer+footer = Footer' {_fFooterId = Nothing, _fContent = Nothing}+++-- | The ID of the footer.+fFooterId :: Lens' Footer (Maybe Text)+fFooterId+ = lens _fFooterId (\ s a -> s{_fFooterId = a})++-- | The contents of the footer. The indexes for a footer\'s content begin at+-- zero.+fContent :: Lens' Footer [StructuralElement]+fContent+ = lens _fContent (\ s a -> s{_fContent = a}) .+ _Default+ . _Coerce++instance FromJSON Footer where+ parseJSON+ = withObject "Footer"+ (\ o ->+ Footer' <$>+ (o .:? "footerId") <*> (o .:? "content" .!= mempty))++instance ToJSON Footer where+ toJSON Footer'{..}+ = object+ (catMaybes+ [("footerId" .=) <$> _fFooterId,+ ("content" .=) <$> _fContent])++-- | An object that is tethered to a Paragraph and positioned relative to the+-- beginning of the paragraph. A PositionedObject contains an+-- EmbeddedObject such as an image.+--+-- /See:/ 'positionedObject' smart constructor.+data PositionedObject =+ PositionedObject'+ { _poSuggestedPositionedObjectPropertiesChanges :: !(Maybe PositionedObjectSuggestedPositionedObjectPropertiesChanges)+ , _poPositionedObjectProperties :: !(Maybe PositionedObjectProperties)+ , _poSuggestedInsertionId :: !(Maybe Text)+ , _poObjectId :: !(Maybe Text)+ , _poSuggestedDeletionIds :: !(Maybe [Text])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PositionedObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'poSuggestedPositionedObjectPropertiesChanges'+--+-- * 'poPositionedObjectProperties'+--+-- * 'poSuggestedInsertionId'+--+-- * 'poObjectId'+--+-- * 'poSuggestedDeletionIds'+positionedObject+ :: PositionedObject+positionedObject =+ PositionedObject'+ { _poSuggestedPositionedObjectPropertiesChanges = Nothing+ , _poPositionedObjectProperties = Nothing+ , _poSuggestedInsertionId = Nothing+ , _poObjectId = Nothing+ , _poSuggestedDeletionIds = Nothing+ }+++-- | The suggested changes to the positioned object properties, keyed by+-- suggestion ID.+poSuggestedPositionedObjectPropertiesChanges :: Lens' PositionedObject (Maybe PositionedObjectSuggestedPositionedObjectPropertiesChanges)+poSuggestedPositionedObjectPropertiesChanges+ = lens _poSuggestedPositionedObjectPropertiesChanges+ (\ s a ->+ s{_poSuggestedPositionedObjectPropertiesChanges = a})++-- | The properties of this positioned object.+poPositionedObjectProperties :: Lens' PositionedObject (Maybe PositionedObjectProperties)+poPositionedObjectProperties+ = lens _poPositionedObjectProperties+ (\ s a -> s{_poPositionedObjectProperties = a})++-- | The suggested insertion ID. If empty, then this is not a suggested+-- insertion.+poSuggestedInsertionId :: Lens' PositionedObject (Maybe Text)+poSuggestedInsertionId+ = lens _poSuggestedInsertionId+ (\ s a -> s{_poSuggestedInsertionId = a})++-- | The ID of this positioned object.+poObjectId :: Lens' PositionedObject (Maybe Text)+poObjectId+ = lens _poObjectId (\ s a -> s{_poObjectId = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+poSuggestedDeletionIds :: Lens' PositionedObject [Text]+poSuggestedDeletionIds+ = lens _poSuggestedDeletionIds+ (\ s a -> s{_poSuggestedDeletionIds = a})+ . _Default+ . _Coerce++instance FromJSON PositionedObject where+ parseJSON+ = withObject "PositionedObject"+ (\ o ->+ PositionedObject' <$>+ (o .:? "suggestedPositionedObjectPropertiesChanges")+ <*> (o .:? "positionedObjectProperties")+ <*> (o .:? "suggestedInsertionId")+ <*> (o .:? "objectId")+ <*> (o .:? "suggestedDeletionIds" .!= mempty))++instance ToJSON PositionedObject where+ toJSON PositionedObject'{..}+ = object+ (catMaybes+ [("suggestedPositionedObjectPropertiesChanges" .=)+ <$> _poSuggestedPositionedObjectPropertiesChanges,+ ("positionedObjectProperties" .=) <$>+ _poPositionedObjectProperties,+ ("suggestedInsertionId" .=) <$>+ _poSuggestedInsertionId,+ ("objectId" .=) <$> _poObjectId,+ ("suggestedDeletionIds" .=) <$>+ _poSuggestedDeletionIds])++-- | A collection of object IDs.+--+-- /See:/ 'objectReferences' smart constructor.+newtype ObjectReferences =+ ObjectReferences'+ { _orObjectIds :: Maybe [Text]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ObjectReferences' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'orObjectIds'+objectReferences+ :: ObjectReferences+objectReferences = ObjectReferences' {_orObjectIds = Nothing}+++-- | The object IDs.+orObjectIds :: Lens' ObjectReferences [Text]+orObjectIds+ = lens _orObjectIds (\ s a -> s{_orObjectIds = a}) .+ _Default+ . _Coerce++instance FromJSON ObjectReferences where+ parseJSON+ = withObject "ObjectReferences"+ (\ o ->+ ObjectReferences' <$> (o .:? "objectIds" .!= mempty))++instance ToJSON ObjectReferences where+ toJSON ObjectReferences'{..}+ = object+ (catMaybes [("objectIds" .=) <$> _orObjectIds])++-- | A mask that indicates which of the fields on the base Bullet have been+-- changed in this suggestion. For any field set to true, there is a new+-- suggested value.+--+-- /See:/ 'bulletSuggestionState' smart constructor.+data BulletSuggestionState =+ BulletSuggestionState'+ { _bssNestingLevelSuggested :: !(Maybe Bool)+ , _bssListIdSuggested :: !(Maybe Bool)+ , _bssTextStyleSuggestionState :: !(Maybe TextStyleSuggestionState)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BulletSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bssNestingLevelSuggested'+--+-- * 'bssListIdSuggested'+--+-- * 'bssTextStyleSuggestionState'+bulletSuggestionState+ :: BulletSuggestionState+bulletSuggestionState =+ BulletSuggestionState'+ { _bssNestingLevelSuggested = Nothing+ , _bssListIdSuggested = Nothing+ , _bssTextStyleSuggestionState = Nothing+ }+++-- | Indicates if there was a suggested change to the nesting_level.+bssNestingLevelSuggested :: Lens' BulletSuggestionState (Maybe Bool)+bssNestingLevelSuggested+ = lens _bssNestingLevelSuggested+ (\ s a -> s{_bssNestingLevelSuggested = a})++-- | Indicates if there was a suggested change to the list_id.+bssListIdSuggested :: Lens' BulletSuggestionState (Maybe Bool)+bssListIdSuggested+ = lens _bssListIdSuggested+ (\ s a -> s{_bssListIdSuggested = a})++-- | A mask that indicates which of the fields in text style have been+-- changed in this suggestion.+bssTextStyleSuggestionState :: Lens' BulletSuggestionState (Maybe TextStyleSuggestionState)+bssTextStyleSuggestionState+ = lens _bssTextStyleSuggestionState+ (\ s a -> s{_bssTextStyleSuggestionState = a})++instance FromJSON BulletSuggestionState where+ parseJSON+ = withObject "BulletSuggestionState"+ (\ o ->+ BulletSuggestionState' <$>+ (o .:? "nestingLevelSuggested") <*>+ (o .:? "listIdSuggested")+ <*> (o .:? "textStyleSuggestionState"))++instance ToJSON BulletSuggestionState where+ toJSON BulletSuggestionState'{..}+ = object+ (catMaybes+ [("nestingLevelSuggested" .=) <$>+ _bssNestingLevelSuggested,+ ("listIdSuggested" .=) <$> _bssListIdSuggested,+ ("textStyleSuggestionState" .=) <$>+ _bssTextStyleSuggestionState])++-- | A mask that indicates which of the fields on the base ImageProperties+-- have been changed in this suggestion. For any field set to true, there+-- is a new suggested value.+--+-- /See:/ 'imagePropertiesSuggestionState' smart constructor.+data ImagePropertiesSuggestionState =+ ImagePropertiesSuggestionState'+ { _ipssAngleSuggested :: !(Maybe Bool)+ , _ipssContrastSuggested :: !(Maybe Bool)+ , _ipssContentURISuggested :: !(Maybe Bool)+ , _ipssSourceURISuggested :: !(Maybe Bool)+ , _ipssCropPropertiesSuggestionState :: !(Maybe CropPropertiesSuggestionState)+ , _ipssBrightnessSuggested :: !(Maybe Bool)+ , _ipssTransparencySuggested :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ImagePropertiesSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipssAngleSuggested'+--+-- * 'ipssContrastSuggested'+--+-- * 'ipssContentURISuggested'+--+-- * 'ipssSourceURISuggested'+--+-- * 'ipssCropPropertiesSuggestionState'+--+-- * 'ipssBrightnessSuggested'+--+-- * 'ipssTransparencySuggested'+imagePropertiesSuggestionState+ :: ImagePropertiesSuggestionState+imagePropertiesSuggestionState =+ ImagePropertiesSuggestionState'+ { _ipssAngleSuggested = Nothing+ , _ipssContrastSuggested = Nothing+ , _ipssContentURISuggested = Nothing+ , _ipssSourceURISuggested = Nothing+ , _ipssCropPropertiesSuggestionState = Nothing+ , _ipssBrightnessSuggested = Nothing+ , _ipssTransparencySuggested = Nothing+ }+++-- | Indicates if there was a suggested change to angle.+ipssAngleSuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)+ipssAngleSuggested+ = lens _ipssAngleSuggested+ (\ s a -> s{_ipssAngleSuggested = a})++-- | Indicates if there was a suggested change to contrast.+ipssContrastSuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)+ipssContrastSuggested+ = lens _ipssContrastSuggested+ (\ s a -> s{_ipssContrastSuggested = a})++-- | Indicates if there was a suggested change to content_uri.+ipssContentURISuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)+ipssContentURISuggested+ = lens _ipssContentURISuggested+ (\ s a -> s{_ipssContentURISuggested = a})++-- | Indicates if there was a suggested change to source_uri.+ipssSourceURISuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)+ipssSourceURISuggested+ = lens _ipssSourceURISuggested+ (\ s a -> s{_ipssSourceURISuggested = a})++-- | A mask that indicates which of the fields in crop_properties have been+-- changed in this suggestion.+ipssCropPropertiesSuggestionState :: Lens' ImagePropertiesSuggestionState (Maybe CropPropertiesSuggestionState)+ipssCropPropertiesSuggestionState+ = lens _ipssCropPropertiesSuggestionState+ (\ s a -> s{_ipssCropPropertiesSuggestionState = a})++-- | Indicates if there was a suggested change to brightness.+ipssBrightnessSuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)+ipssBrightnessSuggested+ = lens _ipssBrightnessSuggested+ (\ s a -> s{_ipssBrightnessSuggested = a})++-- | Indicates if there was a suggested change to transparency.+ipssTransparencySuggested :: Lens' ImagePropertiesSuggestionState (Maybe Bool)+ipssTransparencySuggested+ = lens _ipssTransparencySuggested+ (\ s a -> s{_ipssTransparencySuggested = a})++instance FromJSON ImagePropertiesSuggestionState+ where+ parseJSON+ = withObject "ImagePropertiesSuggestionState"+ (\ o ->+ ImagePropertiesSuggestionState' <$>+ (o .:? "angleSuggested") <*>+ (o .:? "contrastSuggested")+ <*> (o .:? "contentUriSuggested")+ <*> (o .:? "sourceUriSuggested")+ <*> (o .:? "cropPropertiesSuggestionState")+ <*> (o .:? "brightnessSuggested")+ <*> (o .:? "transparencySuggested"))++instance ToJSON ImagePropertiesSuggestionState where+ toJSON ImagePropertiesSuggestionState'{..}+ = object+ (catMaybes+ [("angleSuggested" .=) <$> _ipssAngleSuggested,+ ("contrastSuggested" .=) <$> _ipssContrastSuggested,+ ("contentUriSuggested" .=) <$>+ _ipssContentURISuggested,+ ("sourceUriSuggested" .=) <$>+ _ipssSourceURISuggested,+ ("cropPropertiesSuggestionState" .=) <$>+ _ipssCropPropertiesSuggestionState,+ ("brightnessSuggested" .=) <$>+ _ipssBrightnessSuggested,+ ("transparencySuggested" .=) <$>+ _ipssTransparencySuggested])++-- | A mask that indicates which of the fields on the base Shading have been+-- changed in this suggested change. For any field set to true, there is a+-- new suggested value.+--+-- /See:/ 'shadingSuggestionState' smart constructor.+newtype ShadingSuggestionState =+ ShadingSuggestionState'+ { _sssBackgRoundColorSuggested :: Maybe Bool+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ShadingSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sssBackgRoundColorSuggested'+shadingSuggestionState+ :: ShadingSuggestionState+shadingSuggestionState =+ ShadingSuggestionState' {_sssBackgRoundColorSuggested = Nothing}+++-- | Indicates if there was a suggested change to the Shading.+sssBackgRoundColorSuggested :: Lens' ShadingSuggestionState (Maybe Bool)+sssBackgRoundColorSuggested+ = lens _sssBackgRoundColorSuggested+ (\ s a -> s{_sssBackgRoundColorSuggested = a})++instance FromJSON ShadingSuggestionState where+ parseJSON+ = withObject "ShadingSuggestionState"+ (\ o ->+ ShadingSuggestionState' <$>+ (o .:? "backgroundColorSuggested"))++instance ToJSON ShadingSuggestionState where+ toJSON ShadingSuggestionState'{..}+ = object+ (catMaybes+ [("backgroundColorSuggested" .=) <$>+ _sssBackgRoundColorSuggested])++-- | The suggested changes to the named styles of the document, keyed by+-- suggestion ID.+--+-- /See:/ 'documentSuggestedNamedStylesChanges' smart constructor.+newtype DocumentSuggestedNamedStylesChanges =+ DocumentSuggestedNamedStylesChanges'+ { _dsnscAddtional :: HashMap Text SuggestedNamedStyles+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentSuggestedNamedStylesChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsnscAddtional'+documentSuggestedNamedStylesChanges+ :: HashMap Text SuggestedNamedStyles -- ^ 'dsnscAddtional'+ -> DocumentSuggestedNamedStylesChanges+documentSuggestedNamedStylesChanges pDsnscAddtional_ =+ DocumentSuggestedNamedStylesChanges'+ {_dsnscAddtional = _Coerce # pDsnscAddtional_}+++dsnscAddtional :: Lens' DocumentSuggestedNamedStylesChanges (HashMap Text SuggestedNamedStyles)+dsnscAddtional+ = lens _dsnscAddtional+ (\ s a -> s{_dsnscAddtional = a})+ . _Coerce++instance FromJSON DocumentSuggestedNamedStylesChanges+ where+ parseJSON+ = withObject "DocumentSuggestedNamedStylesChanges"+ (\ o ->+ DocumentSuggestedNamedStylesChanges' <$>+ (parseJSONObject o))++instance ToJSON DocumentSuggestedNamedStylesChanges+ where+ toJSON = toJSON . _dsnscAddtional++-- | The contents and style of a cell in a Table.+--+-- /See:/ 'tableCell' smart constructor.+data TableCell =+ TableCell'+ { _tcSuggestedInsertionIds :: !(Maybe [Text])+ , _tcSuggestedTableCellStyleChanges :: !(Maybe TableCellSuggestedTableCellStyleChanges)+ , _tcEndIndex :: !(Maybe (Textual Int32))+ , _tcContent :: !(Maybe [StructuralElement])+ , _tcTableCellStyle :: !(Maybe TableCellStyle)+ , _tcSuggestedDeletionIds :: !(Maybe [Text])+ , _tcStartIndex :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableCell' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcSuggestedInsertionIds'+--+-- * 'tcSuggestedTableCellStyleChanges'+--+-- * 'tcEndIndex'+--+-- * 'tcContent'+--+-- * 'tcTableCellStyle'+--+-- * 'tcSuggestedDeletionIds'+--+-- * 'tcStartIndex'+tableCell+ :: TableCell+tableCell =+ TableCell'+ { _tcSuggestedInsertionIds = Nothing+ , _tcSuggestedTableCellStyleChanges = Nothing+ , _tcEndIndex = Nothing+ , _tcContent = Nothing+ , _tcTableCellStyle = Nothing+ , _tcSuggestedDeletionIds = Nothing+ , _tcStartIndex = Nothing+ }+++-- | The suggested insertion IDs. A TableCell may have multiple insertion IDs+-- if it is a nested suggested change. If empty, then this is not a+-- suggested insertion.+tcSuggestedInsertionIds :: Lens' TableCell [Text]+tcSuggestedInsertionIds+ = lens _tcSuggestedInsertionIds+ (\ s a -> s{_tcSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The suggested changes to the table cell style, keyed by suggestion ID.+tcSuggestedTableCellStyleChanges :: Lens' TableCell (Maybe TableCellSuggestedTableCellStyleChanges)+tcSuggestedTableCellStyleChanges+ = lens _tcSuggestedTableCellStyleChanges+ (\ s a -> s{_tcSuggestedTableCellStyleChanges = a})++-- | The zero-based end index of this cell, exclusive, in UTF-16 code units.+tcEndIndex :: Lens' TableCell (Maybe Int32)+tcEndIndex+ = lens _tcEndIndex (\ s a -> s{_tcEndIndex = a}) .+ mapping _Coerce++-- | The content of the cell.+tcContent :: Lens' TableCell [StructuralElement]+tcContent+ = lens _tcContent (\ s a -> s{_tcContent = a}) .+ _Default+ . _Coerce++-- | The style of the cell.+tcTableCellStyle :: Lens' TableCell (Maybe TableCellStyle)+tcTableCellStyle+ = lens _tcTableCellStyle+ (\ s a -> s{_tcTableCellStyle = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+tcSuggestedDeletionIds :: Lens' TableCell [Text]+tcSuggestedDeletionIds+ = lens _tcSuggestedDeletionIds+ (\ s a -> s{_tcSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The zero-based start index of this cell, in UTF-16 code units.+tcStartIndex :: Lens' TableCell (Maybe Int32)+tcStartIndex+ = lens _tcStartIndex (\ s a -> s{_tcStartIndex = a})+ . mapping _Coerce++instance FromJSON TableCell where+ parseJSON+ = withObject "TableCell"+ (\ o ->+ TableCell' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "suggestedTableCellStyleChanges")+ <*> (o .:? "endIndex")+ <*> (o .:? "content" .!= mempty)+ <*> (o .:? "tableCellStyle")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "startIndex"))++instance ToJSON TableCell where+ toJSON TableCell'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _tcSuggestedInsertionIds,+ ("suggestedTableCellStyleChanges" .=) <$>+ _tcSuggestedTableCellStyleChanges,+ ("endIndex" .=) <$> _tcEndIndex,+ ("content" .=) <$> _tcContent,+ ("tableCellStyle" .=) <$> _tcTableCellStyle,+ ("suggestedDeletionIds" .=) <$>+ _tcSuggestedDeletionIds,+ ("startIndex" .=) <$> _tcStartIndex])++-- | A mask that indicates which of the fields on the base+-- SheetsChartReference have been changed in this suggestion. For any field+-- set to true, there is a new suggested value.+--+-- /See:/ 'sheetsChartReferenceSuggestionState' smart constructor.+data SheetsChartReferenceSuggestionState =+ SheetsChartReferenceSuggestionState'+ { _scrssChartIdSuggested :: !(Maybe Bool)+ , _scrssSpreadsheetIdSuggested :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SheetsChartReferenceSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scrssChartIdSuggested'+--+-- * 'scrssSpreadsheetIdSuggested'+sheetsChartReferenceSuggestionState+ :: SheetsChartReferenceSuggestionState+sheetsChartReferenceSuggestionState =+ SheetsChartReferenceSuggestionState'+ {_scrssChartIdSuggested = Nothing, _scrssSpreadsheetIdSuggested = Nothing}+++-- | Indicates if there was a suggested change to chart_id.+scrssChartIdSuggested :: Lens' SheetsChartReferenceSuggestionState (Maybe Bool)+scrssChartIdSuggested+ = lens _scrssChartIdSuggested+ (\ s a -> s{_scrssChartIdSuggested = a})++-- | Indicates if there was a suggested change to spreadsheet_id.+scrssSpreadsheetIdSuggested :: Lens' SheetsChartReferenceSuggestionState (Maybe Bool)+scrssSpreadsheetIdSuggested+ = lens _scrssSpreadsheetIdSuggested+ (\ s a -> s{_scrssSpreadsheetIdSuggested = a})++instance FromJSON SheetsChartReferenceSuggestionState+ where+ parseJSON+ = withObject "SheetsChartReferenceSuggestionState"+ (\ o ->+ SheetsChartReferenceSuggestionState' <$>+ (o .:? "chartIdSuggested") <*>+ (o .:? "spreadsheetIdSuggested"))++instance ToJSON SheetsChartReferenceSuggestionState+ where+ toJSON SheetsChartReferenceSuggestionState'{..}+ = object+ (catMaybes+ [("chartIdSuggested" .=) <$> _scrssChartIdSuggested,+ ("spreadsheetIdSuggested" .=) <$>+ _scrssSpreadsheetIdSuggested])++-- | A ParagraphElement describes content within a Paragraph.+--+-- /See:/ 'paragraphElement' smart constructor.+data ParagraphElement =+ ParagraphElement'+ { _peAutoText :: !(Maybe AutoText)+ , _peEndIndex :: !(Maybe (Textual Int32))+ , _peFootNoteReference :: !(Maybe FootNoteReference)+ , _peColumnBreak :: !(Maybe ColumnBreak)+ , _peTextRun :: !(Maybe TextRun)+ , _peEquation :: !(Maybe Equation)+ , _pePageBreak :: !(Maybe PageBreak)+ , _peInlineObjectElement :: !(Maybe InlineObjectElement)+ , _peHorizontalRule :: !(Maybe HorizontalRule)+ , _peStartIndex :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParagraphElement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'peAutoText'+--+-- * 'peEndIndex'+--+-- * 'peFootNoteReference'+--+-- * 'peColumnBreak'+--+-- * 'peTextRun'+--+-- * 'peEquation'+--+-- * 'pePageBreak'+--+-- * 'peInlineObjectElement'+--+-- * 'peHorizontalRule'+--+-- * 'peStartIndex'+paragraphElement+ :: ParagraphElement+paragraphElement =+ ParagraphElement'+ { _peAutoText = Nothing+ , _peEndIndex = Nothing+ , _peFootNoteReference = Nothing+ , _peColumnBreak = Nothing+ , _peTextRun = Nothing+ , _peEquation = Nothing+ , _pePageBreak = Nothing+ , _peInlineObjectElement = Nothing+ , _peHorizontalRule = Nothing+ , _peStartIndex = Nothing+ }+++-- | An auto text paragraph element.+peAutoText :: Lens' ParagraphElement (Maybe AutoText)+peAutoText+ = lens _peAutoText (\ s a -> s{_peAutoText = a})++-- | The zero-base end index of this paragraph element, exclusive, in UTF-16+-- code units.+peEndIndex :: Lens' ParagraphElement (Maybe Int32)+peEndIndex+ = lens _peEndIndex (\ s a -> s{_peEndIndex = a}) .+ mapping _Coerce++-- | A footnote reference paragraph element.+peFootNoteReference :: Lens' ParagraphElement (Maybe FootNoteReference)+peFootNoteReference+ = lens _peFootNoteReference+ (\ s a -> s{_peFootNoteReference = a})++-- | A column break paragraph element.+peColumnBreak :: Lens' ParagraphElement (Maybe ColumnBreak)+peColumnBreak+ = lens _peColumnBreak+ (\ s a -> s{_peColumnBreak = a})++-- | A text run paragraph element.+peTextRun :: Lens' ParagraphElement (Maybe TextRun)+peTextRun+ = lens _peTextRun (\ s a -> s{_peTextRun = a})++-- | An equation paragraph element.+peEquation :: Lens' ParagraphElement (Maybe Equation)+peEquation+ = lens _peEquation (\ s a -> s{_peEquation = a})++-- | A page break paragraph element.+pePageBreak :: Lens' ParagraphElement (Maybe PageBreak)+pePageBreak+ = lens _pePageBreak (\ s a -> s{_pePageBreak = a})++-- | An inline object paragraph element.+peInlineObjectElement :: Lens' ParagraphElement (Maybe InlineObjectElement)+peInlineObjectElement+ = lens _peInlineObjectElement+ (\ s a -> s{_peInlineObjectElement = a})++-- | A horizontal rule paragraph element.+peHorizontalRule :: Lens' ParagraphElement (Maybe HorizontalRule)+peHorizontalRule+ = lens _peHorizontalRule+ (\ s a -> s{_peHorizontalRule = a})++-- | The zero-based start index of this paragraph element, in UTF-16 code+-- units.+peStartIndex :: Lens' ParagraphElement (Maybe Int32)+peStartIndex+ = lens _peStartIndex (\ s a -> s{_peStartIndex = a})+ . mapping _Coerce++instance FromJSON ParagraphElement where+ parseJSON+ = withObject "ParagraphElement"+ (\ o ->+ ParagraphElement' <$>+ (o .:? "autoText") <*> (o .:? "endIndex") <*>+ (o .:? "footnoteReference")+ <*> (o .:? "columnBreak")+ <*> (o .:? "textRun")+ <*> (o .:? "equation")+ <*> (o .:? "pageBreak")+ <*> (o .:? "inlineObjectElement")+ <*> (o .:? "horizontalRule")+ <*> (o .:? "startIndex"))++instance ToJSON ParagraphElement where+ toJSON ParagraphElement'{..}+ = object+ (catMaybes+ [("autoText" .=) <$> _peAutoText,+ ("endIndex" .=) <$> _peEndIndex,+ ("footnoteReference" .=) <$> _peFootNoteReference,+ ("columnBreak" .=) <$> _peColumnBreak,+ ("textRun" .=) <$> _peTextRun,+ ("equation" .=) <$> _peEquation,+ ("pageBreak" .=) <$> _pePageBreak,+ ("inlineObjectElement" .=) <$>+ _peInlineObjectElement,+ ("horizontalRule" .=) <$> _peHorizontalRule,+ ("startIndex" .=) <$> _peStartIndex])++-- | A ParagraphElement representing a horizontal line.+--+-- /See:/ 'horizontalRule' smart constructor.+data HorizontalRule =+ HorizontalRule'+ { _hrSuggestedInsertionIds :: !(Maybe [Text])+ , _hrSuggestedTextStyleChanges :: !(Maybe HorizontalRuleSuggestedTextStyleChanges)+ , _hrSuggestedDeletionIds :: !(Maybe [Text])+ , _hrTextStyle :: !(Maybe TextStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'HorizontalRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hrSuggestedInsertionIds'+--+-- * 'hrSuggestedTextStyleChanges'+--+-- * 'hrSuggestedDeletionIds'+--+-- * 'hrTextStyle'+horizontalRule+ :: HorizontalRule+horizontalRule =+ HorizontalRule'+ { _hrSuggestedInsertionIds = Nothing+ , _hrSuggestedTextStyleChanges = Nothing+ , _hrSuggestedDeletionIds = Nothing+ , _hrTextStyle = Nothing+ }+++-- | The suggested insertion IDs. A HorizontalRule may have multiple+-- insertion IDs if it is a nested suggested change. If empty, then this is+-- not a suggested insertion.+hrSuggestedInsertionIds :: Lens' HorizontalRule [Text]+hrSuggestedInsertionIds+ = lens _hrSuggestedInsertionIds+ (\ s a -> s{_hrSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The suggested text style changes to this HorizontalRule, keyed by+-- suggestion ID.+hrSuggestedTextStyleChanges :: Lens' HorizontalRule (Maybe HorizontalRuleSuggestedTextStyleChanges)+hrSuggestedTextStyleChanges+ = lens _hrSuggestedTextStyleChanges+ (\ s a -> s{_hrSuggestedTextStyleChanges = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+hrSuggestedDeletionIds :: Lens' HorizontalRule [Text]+hrSuggestedDeletionIds+ = lens _hrSuggestedDeletionIds+ (\ s a -> s{_hrSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The text style of this HorizontalRule. Similar to text content, like+-- text runs and footnote references, the text style of a horizontal rule+-- can affect content layout as well as the styling of text inserted+-- adjacent to it.+hrTextStyle :: Lens' HorizontalRule (Maybe TextStyle)+hrTextStyle+ = lens _hrTextStyle (\ s a -> s{_hrTextStyle = a})++instance FromJSON HorizontalRule where+ parseJSON+ = withObject "HorizontalRule"+ (\ o ->+ HorizontalRule' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "suggestedTextStyleChanges")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "textStyle"))++instance ToJSON HorizontalRule where+ toJSON HorizontalRule'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _hrSuggestedInsertionIds,+ ("suggestedTextStyleChanges" .=) <$>+ _hrSuggestedTextStyleChanges,+ ("suggestedDeletionIds" .=) <$>+ _hrSuggestedDeletionIds,+ ("textStyle" .=) <$> _hrTextStyle])++-- | A mask that indicates which of the fields on the base EmbeddedObject+-- have been changed in this suggestion. For any field set to true, there+-- is a new suggested value.+--+-- /See:/ 'embeddedObjectSuggestionState' smart constructor.+data EmbeddedObjectSuggestionState =+ EmbeddedObjectSuggestionState'+ { _eossEmbeddedObjectBOrderSuggestionState :: !(Maybe EmbeddedObjectBOrderSuggestionState)+ , _eossEmbeddedDrawingPropertiesSuggestionState :: !(Maybe EmbeddedDrawingPropertiesSuggestionState)+ , _eossTitleSuggested :: !(Maybe Bool)+ , _eossMarginTopSuggested :: !(Maybe Bool)+ , _eossSizeSuggestionState :: !(Maybe SizeSuggestionState)+ , _eossMarginBottomSuggested :: !(Maybe Bool)+ , _eossImagePropertiesSuggestionState :: !(Maybe ImagePropertiesSuggestionState)+ , _eossMarginLeftSuggested :: !(Maybe Bool)+ , _eossLinkedContentReferenceSuggestionState :: !(Maybe LinkedContentReferenceSuggestionState)+ , _eossDescriptionSuggested :: !(Maybe Bool)+ , _eossMarginRightSuggested :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'EmbeddedObjectSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eossEmbeddedObjectBOrderSuggestionState'+--+-- * 'eossEmbeddedDrawingPropertiesSuggestionState'+--+-- * 'eossTitleSuggested'+--+-- * 'eossMarginTopSuggested'+--+-- * 'eossSizeSuggestionState'+--+-- * 'eossMarginBottomSuggested'+--+-- * 'eossImagePropertiesSuggestionState'+--+-- * 'eossMarginLeftSuggested'+--+-- * 'eossLinkedContentReferenceSuggestionState'+--+-- * 'eossDescriptionSuggested'+--+-- * 'eossMarginRightSuggested'+embeddedObjectSuggestionState+ :: EmbeddedObjectSuggestionState+embeddedObjectSuggestionState =+ EmbeddedObjectSuggestionState'+ { _eossEmbeddedObjectBOrderSuggestionState = Nothing+ , _eossEmbeddedDrawingPropertiesSuggestionState = Nothing+ , _eossTitleSuggested = Nothing+ , _eossMarginTopSuggested = Nothing+ , _eossSizeSuggestionState = Nothing+ , _eossMarginBottomSuggested = Nothing+ , _eossImagePropertiesSuggestionState = Nothing+ , _eossMarginLeftSuggested = Nothing+ , _eossLinkedContentReferenceSuggestionState = Nothing+ , _eossDescriptionSuggested = Nothing+ , _eossMarginRightSuggested = Nothing+ }+++-- | A mask that indicates which of the fields in embedded_object_border have+-- been changed in this suggestion.+eossEmbeddedObjectBOrderSuggestionState :: Lens' EmbeddedObjectSuggestionState (Maybe EmbeddedObjectBOrderSuggestionState)+eossEmbeddedObjectBOrderSuggestionState+ = lens _eossEmbeddedObjectBOrderSuggestionState+ (\ s a ->+ s{_eossEmbeddedObjectBOrderSuggestionState = a})++-- | A mask that indicates which of the fields in embedded_drawing_properties+-- have been changed in this suggestion.+eossEmbeddedDrawingPropertiesSuggestionState :: Lens' EmbeddedObjectSuggestionState (Maybe EmbeddedDrawingPropertiesSuggestionState)+eossEmbeddedDrawingPropertiesSuggestionState+ = lens _eossEmbeddedDrawingPropertiesSuggestionState+ (\ s a ->+ s{_eossEmbeddedDrawingPropertiesSuggestionState = a})++-- | Indicates if there was a suggested change to title.+eossTitleSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)+eossTitleSuggested+ = lens _eossTitleSuggested+ (\ s a -> s{_eossTitleSuggested = a})++-- | Indicates if there was a suggested change to margin_top.+eossMarginTopSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)+eossMarginTopSuggested+ = lens _eossMarginTopSuggested+ (\ s a -> s{_eossMarginTopSuggested = a})++-- | A mask that indicates which of the fields in size have been changed in+-- this suggestion.+eossSizeSuggestionState :: Lens' EmbeddedObjectSuggestionState (Maybe SizeSuggestionState)+eossSizeSuggestionState+ = lens _eossSizeSuggestionState+ (\ s a -> s{_eossSizeSuggestionState = a})++-- | Indicates if there was a suggested change to margin_bottom.+eossMarginBottomSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)+eossMarginBottomSuggested+ = lens _eossMarginBottomSuggested+ (\ s a -> s{_eossMarginBottomSuggested = a})++-- | A mask that indicates which of the fields in image_properties have been+-- changed in this suggestion.+eossImagePropertiesSuggestionState :: Lens' EmbeddedObjectSuggestionState (Maybe ImagePropertiesSuggestionState)+eossImagePropertiesSuggestionState+ = lens _eossImagePropertiesSuggestionState+ (\ s a -> s{_eossImagePropertiesSuggestionState = a})++-- | Indicates if there was a suggested change to margin_left.+eossMarginLeftSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)+eossMarginLeftSuggested+ = lens _eossMarginLeftSuggested+ (\ s a -> s{_eossMarginLeftSuggested = a})++-- | A mask that indicates which of the fields in linked_content_reference+-- have been changed in this suggestion.+eossLinkedContentReferenceSuggestionState :: Lens' EmbeddedObjectSuggestionState (Maybe LinkedContentReferenceSuggestionState)+eossLinkedContentReferenceSuggestionState+ = lens _eossLinkedContentReferenceSuggestionState+ (\ s a ->+ s{_eossLinkedContentReferenceSuggestionState = a})++-- | Indicates if there was a suggested change to description.+eossDescriptionSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)+eossDescriptionSuggested+ = lens _eossDescriptionSuggested+ (\ s a -> s{_eossDescriptionSuggested = a})++-- | Indicates if there was a suggested change to margin_right.+eossMarginRightSuggested :: Lens' EmbeddedObjectSuggestionState (Maybe Bool)+eossMarginRightSuggested+ = lens _eossMarginRightSuggested+ (\ s a -> s{_eossMarginRightSuggested = a})++instance FromJSON EmbeddedObjectSuggestionState where+ parseJSON+ = withObject "EmbeddedObjectSuggestionState"+ (\ o ->+ EmbeddedObjectSuggestionState' <$>+ (o .:? "embeddedObjectBorderSuggestionState") <*>+ (o .:? "embeddedDrawingPropertiesSuggestionState")+ <*> (o .:? "titleSuggested")+ <*> (o .:? "marginTopSuggested")+ <*> (o .:? "sizeSuggestionState")+ <*> (o .:? "marginBottomSuggested")+ <*> (o .:? "imagePropertiesSuggestionState")+ <*> (o .:? "marginLeftSuggested")+ <*> (o .:? "linkedContentReferenceSuggestionState")+ <*> (o .:? "descriptionSuggested")+ <*> (o .:? "marginRightSuggested"))++instance ToJSON EmbeddedObjectSuggestionState where+ toJSON EmbeddedObjectSuggestionState'{..}+ = object+ (catMaybes+ [("embeddedObjectBorderSuggestionState" .=) <$>+ _eossEmbeddedObjectBOrderSuggestionState,+ ("embeddedDrawingPropertiesSuggestionState" .=) <$>+ _eossEmbeddedDrawingPropertiesSuggestionState,+ ("titleSuggested" .=) <$> _eossTitleSuggested,+ ("marginTopSuggested" .=) <$>+ _eossMarginTopSuggested,+ ("sizeSuggestionState" .=) <$>+ _eossSizeSuggestionState,+ ("marginBottomSuggested" .=) <$>+ _eossMarginBottomSuggested,+ ("imagePropertiesSuggestionState" .=) <$>+ _eossImagePropertiesSuggestionState,+ ("marginLeftSuggested" .=) <$>+ _eossMarginLeftSuggested,+ ("linkedContentReferenceSuggestionState" .=) <$>+ _eossLinkedContentReferenceSuggestionState,+ ("descriptionSuggested" .=) <$>+ _eossDescriptionSuggested,+ ("marginRightSuggested" .=) <$>+ _eossMarginRightSuggested])++-- | Inserts a table at the specified location. A newline character will be+-- inserted before the inserted table.+--+-- /See:/ 'insertTableRequest' smart constructor.+data InsertTableRequest =+ InsertTableRequest'+ { _itrLocation :: !(Maybe Location)+ , _itrEndOfSegmentLocation :: !(Maybe EndOfSegmentLocation)+ , _itrRows :: !(Maybe (Textual Int32))+ , _itrColumns :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InsertTableRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'itrLocation'+--+-- * 'itrEndOfSegmentLocation'+--+-- * 'itrRows'+--+-- * 'itrColumns'+insertTableRequest+ :: InsertTableRequest+insertTableRequest =+ InsertTableRequest'+ { _itrLocation = Nothing+ , _itrEndOfSegmentLocation = Nothing+ , _itrRows = Nothing+ , _itrColumns = Nothing+ }+++-- | Inserts the table at a specific model index. A newline character will be+-- inserted before the inserted table, therefore the table start index will+-- be at the specified location index + 1. The table must be inserted+-- inside the bounds of an existing Paragraph. For instance, it cannot be+-- inserted at a table\'s start index (i.e. between an existing table and+-- its preceding paragraph). Tables cannot be inserted inside a footnote or+-- equation.+itrLocation :: Lens' InsertTableRequest (Maybe Location)+itrLocation+ = lens _itrLocation (\ s a -> s{_itrLocation = a})++-- | Inserts the table at the end of the given header, footer or document+-- body. A newline character will be inserted before the inserted table.+-- Tables cannot be inserted inside a footnote.+itrEndOfSegmentLocation :: Lens' InsertTableRequest (Maybe EndOfSegmentLocation)+itrEndOfSegmentLocation+ = lens _itrEndOfSegmentLocation+ (\ s a -> s{_itrEndOfSegmentLocation = a})++-- | The number of rows in the table.+itrRows :: Lens' InsertTableRequest (Maybe Int32)+itrRows+ = lens _itrRows (\ s a -> s{_itrRows = a}) .+ mapping _Coerce++-- | The number of columns in the table.+itrColumns :: Lens' InsertTableRequest (Maybe Int32)+itrColumns+ = lens _itrColumns (\ s a -> s{_itrColumns = a}) .+ mapping _Coerce++instance FromJSON InsertTableRequest where+ parseJSON+ = withObject "InsertTableRequest"+ (\ o ->+ InsertTableRequest' <$>+ (o .:? "location") <*> (o .:? "endOfSegmentLocation")+ <*> (o .:? "rows")+ <*> (o .:? "columns"))++instance ToJSON InsertTableRequest where+ toJSON InsertTableRequest'{..}+ = object+ (catMaybes+ [("location" .=) <$> _itrLocation,+ ("endOfSegmentLocation" .=) <$>+ _itrEndOfSegmentLocation,+ ("rows" .=) <$> _itrRows,+ ("columns" .=) <$> _itrColumns])++-- | A suggested change to InlineObjectProperties.+--+-- /See:/ 'suggestedInlineObjectProperties' smart constructor.+data SuggestedInlineObjectProperties =+ SuggestedInlineObjectProperties'+ { _siopInlineObjectProperties :: !(Maybe InlineObjectProperties)+ , _siopInlineObjectPropertiesSuggestionState :: !(Maybe InlineObjectPropertiesSuggestionState)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SuggestedInlineObjectProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siopInlineObjectProperties'+--+-- * 'siopInlineObjectPropertiesSuggestionState'+suggestedInlineObjectProperties+ :: SuggestedInlineObjectProperties+suggestedInlineObjectProperties =+ SuggestedInlineObjectProperties'+ { _siopInlineObjectProperties = Nothing+ , _siopInlineObjectPropertiesSuggestionState = Nothing+ }+++-- | An InlineObjectProperties that only includes the changes made in this+-- suggestion. This can be used along with the+-- inline_object_properties_suggestion_state to see which fields have+-- changed and their new values.+siopInlineObjectProperties :: Lens' SuggestedInlineObjectProperties (Maybe InlineObjectProperties)+siopInlineObjectProperties+ = lens _siopInlineObjectProperties+ (\ s a -> s{_siopInlineObjectProperties = a})++-- | A mask that indicates which of the fields on the base+-- InlineObjectProperties have been changed in this suggestion.+siopInlineObjectPropertiesSuggestionState :: Lens' SuggestedInlineObjectProperties (Maybe InlineObjectPropertiesSuggestionState)+siopInlineObjectPropertiesSuggestionState+ = lens _siopInlineObjectPropertiesSuggestionState+ (\ s a ->+ s{_siopInlineObjectPropertiesSuggestionState = a})++instance FromJSON SuggestedInlineObjectProperties+ where+ parseJSON+ = withObject "SuggestedInlineObjectProperties"+ (\ o ->+ SuggestedInlineObjectProperties' <$>+ (o .:? "inlineObjectProperties") <*>+ (o .:? "inlineObjectPropertiesSuggestionState"))++instance ToJSON SuggestedInlineObjectProperties where+ toJSON SuggestedInlineObjectProperties'{..}+ = object+ (catMaybes+ [("inlineObjectProperties" .=) <$>+ _siopInlineObjectProperties,+ ("inlineObjectPropertiesSuggestionState" .=) <$>+ _siopInlineObjectPropertiesSuggestionState])++-- | A mask that indicates which of the fields on the base+-- LinkedContentReference have been changed in this suggestion. For any+-- field set to true, there is a new suggested value.+--+-- /See:/ 'linkedContentReferenceSuggestionState' smart constructor.+newtype LinkedContentReferenceSuggestionState =+ LinkedContentReferenceSuggestionState'+ { _lcrssSheetsChartReferenceSuggestionState :: Maybe SheetsChartReferenceSuggestionState+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'LinkedContentReferenceSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcrssSheetsChartReferenceSuggestionState'+linkedContentReferenceSuggestionState+ :: LinkedContentReferenceSuggestionState+linkedContentReferenceSuggestionState =+ LinkedContentReferenceSuggestionState'+ {_lcrssSheetsChartReferenceSuggestionState = Nothing}+++-- | A mask that indicates which of the fields in sheets_chart_reference have+-- been changed in this suggestion.+lcrssSheetsChartReferenceSuggestionState :: Lens' LinkedContentReferenceSuggestionState (Maybe SheetsChartReferenceSuggestionState)+lcrssSheetsChartReferenceSuggestionState+ = lens _lcrssSheetsChartReferenceSuggestionState+ (\ s a ->+ s{_lcrssSheetsChartReferenceSuggestionState = a})++instance FromJSON+ LinkedContentReferenceSuggestionState+ where+ parseJSON+ = withObject "LinkedContentReferenceSuggestionState"+ (\ o ->+ LinkedContentReferenceSuggestionState' <$>+ (o .:? "sheetsChartReferenceSuggestionState"))++instance ToJSON LinkedContentReferenceSuggestionState+ where+ toJSON LinkedContentReferenceSuggestionState'{..}+ = object+ (catMaybes+ [("sheetsChartReferenceSuggestionState" .=) <$>+ _lcrssSheetsChartReferenceSuggestionState])++-- | The suggested text style changes to this InlineObject, keyed by+-- suggestion ID.+--+-- /See:/ 'inlineObjectElementSuggestedTextStyleChanges' smart constructor.+newtype InlineObjectElementSuggestedTextStyleChanges =+ InlineObjectElementSuggestedTextStyleChanges'+ { _ioestscAddtional :: HashMap Text SuggestedTextStyle+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InlineObjectElementSuggestedTextStyleChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ioestscAddtional'+inlineObjectElementSuggestedTextStyleChanges+ :: HashMap Text SuggestedTextStyle -- ^ 'ioestscAddtional'+ -> InlineObjectElementSuggestedTextStyleChanges+inlineObjectElementSuggestedTextStyleChanges pIoestscAddtional_ =+ InlineObjectElementSuggestedTextStyleChanges'+ {_ioestscAddtional = _Coerce # pIoestscAddtional_}+++ioestscAddtional :: Lens' InlineObjectElementSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)+ioestscAddtional+ = lens _ioestscAddtional+ (\ s a -> s{_ioestscAddtional = a})+ . _Coerce++instance FromJSON+ InlineObjectElementSuggestedTextStyleChanges+ where+ parseJSON+ = withObject+ "InlineObjectElementSuggestedTextStyleChanges"+ (\ o ->+ InlineObjectElementSuggestedTextStyleChanges' <$>+ (parseJSONObject o))++instance ToJSON+ InlineObjectElementSuggestedTextStyleChanges+ where+ toJSON = toJSON . _ioestscAddtional++-- | A StructuralElement describes content that provides structure to the+-- document.+--+-- /See:/ 'structuralElement' smart constructor.+data StructuralElement =+ StructuralElement'+ { _seTableOfContents :: !(Maybe TableOfContents)+ , _seParagraph :: !(Maybe Paragraph)+ , _seEndIndex :: !(Maybe (Textual Int32))+ , _seTable :: !(Maybe Table)+ , _seStartIndex :: !(Maybe (Textual Int32))+ , _seSectionBreak :: !(Maybe SectionBreak)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StructuralElement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'seTableOfContents'+--+-- * 'seParagraph'+--+-- * 'seEndIndex'+--+-- * 'seTable'+--+-- * 'seStartIndex'+--+-- * 'seSectionBreak'+structuralElement+ :: StructuralElement+structuralElement =+ StructuralElement'+ { _seTableOfContents = Nothing+ , _seParagraph = Nothing+ , _seEndIndex = Nothing+ , _seTable = Nothing+ , _seStartIndex = Nothing+ , _seSectionBreak = Nothing+ }+++-- | A table of contents type of structural element.+seTableOfContents :: Lens' StructuralElement (Maybe TableOfContents)+seTableOfContents+ = lens _seTableOfContents+ (\ s a -> s{_seTableOfContents = a})++-- | A paragraph type of structural element.+seParagraph :: Lens' StructuralElement (Maybe Paragraph)+seParagraph+ = lens _seParagraph (\ s a -> s{_seParagraph = a})++-- | The zero-based end index of this structural element, exclusive, in+-- UTF-16 code units.+seEndIndex :: Lens' StructuralElement (Maybe Int32)+seEndIndex+ = lens _seEndIndex (\ s a -> s{_seEndIndex = a}) .+ mapping _Coerce++-- | A table type of structural element.+seTable :: Lens' StructuralElement (Maybe Table)+seTable = lens _seTable (\ s a -> s{_seTable = a})++-- | The zero-based start index of this structural element, in UTF-16 code+-- units.+seStartIndex :: Lens' StructuralElement (Maybe Int32)+seStartIndex+ = lens _seStartIndex (\ s a -> s{_seStartIndex = a})+ . mapping _Coerce++-- | A section break type of structural element.+seSectionBreak :: Lens' StructuralElement (Maybe SectionBreak)+seSectionBreak+ = lens _seSectionBreak+ (\ s a -> s{_seSectionBreak = a})++instance FromJSON StructuralElement where+ parseJSON+ = withObject "StructuralElement"+ (\ o ->+ StructuralElement' <$>+ (o .:? "tableOfContents") <*> (o .:? "paragraph") <*>+ (o .:? "endIndex")+ <*> (o .:? "table")+ <*> (o .:? "startIndex")+ <*> (o .:? "sectionBreak"))++instance ToJSON StructuralElement where+ toJSON StructuralElement'{..}+ = object+ (catMaybes+ [("tableOfContents" .=) <$> _seTableOfContents,+ ("paragraph" .=) <$> _seParagraph,+ ("endIndex" .=) <$> _seEndIndex,+ ("table" .=) <$> _seTable,+ ("startIndex" .=) <$> _seStartIndex,+ ("sectionBreak" .=) <$> _seSectionBreak])++-- | Deletes bullets from all of the paragraphs that overlap with the given+-- range. The nesting level of each paragraph will be visually preserved by+-- adding indent to the start of the corresponding paragraph.+--+-- /See:/ 'deleteParagraphBulletsRequest' smart constructor.+newtype DeleteParagraphBulletsRequest =+ DeleteParagraphBulletsRequest'+ { _dpbrRange :: Maybe Range+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteParagraphBulletsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpbrRange'+deleteParagraphBulletsRequest+ :: DeleteParagraphBulletsRequest+deleteParagraphBulletsRequest =+ DeleteParagraphBulletsRequest' {_dpbrRange = Nothing}+++-- | The range to delete bullets from.+dpbrRange :: Lens' DeleteParagraphBulletsRequest (Maybe Range)+dpbrRange+ = lens _dpbrRange (\ s a -> s{_dpbrRange = a})++instance FromJSON DeleteParagraphBulletsRequest where+ parseJSON+ = withObject "DeleteParagraphBulletsRequest"+ (\ o ->+ DeleteParagraphBulletsRequest' <$> (o .:? "range"))++instance ToJSON DeleteParagraphBulletsRequest where+ toJSON DeleteParagraphBulletsRequest'{..}+ = object (catMaybes [("range" .=) <$> _dpbrRange])++-- | Request message for BatchUpdateDocument.+--+-- /See:/ 'batchUpdateDocumentRequest' smart constructor.+data BatchUpdateDocumentRequest =+ BatchUpdateDocumentRequest'+ { _bRequests :: !(Maybe [Request'])+ , _bWriteControl :: !(Maybe WriteControl)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BatchUpdateDocumentRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bRequests'+--+-- * 'bWriteControl'+batchUpdateDocumentRequest+ :: BatchUpdateDocumentRequest+batchUpdateDocumentRequest =+ BatchUpdateDocumentRequest' {_bRequests = Nothing, _bWriteControl = Nothing}+++-- | A list of updates to apply to the document.+bRequests :: Lens' BatchUpdateDocumentRequest [Request']+bRequests+ = lens _bRequests (\ s a -> s{_bRequests = a}) .+ _Default+ . _Coerce++-- | Provides control over how write requests are executed.+bWriteControl :: Lens' BatchUpdateDocumentRequest (Maybe WriteControl)+bWriteControl+ = lens _bWriteControl+ (\ s a -> s{_bWriteControl = a})++instance FromJSON BatchUpdateDocumentRequest where+ parseJSON+ = withObject "BatchUpdateDocumentRequest"+ (\ o ->+ BatchUpdateDocumentRequest' <$>+ (o .:? "requests" .!= mempty) <*>+ (o .:? "writeControl"))++instance ToJSON BatchUpdateDocumentRequest where+ toJSON BatchUpdateDocumentRequest'{..}+ = object+ (catMaybes+ [("requests" .=) <$> _bRequests,+ ("writeControl" .=) <$> _bWriteControl])++-- | The properties of a list which describe the look and feel of bullets+-- belonging to paragraphs associated with a list.+--+-- /See:/ 'listProperties' smart constructor.+newtype ListProperties =+ ListProperties'+ { _lpNestingLevels :: Maybe [NestingLevel]+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lpNestingLevels'+listProperties+ :: ListProperties+listProperties = ListProperties' {_lpNestingLevels = Nothing}+++-- | Describes the properties of the bullets at the associated level. A list+-- has at most nine levels of nesting with nesting level 0 corresponding to+-- the top-most level and nesting level 8 corresponding to the most nested+-- level. The nesting levels are returned in ascending order with the least+-- nested returned first.+lpNestingLevels :: Lens' ListProperties [NestingLevel]+lpNestingLevels+ = lens _lpNestingLevels+ (\ s a -> s{_lpNestingLevels = a})+ . _Default+ . _Coerce++instance FromJSON ListProperties where+ parseJSON+ = withObject "ListProperties"+ (\ o ->+ ListProperties' <$>+ (o .:? "nestingLevels" .!= mempty))++instance ToJSON ListProperties where+ toJSON ListProperties'{..}+ = object+ (catMaybes+ [("nestingLevels" .=) <$> _lpNestingLevels])++-- | Inserts text at the specified location.+--+-- /See:/ 'insertTextRequest' smart constructor.+data InsertTextRequest =+ InsertTextRequest'+ { _iLocation :: !(Maybe Location)+ , _iText :: !(Maybe Text)+ , _iEndOfSegmentLocation :: !(Maybe EndOfSegmentLocation)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InsertTextRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iLocation'+--+-- * 'iText'+--+-- * 'iEndOfSegmentLocation'+insertTextRequest+ :: InsertTextRequest+insertTextRequest =+ InsertTextRequest'+ {_iLocation = Nothing, _iText = Nothing, _iEndOfSegmentLocation = Nothing}+++-- | Inserts the text at a specific index in the document. Text must be+-- inserted inside the bounds of an existing Paragraph. For instance, text+-- cannot be inserted at a table\'s start index (i.e. between the table and+-- its preceding paragraph). The text must be inserted in the preceding+-- paragraph.+iLocation :: Lens' InsertTextRequest (Maybe Location)+iLocation+ = lens _iLocation (\ s a -> s{_iLocation = a})++-- | The text to be inserted. Inserting a newline character will implicitly+-- create a new Paragraph at that index. The paragraph style of the new+-- paragraph will be copied from the paragraph at the current insertion+-- index, including lists and bullets. Text styles for inserted text will+-- be determined automatically, generally preserving the styling of+-- neighboring text. In most cases, the text style for the inserted text+-- will match the text immediately before the insertion index. Some control+-- characters (U+0000-U+0008, U+000C-U+001F) and characters from the+-- Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF) will+-- be stripped out of the inserted text.+iText :: Lens' InsertTextRequest (Maybe Text)+iText = lens _iText (\ s a -> s{_iText = a})++-- | Inserts the text at the end of a header, footer, footnote or the+-- document body.+iEndOfSegmentLocation :: Lens' InsertTextRequest (Maybe EndOfSegmentLocation)+iEndOfSegmentLocation+ = lens _iEndOfSegmentLocation+ (\ s a -> s{_iEndOfSegmentLocation = a})++instance FromJSON InsertTextRequest where+ parseJSON+ = withObject "InsertTextRequest"+ (\ o ->+ InsertTextRequest' <$>+ (o .:? "location") <*> (o .:? "text") <*>+ (o .:? "endOfSegmentLocation"))++instance ToJSON InsertTextRequest where+ toJSON InsertTextRequest'{..}+ = object+ (catMaybes+ [("location" .=) <$> _iLocation,+ ("text" .=) <$> _iText,+ ("endOfSegmentLocation" .=) <$>+ _iEndOfSegmentLocation])++-- | The suggested text style changes to this ColumnBreak, keyed by+-- suggestion ID.+--+-- /See:/ 'columnBreakSuggestedTextStyleChanges' smart constructor.+newtype ColumnBreakSuggestedTextStyleChanges =+ ColumnBreakSuggestedTextStyleChanges'+ { _cbstscAddtional :: HashMap Text SuggestedTextStyle+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ColumnBreakSuggestedTextStyleChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbstscAddtional'+columnBreakSuggestedTextStyleChanges+ :: HashMap Text SuggestedTextStyle -- ^ 'cbstscAddtional'+ -> ColumnBreakSuggestedTextStyleChanges+columnBreakSuggestedTextStyleChanges pCbstscAddtional_ =+ ColumnBreakSuggestedTextStyleChanges'+ {_cbstscAddtional = _Coerce # pCbstscAddtional_}+++cbstscAddtional :: Lens' ColumnBreakSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)+cbstscAddtional+ = lens _cbstscAddtional+ (\ s a -> s{_cbstscAddtional = a})+ . _Coerce++instance FromJSON+ ColumnBreakSuggestedTextStyleChanges+ where+ parseJSON+ = withObject "ColumnBreakSuggestedTextStyleChanges"+ (\ o ->+ ColumnBreakSuggestedTextStyleChanges' <$>+ (parseJSONObject o))++instance ToJSON ColumnBreakSuggestedTextStyleChanges+ where+ toJSON = toJSON . _cbstscAddtional++-- | The suggested text style changes to this FootnoteReference, keyed by+-- suggestion ID.+--+-- /See:/ 'footNoteReferenceSuggestedTextStyleChanges' smart constructor.+newtype FootNoteReferenceSuggestedTextStyleChanges =+ FootNoteReferenceSuggestedTextStyleChanges'+ { _fnrstscAddtional :: HashMap Text SuggestedTextStyle+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'FootNoteReferenceSuggestedTextStyleChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fnrstscAddtional'+footNoteReferenceSuggestedTextStyleChanges+ :: HashMap Text SuggestedTextStyle -- ^ 'fnrstscAddtional'+ -> FootNoteReferenceSuggestedTextStyleChanges+footNoteReferenceSuggestedTextStyleChanges pFnrstscAddtional_ =+ FootNoteReferenceSuggestedTextStyleChanges'+ {_fnrstscAddtional = _Coerce # pFnrstscAddtional_}+++fnrstscAddtional :: Lens' FootNoteReferenceSuggestedTextStyleChanges (HashMap Text SuggestedTextStyle)+fnrstscAddtional+ = lens _fnrstscAddtional+ (\ s a -> s{_fnrstscAddtional = a})+ . _Coerce++instance FromJSON+ FootNoteReferenceSuggestedTextStyleChanges+ where+ parseJSON+ = withObject+ "FootNoteReferenceSuggestedTextStyleChanges"+ (\ o ->+ FootNoteReferenceSuggestedTextStyleChanges' <$>+ (parseJSONObject o))++instance ToJSON+ FootNoteReferenceSuggestedTextStyleChanges+ where+ toJSON = toJSON . _fnrstscAddtional++-- | The headers in the document, keyed by header ID.+--+-- /See:/ 'documentHeaders' smart constructor.+newtype DocumentHeaders =+ DocumentHeaders'+ { _dhAddtional :: HashMap Text Header+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentHeaders' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dhAddtional'+documentHeaders+ :: HashMap Text Header -- ^ 'dhAddtional'+ -> DocumentHeaders+documentHeaders pDhAddtional_ =+ DocumentHeaders' {_dhAddtional = _Coerce # pDhAddtional_}+++dhAddtional :: Lens' DocumentHeaders (HashMap Text Header)+dhAddtional+ = lens _dhAddtional (\ s a -> s{_dhAddtional = a}) .+ _Coerce++instance FromJSON DocumentHeaders where+ parseJSON+ = withObject "DocumentHeaders"+ (\ o -> DocumentHeaders' <$> (parseJSONObject o))++instance ToJSON DocumentHeaders where+ toJSON = toJSON . _dhAddtional++-- | Styles that apply to a table row.+--+-- /See:/ 'tableRowStyle' smart constructor.+newtype TableRowStyle =+ TableRowStyle'+ { _trsMinRowHeight :: Maybe Dimension+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableRowStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trsMinRowHeight'+tableRowStyle+ :: TableRowStyle+tableRowStyle = TableRowStyle' {_trsMinRowHeight = Nothing}+++-- | The minimum height of the row. The row will be rendered in the Docs+-- editor at a height equal to or greater than this value in order to show+-- all the content in the row\'s cells.+trsMinRowHeight :: Lens' TableRowStyle (Maybe Dimension)+trsMinRowHeight+ = lens _trsMinRowHeight+ (\ s a -> s{_trsMinRowHeight = a})++instance FromJSON TableRowStyle where+ parseJSON+ = withObject "TableRowStyle"+ (\ o -> TableRowStyle' <$> (o .:? "minRowHeight"))++instance ToJSON TableRowStyle where+ toJSON TableRowStyle'{..}+ = object+ (catMaybes+ [("minRowHeight" .=) <$> _trsMinRowHeight])++-- | A StructuralElement representing a section break. A section is a range+-- of content which has the same SectionStyle. A section break represents+-- the start of a new section, and the section style applies to the section+-- after the section break. The document body always begins with a section+-- break.+--+-- /See:/ 'sectionBreak' smart constructor.+data SectionBreak =+ SectionBreak'+ { _sbSuggestedInsertionIds :: !(Maybe [Text])+ , _sbSuggestedDeletionIds :: !(Maybe [Text])+ , _sbSectionStyle :: !(Maybe SectionStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SectionBreak' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sbSuggestedInsertionIds'+--+-- * 'sbSuggestedDeletionIds'+--+-- * 'sbSectionStyle'+sectionBreak+ :: SectionBreak+sectionBreak =+ SectionBreak'+ { _sbSuggestedInsertionIds = Nothing+ , _sbSuggestedDeletionIds = Nothing+ , _sbSectionStyle = Nothing+ }+++-- | The suggested insertion IDs. A SectionBreak may have multiple insertion+-- IDs if it is a nested suggested change. If empty, then this is not a+-- suggested insertion.+sbSuggestedInsertionIds :: Lens' SectionBreak [Text]+sbSuggestedInsertionIds+ = lens _sbSuggestedInsertionIds+ (\ s a -> s{_sbSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+sbSuggestedDeletionIds :: Lens' SectionBreak [Text]+sbSuggestedDeletionIds+ = lens _sbSuggestedDeletionIds+ (\ s a -> s{_sbSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | The style of the section after this section break.+sbSectionStyle :: Lens' SectionBreak (Maybe SectionStyle)+sbSectionStyle+ = lens _sbSectionStyle+ (\ s a -> s{_sbSectionStyle = a})++instance FromJSON SectionBreak where+ parseJSON+ = withObject "SectionBreak"+ (\ o ->+ SectionBreak' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "sectionStyle"))++instance ToJSON SectionBreak where+ toJSON SectionBreak'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _sbSuggestedInsertionIds,+ ("suggestedDeletionIds" .=) <$>+ _sbSuggestedDeletionIds,+ ("sectionStyle" .=) <$> _sbSectionStyle])++-- | A StructuralElement representing a table.+--+-- /See:/ 'table' smart constructor.+data Table =+ Table'+ { _tabSuggestedInsertionIds :: !(Maybe [Text])+ , _tabTableRows :: !(Maybe [TableRow])+ , _tabRows :: !(Maybe (Textual Int32))+ , _tabTableStyle :: !(Maybe TableStyle)+ , _tabSuggestedDeletionIds :: !(Maybe [Text])+ , _tabColumns :: !(Maybe (Textual Int32))+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Table' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tabSuggestedInsertionIds'+--+-- * 'tabTableRows'+--+-- * 'tabRows'+--+-- * 'tabTableStyle'+--+-- * 'tabSuggestedDeletionIds'+--+-- * 'tabColumns'+table+ :: Table+table =+ Table'+ { _tabSuggestedInsertionIds = Nothing+ , _tabTableRows = Nothing+ , _tabRows = Nothing+ , _tabTableStyle = Nothing+ , _tabSuggestedDeletionIds = Nothing+ , _tabColumns = Nothing+ }+++-- | The suggested insertion IDs. A Table may have multiple insertion IDs if+-- it is a nested suggested change. If empty, then this is not a suggested+-- insertion.+tabSuggestedInsertionIds :: Lens' Table [Text]+tabSuggestedInsertionIds+ = lens _tabSuggestedInsertionIds+ (\ s a -> s{_tabSuggestedInsertionIds = a})+ . _Default+ . _Coerce++-- | The contents and style of each row.+tabTableRows :: Lens' Table [TableRow]+tabTableRows+ = lens _tabTableRows (\ s a -> s{_tabTableRows = a})+ . _Default+ . _Coerce++-- | Number of rows in the table.+tabRows :: Lens' Table (Maybe Int32)+tabRows+ = lens _tabRows (\ s a -> s{_tabRows = a}) .+ mapping _Coerce++-- | The style of the table.+tabTableStyle :: Lens' Table (Maybe TableStyle)+tabTableStyle+ = lens _tabTableStyle+ (\ s a -> s{_tabTableStyle = a})++-- | The suggested deletion IDs. If empty, then there are no suggested+-- deletions of this content.+tabSuggestedDeletionIds :: Lens' Table [Text]+tabSuggestedDeletionIds+ = lens _tabSuggestedDeletionIds+ (\ s a -> s{_tabSuggestedDeletionIds = a})+ . _Default+ . _Coerce++-- | Number of columns in the table. It is possible for a table to be+-- non-rectangular, so some rows may have a different number of cells.+tabColumns :: Lens' Table (Maybe Int32)+tabColumns+ = lens _tabColumns (\ s a -> s{_tabColumns = a}) .+ mapping _Coerce++instance FromJSON Table where+ parseJSON+ = withObject "Table"+ (\ o ->+ Table' <$>+ (o .:? "suggestedInsertionIds" .!= mempty) <*>+ (o .:? "tableRows" .!= mempty)+ <*> (o .:? "rows")+ <*> (o .:? "tableStyle")+ <*> (o .:? "suggestedDeletionIds" .!= mempty)+ <*> (o .:? "columns"))++instance ToJSON Table where+ toJSON Table'{..}+ = object+ (catMaybes+ [("suggestedInsertionIds" .=) <$>+ _tabSuggestedInsertionIds,+ ("tableRows" .=) <$> _tabTableRows,+ ("rows" .=) <$> _tabRows,+ ("tableStyle" .=) <$> _tabTableStyle,+ ("suggestedDeletionIds" .=) <$>+ _tabSuggestedDeletionIds,+ ("columns" .=) <$> _tabColumns])++-- | The styling that applies to a section.+--+-- /See:/ 'sectionStyle' smart constructor.+data SectionStyle =+ SectionStyle'+ { _ssColumnSeparatorStyle :: !(Maybe SectionStyleColumnSeparatorStyle)+ , _ssContentDirection :: !(Maybe SectionStyleContentDirection)+ , _ssColumnProperties :: !(Maybe [SectionColumnProperties])+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SectionStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssColumnSeparatorStyle'+--+-- * 'ssContentDirection'+--+-- * 'ssColumnProperties'+sectionStyle+ :: SectionStyle+sectionStyle =+ SectionStyle'+ { _ssColumnSeparatorStyle = Nothing+ , _ssContentDirection = Nothing+ , _ssColumnProperties = Nothing+ }+++-- | The style of column separators. This style can be set even when there is+-- one column in the section.+ssColumnSeparatorStyle :: Lens' SectionStyle (Maybe SectionStyleColumnSeparatorStyle)+ssColumnSeparatorStyle+ = lens _ssColumnSeparatorStyle+ (\ s a -> s{_ssColumnSeparatorStyle = a})++-- | The content direction of this section. If unset, the value defaults to+-- LEFT_TO_RIGHT.+ssContentDirection :: Lens' SectionStyle (Maybe SectionStyleContentDirection)+ssContentDirection+ = lens _ssContentDirection+ (\ s a -> s{_ssContentDirection = a})++-- | The section\'s columns properties. If empty, the section contains one+-- column with the default properties in the Docs editor.+ssColumnProperties :: Lens' SectionStyle [SectionColumnProperties]+ssColumnProperties+ = lens _ssColumnProperties+ (\ s a -> s{_ssColumnProperties = a})+ . _Default+ . _Coerce++instance FromJSON SectionStyle where+ parseJSON+ = withObject "SectionStyle"+ (\ o ->+ SectionStyle' <$>+ (o .:? "columnSeparatorStyle") <*>+ (o .:? "contentDirection")+ <*> (o .:? "columnProperties" .!= mempty))++instance ToJSON SectionStyle where+ toJSON SectionStyle'{..}+ = object+ (catMaybes+ [("columnSeparatorStyle" .=) <$>+ _ssColumnSeparatorStyle,+ ("contentDirection" .=) <$> _ssContentDirection,+ ("columnProperties" .=) <$> _ssColumnProperties])++-- | Represents the background of a document.+--+-- /See:/ 'backgRound' smart constructor.+newtype BackgRound =+ BackgRound'+ { _brColor :: Maybe OptionalColor+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'BackgRound' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'brColor'+backgRound+ :: BackgRound+backgRound = BackgRound' {_brColor = Nothing}+++-- | The background color.+brColor :: Lens' BackgRound (Maybe OptionalColor)+brColor = lens _brColor (\ s a -> s{_brColor = a})++instance FromJSON BackgRound where+ parseJSON+ = withObject "BackgRound"+ (\ o -> BackgRound' <$> (o .:? "color"))++instance ToJSON BackgRound where+ toJSON BackgRound'{..}+ = object (catMaybes [("color" .=) <$> _brColor])++-- | A suggested change to ListProperties.+--+-- /See:/ 'suggestedListProperties' smart constructor.+data SuggestedListProperties =+ SuggestedListProperties'+ { _slpListPropertiesSuggestionState :: !(Maybe ListPropertiesSuggestionState)+ , _slpListProperties :: !(Maybe ListProperties)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SuggestedListProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slpListPropertiesSuggestionState'+--+-- * 'slpListProperties'+suggestedListProperties+ :: SuggestedListProperties+suggestedListProperties =+ SuggestedListProperties'+ {_slpListPropertiesSuggestionState = Nothing, _slpListProperties = Nothing}+++-- | A mask that indicates which of the fields on the base ListProperties+-- have been changed in this suggestion.+slpListPropertiesSuggestionState :: Lens' SuggestedListProperties (Maybe ListPropertiesSuggestionState)+slpListPropertiesSuggestionState+ = lens _slpListPropertiesSuggestionState+ (\ s a -> s{_slpListPropertiesSuggestionState = a})++-- | A ListProperties that only includes the changes made in this suggestion.+-- This can be used along with the list_properties_suggestion_state to see+-- which fields have changed and their new values.+slpListProperties :: Lens' SuggestedListProperties (Maybe ListProperties)+slpListProperties+ = lens _slpListProperties+ (\ s a -> s{_slpListProperties = a})++instance FromJSON SuggestedListProperties where+ parseJSON+ = withObject "SuggestedListProperties"+ (\ o ->+ SuggestedListProperties' <$>+ (o .:? "listPropertiesSuggestionState") <*>+ (o .:? "listProperties"))++instance ToJSON SuggestedListProperties where+ toJSON SuggestedListProperties'{..}+ = object+ (catMaybes+ [("listPropertiesSuggestionState" .=) <$>+ _slpListPropertiesSuggestionState,+ ("listProperties" .=) <$> _slpListProperties])++-- | Properties that apply to a section\'s column.+--+-- /See:/ 'sectionColumnProperties' smart constructor.+data SectionColumnProperties =+ SectionColumnProperties'+ { _scpWidth :: !(Maybe Dimension)+ , _scpPaddingEnd :: !(Maybe Dimension)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SectionColumnProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scpWidth'+--+-- * 'scpPaddingEnd'+sectionColumnProperties+ :: SectionColumnProperties+sectionColumnProperties =+ SectionColumnProperties' {_scpWidth = Nothing, _scpPaddingEnd = Nothing}+++-- | The width of the column.+scpWidth :: Lens' SectionColumnProperties (Maybe Dimension)+scpWidth = lens _scpWidth (\ s a -> s{_scpWidth = a})++-- | The padding at the end of the column.+scpPaddingEnd :: Lens' SectionColumnProperties (Maybe Dimension)+scpPaddingEnd+ = lens _scpPaddingEnd+ (\ s a -> s{_scpPaddingEnd = a})++instance FromJSON SectionColumnProperties where+ parseJSON+ = withObject "SectionColumnProperties"+ (\ o ->+ SectionColumnProperties' <$>+ (o .:? "width") <*> (o .:? "paddingEnd"))++instance ToJSON SectionColumnProperties where+ toJSON SectionColumnProperties'{..}+ = object+ (catMaybes+ [("width" .=) <$> _scpWidth,+ ("paddingEnd" .=) <$> _scpPaddingEnd])++-- | Creates bullets for all of the paragraphs that overlap with the given+-- range. The nesting level of each paragraph will be determined by+-- counting leading tabs in front of each paragraph. To avoid excess space+-- between the bullet and the corresponding paragraph, these leading tabs+-- are removed by this request. This may change the indices of parts of the+-- text. If the paragraph immediately before paragraphs being updated is in+-- a list with a matching preset, the paragraphs being updated are added to+-- that preceding list.+--+-- /See:/ 'createParagraphBulletsRequest' smart constructor.+data CreateParagraphBulletsRequest =+ CreateParagraphBulletsRequest'+ { _cpbrBulletPreset :: !(Maybe CreateParagraphBulletsRequestBulletPreset)+ , _cpbrRange :: !(Maybe Range)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateParagraphBulletsRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpbrBulletPreset'+--+-- * 'cpbrRange'+createParagraphBulletsRequest+ :: CreateParagraphBulletsRequest+createParagraphBulletsRequest =+ CreateParagraphBulletsRequest'+ {_cpbrBulletPreset = Nothing, _cpbrRange = Nothing}+++-- | The kinds of bullet glyphs to be used.+cpbrBulletPreset :: Lens' CreateParagraphBulletsRequest (Maybe CreateParagraphBulletsRequestBulletPreset)+cpbrBulletPreset+ = lens _cpbrBulletPreset+ (\ s a -> s{_cpbrBulletPreset = a})++-- | The range to apply the bullet preset to.+cpbrRange :: Lens' CreateParagraphBulletsRequest (Maybe Range)+cpbrRange+ = lens _cpbrRange (\ s a -> s{_cpbrRange = a})++instance FromJSON CreateParagraphBulletsRequest where+ parseJSON+ = withObject "CreateParagraphBulletsRequest"+ (\ o ->+ CreateParagraphBulletsRequest' <$>+ (o .:? "bulletPreset") <*> (o .:? "range"))++instance ToJSON CreateParagraphBulletsRequest where+ toJSON CreateParagraphBulletsRequest'{..}+ = object+ (catMaybes+ [("bulletPreset" .=) <$> _cpbrBulletPreset,+ ("range" .=) <$> _cpbrRange])++-- | The footers in the document, keyed by footer ID.+--+-- /See:/ 'documentFooters' smart constructor.+newtype DocumentFooters =+ DocumentFooters'+ { _dfAddtional :: HashMap Text Footer+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentFooters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfAddtional'+documentFooters+ :: HashMap Text Footer -- ^ 'dfAddtional'+ -> DocumentFooters+documentFooters pDfAddtional_ =+ DocumentFooters' {_dfAddtional = _Coerce # pDfAddtional_}+++dfAddtional :: Lens' DocumentFooters (HashMap Text Footer)+dfAddtional+ = lens _dfAddtional (\ s a -> s{_dfAddtional = a}) .+ _Coerce++instance FromJSON DocumentFooters where+ parseJSON+ = withObject "DocumentFooters"+ (\ o -> DocumentFooters' <$> (parseJSONObject o))++instance ToJSON DocumentFooters where+ toJSON = toJSON . _dfAddtional++-- | Creates a NamedRange referencing the given range.+--+-- /See:/ 'createNamedRangeRequest' smart constructor.+data CreateNamedRangeRequest =+ CreateNamedRangeRequest'+ { _cnrrName :: !(Maybe Text)+ , _cnrrRange :: !(Maybe Range)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateNamedRangeRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cnrrName'+--+-- * 'cnrrRange'+createNamedRangeRequest+ :: CreateNamedRangeRequest+createNamedRangeRequest =+ CreateNamedRangeRequest' {_cnrrName = Nothing, _cnrrRange = Nothing}+++-- | The name of the NamedRange. Names do not need to be unique. Names must+-- be at least 1 character and no more than 256 characters, measured in+-- UTF-16 code units.+cnrrName :: Lens' CreateNamedRangeRequest (Maybe Text)+cnrrName = lens _cnrrName (\ s a -> s{_cnrrName = a})++-- | The range to apply the name to.+cnrrRange :: Lens' CreateNamedRangeRequest (Maybe Range)+cnrrRange+ = lens _cnrrRange (\ s a -> s{_cnrrRange = a})++instance FromJSON CreateNamedRangeRequest where+ parseJSON+ = withObject "CreateNamedRangeRequest"+ (\ o ->+ CreateNamedRangeRequest' <$>+ (o .:? "name") <*> (o .:? "range"))++instance ToJSON CreateNamedRangeRequest where+ toJSON CreateNamedRangeRequest'{..}+ = object+ (catMaybes+ [("name" .=) <$> _cnrrName,+ ("range" .=) <$> _cnrrRange])++-- | A mask that indicates which of the fields on the base TextStyle have+-- been changed in this suggestion. For any field set to true, there is a+-- new suggested value.+--+-- /See:/ 'textStyleSuggestionState' smart constructor.+data TextStyleSuggestionState =+ TextStyleSuggestionState'+ { _tsssItalicSuggested :: !(Maybe Bool)+ , _tsssUnderlineSuggested :: !(Maybe Bool)+ , _tsssFontSizeSuggested :: !(Maybe Bool)+ , _tsssSmallCapsSuggested :: !(Maybe Bool)+ , _tsssForegRoundColorSuggested :: !(Maybe Bool)+ , _tsssBaselineOffSetSuggested :: !(Maybe Bool)+ , _tsssWeightedFontFamilySuggested :: !(Maybe Bool)+ , _tsssStrikethroughSuggested :: !(Maybe Bool)+ , _tsssLinkSuggested :: !(Maybe Bool)+ , _tsssBoldSuggested :: !(Maybe Bool)+ , _tsssBackgRoundColorSuggested :: !(Maybe Bool)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TextStyleSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tsssItalicSuggested'+--+-- * 'tsssUnderlineSuggested'+--+-- * 'tsssFontSizeSuggested'+--+-- * 'tsssSmallCapsSuggested'+--+-- * 'tsssForegRoundColorSuggested'+--+-- * 'tsssBaselineOffSetSuggested'+--+-- * 'tsssWeightedFontFamilySuggested'+--+-- * 'tsssStrikethroughSuggested'+--+-- * 'tsssLinkSuggested'+--+-- * 'tsssBoldSuggested'+--+-- * 'tsssBackgRoundColorSuggested'+textStyleSuggestionState+ :: TextStyleSuggestionState+textStyleSuggestionState =+ TextStyleSuggestionState'+ { _tsssItalicSuggested = Nothing+ , _tsssUnderlineSuggested = Nothing+ , _tsssFontSizeSuggested = Nothing+ , _tsssSmallCapsSuggested = Nothing+ , _tsssForegRoundColorSuggested = Nothing+ , _tsssBaselineOffSetSuggested = Nothing+ , _tsssWeightedFontFamilySuggested = Nothing+ , _tsssStrikethroughSuggested = Nothing+ , _tsssLinkSuggested = Nothing+ , _tsssBoldSuggested = Nothing+ , _tsssBackgRoundColorSuggested = Nothing+ }+++-- | Indicates if there was a suggested change to italic.+tsssItalicSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)+tsssItalicSuggested+ = lens _tsssItalicSuggested+ (\ s a -> s{_tsssItalicSuggested = a})++-- | Indicates if there was a suggested change to underline.+tsssUnderlineSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)+tsssUnderlineSuggested+ = lens _tsssUnderlineSuggested+ (\ s a -> s{_tsssUnderlineSuggested = a})++-- | Indicates if there was a suggested change to font_size.+tsssFontSizeSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)+tsssFontSizeSuggested+ = lens _tsssFontSizeSuggested+ (\ s a -> s{_tsssFontSizeSuggested = a})++-- | Indicates if there was a suggested change to small_caps.+tsssSmallCapsSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)+tsssSmallCapsSuggested+ = lens _tsssSmallCapsSuggested+ (\ s a -> s{_tsssSmallCapsSuggested = a})++-- | Indicates if there was a suggested change to foreground_color.+tsssForegRoundColorSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)+tsssForegRoundColorSuggested+ = lens _tsssForegRoundColorSuggested+ (\ s a -> s{_tsssForegRoundColorSuggested = a})++-- | Indicates if there was a suggested change to baseline_offset.+tsssBaselineOffSetSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)+tsssBaselineOffSetSuggested+ = lens _tsssBaselineOffSetSuggested+ (\ s a -> s{_tsssBaselineOffSetSuggested = a})++-- | Indicates if there was a suggested change to weighted_font_family.+tsssWeightedFontFamilySuggested :: Lens' TextStyleSuggestionState (Maybe Bool)+tsssWeightedFontFamilySuggested+ = lens _tsssWeightedFontFamilySuggested+ (\ s a -> s{_tsssWeightedFontFamilySuggested = a})++-- | Indicates if there was a suggested change to strikethrough.+tsssStrikethroughSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)+tsssStrikethroughSuggested+ = lens _tsssStrikethroughSuggested+ (\ s a -> s{_tsssStrikethroughSuggested = a})++-- | Indicates if there was a suggested change to link.+tsssLinkSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)+tsssLinkSuggested+ = lens _tsssLinkSuggested+ (\ s a -> s{_tsssLinkSuggested = a})++-- | Indicates if there was a suggested change to bold.+tsssBoldSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)+tsssBoldSuggested+ = lens _tsssBoldSuggested+ (\ s a -> s{_tsssBoldSuggested = a})++-- | Indicates if there was a suggested change to background_color.+tsssBackgRoundColorSuggested :: Lens' TextStyleSuggestionState (Maybe Bool)+tsssBackgRoundColorSuggested+ = lens _tsssBackgRoundColorSuggested+ (\ s a -> s{_tsssBackgRoundColorSuggested = a})++instance FromJSON TextStyleSuggestionState where+ parseJSON+ = withObject "TextStyleSuggestionState"+ (\ o ->+ TextStyleSuggestionState' <$>+ (o .:? "italicSuggested") <*>+ (o .:? "underlineSuggested")+ <*> (o .:? "fontSizeSuggested")+ <*> (o .:? "smallCapsSuggested")+ <*> (o .:? "foregroundColorSuggested")+ <*> (o .:? "baselineOffsetSuggested")+ <*> (o .:? "weightedFontFamilySuggested")+ <*> (o .:? "strikethroughSuggested")+ <*> (o .:? "linkSuggested")+ <*> (o .:? "boldSuggested")+ <*> (o .:? "backgroundColorSuggested"))++instance ToJSON TextStyleSuggestionState where+ toJSON TextStyleSuggestionState'{..}+ = object+ (catMaybes+ [("italicSuggested" .=) <$> _tsssItalicSuggested,+ ("underlineSuggested" .=) <$>+ _tsssUnderlineSuggested,+ ("fontSizeSuggested" .=) <$> _tsssFontSizeSuggested,+ ("smallCapsSuggested" .=) <$>+ _tsssSmallCapsSuggested,+ ("foregroundColorSuggested" .=) <$>+ _tsssForegRoundColorSuggested,+ ("baselineOffsetSuggested" .=) <$>+ _tsssBaselineOffSetSuggested,+ ("weightedFontFamilySuggested" .=) <$>+ _tsssWeightedFontFamilySuggested,+ ("strikethroughSuggested" .=) <$>+ _tsssStrikethroughSuggested,+ ("linkSuggested" .=) <$> _tsssLinkSuggested,+ ("boldSuggested" .=) <$> _tsssBoldSuggested,+ ("backgroundColorSuggested" .=) <$>+ _tsssBackgRoundColorSuggested])++-- | A mask that indicates which of the fields on the base NestingLevel have+-- been changed in this suggestion. For any field set to true, there is a+-- new suggested value.+--+-- /See:/ 'nestingLevelSuggestionState' smart constructor.+data NestingLevelSuggestionState =+ NestingLevelSuggestionState'+ { _nlssGlyphFormatSuggested :: !(Maybe Bool)+ , _nlssBulletAlignmentSuggested :: !(Maybe Bool)+ , _nlssGlyphTypeSuggested :: !(Maybe Bool)+ , _nlssStartNumberSuggested :: !(Maybe Bool)+ , _nlssIndentStartSuggested :: !(Maybe Bool)+ , _nlssGlyphSymbolSuggested :: !(Maybe Bool)+ , _nlssIndentFirstLineSuggested :: !(Maybe Bool)+ , _nlssTextStyleSuggestionState :: !(Maybe TextStyleSuggestionState)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'NestingLevelSuggestionState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nlssGlyphFormatSuggested'+--+-- * 'nlssBulletAlignmentSuggested'+--+-- * 'nlssGlyphTypeSuggested'+--+-- * 'nlssStartNumberSuggested'+--+-- * 'nlssIndentStartSuggested'+--+-- * 'nlssGlyphSymbolSuggested'+--+-- * 'nlssIndentFirstLineSuggested'+--+-- * 'nlssTextStyleSuggestionState'+nestingLevelSuggestionState+ :: NestingLevelSuggestionState+nestingLevelSuggestionState =+ NestingLevelSuggestionState'+ { _nlssGlyphFormatSuggested = Nothing+ , _nlssBulletAlignmentSuggested = Nothing+ , _nlssGlyphTypeSuggested = Nothing+ , _nlssStartNumberSuggested = Nothing+ , _nlssIndentStartSuggested = Nothing+ , _nlssGlyphSymbolSuggested = Nothing+ , _nlssIndentFirstLineSuggested = Nothing+ , _nlssTextStyleSuggestionState = Nothing+ }+++-- | Indicates if there was a suggested change to glyph_format.+nlssGlyphFormatSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)+nlssGlyphFormatSuggested+ = lens _nlssGlyphFormatSuggested+ (\ s a -> s{_nlssGlyphFormatSuggested = a})++-- | Indicates if there was a suggested change to bullet_alignment.+nlssBulletAlignmentSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)+nlssBulletAlignmentSuggested+ = lens _nlssBulletAlignmentSuggested+ (\ s a -> s{_nlssBulletAlignmentSuggested = a})++-- | Indicates if there was a suggested change to glyph_type.+nlssGlyphTypeSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)+nlssGlyphTypeSuggested+ = lens _nlssGlyphTypeSuggested+ (\ s a -> s{_nlssGlyphTypeSuggested = a})++-- | Indicates if there was a suggested change to start_number.+nlssStartNumberSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)+nlssStartNumberSuggested+ = lens _nlssStartNumberSuggested+ (\ s a -> s{_nlssStartNumberSuggested = a})++-- | Indicates if there was a suggested change to indent_start.+nlssIndentStartSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)+nlssIndentStartSuggested+ = lens _nlssIndentStartSuggested+ (\ s a -> s{_nlssIndentStartSuggested = a})++-- | Indicates if there was a suggested change to glyph_symbol.+nlssGlyphSymbolSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)+nlssGlyphSymbolSuggested+ = lens _nlssGlyphSymbolSuggested+ (\ s a -> s{_nlssGlyphSymbolSuggested = a})++-- | Indicates if there was a suggested change to indent_first_line.+nlssIndentFirstLineSuggested :: Lens' NestingLevelSuggestionState (Maybe Bool)+nlssIndentFirstLineSuggested+ = lens _nlssIndentFirstLineSuggested+ (\ s a -> s{_nlssIndentFirstLineSuggested = a})++-- | A mask that indicates which of the fields in text style have been+-- changed in this suggestion.+nlssTextStyleSuggestionState :: Lens' NestingLevelSuggestionState (Maybe TextStyleSuggestionState)+nlssTextStyleSuggestionState+ = lens _nlssTextStyleSuggestionState+ (\ s a -> s{_nlssTextStyleSuggestionState = a})++instance FromJSON NestingLevelSuggestionState where+ parseJSON+ = withObject "NestingLevelSuggestionState"+ (\ o ->+ NestingLevelSuggestionState' <$>+ (o .:? "glyphFormatSuggested") <*>+ (o .:? "bulletAlignmentSuggested")+ <*> (o .:? "glyphTypeSuggested")+ <*> (o .:? "startNumberSuggested")+ <*> (o .:? "indentStartSuggested")+ <*> (o .:? "glyphSymbolSuggested")+ <*> (o .:? "indentFirstLineSuggested")+ <*> (o .:? "textStyleSuggestionState"))++instance ToJSON NestingLevelSuggestionState where+ toJSON NestingLevelSuggestionState'{..}+ = object+ (catMaybes+ [("glyphFormatSuggested" .=) <$>+ _nlssGlyphFormatSuggested,+ ("bulletAlignmentSuggested" .=) <$>+ _nlssBulletAlignmentSuggested,+ ("glyphTypeSuggested" .=) <$>+ _nlssGlyphTypeSuggested,+ ("startNumberSuggested" .=) <$>+ _nlssStartNumberSuggested,+ ("indentStartSuggested" .=) <$>+ _nlssIndentStartSuggested,+ ("glyphSymbolSuggested" .=) <$>+ _nlssGlyphSymbolSuggested,+ ("indentFirstLineSuggested" .=) <$>+ _nlssIndentFirstLineSuggested,+ ("textStyleSuggestionState" .=) <$>+ _nlssTextStyleSuggestionState])++-- | Styles that apply to a whole paragraph. Inherited paragraph styles are+-- represented as unset fields in this message. A paragraph style\'s parent+-- depends on where the paragraph style is defined: * The ParagraphStyle on+-- a Paragraph inherits from the paragraph\'s corresponding named style+-- type. * The ParagraphStyle on a named style inherits from the normal+-- text named style. * The ParagraphStyle of the normal text named style+-- inherits from the default paragraph style in the Docs editor. * The+-- ParagraphStyle on a Paragraph element that is contained in a table may+-- inherit its paragraph style from the table style. If the paragraph style+-- does not inherit from a parent, unsetting fields will revert the style+-- to a value matching the defaults in the Docs editor.+--+-- /See:/ 'paragraphStyle' smart constructor.+data ParagraphStyle =+ ParagraphStyle'+ { _psBOrderRight :: !(Maybe ParagraphBOrder)+ , _psKeepLinesTogether :: !(Maybe Bool)+ , _psTabStops :: !(Maybe [TabStop])+ , _psBOrderTop :: !(Maybe ParagraphBOrder)+ , _psLineSpacing :: !(Maybe (Textual Double))+ , _psDirection :: !(Maybe ParagraphStyleDirection)+ , _psIndentFirstLine :: !(Maybe Dimension)+ , _psIndentEnd :: !(Maybe Dimension)+ , _psShading :: !(Maybe Shading)+ , _psAvoidWidowAndOrphan :: !(Maybe Bool)+ , _psNamedStyleType :: !(Maybe ParagraphStyleNamedStyleType)+ , _psIndentStart :: !(Maybe Dimension)+ , _psAlignment :: !(Maybe ParagraphStyleAlignment)+ , _psBOrderLeft :: !(Maybe ParagraphBOrder)+ , _psSpaceBelow :: !(Maybe Dimension)+ , _psSpacingMode :: !(Maybe ParagraphStyleSpacingMode)+ , _psHeadingId :: !(Maybe Text)+ , _psSpaceAbove :: !(Maybe Dimension)+ , _psBOrderBottom :: !(Maybe ParagraphBOrder)+ , _psKeepWithNext :: !(Maybe Bool)+ , _psBOrderBetween :: !(Maybe ParagraphBOrder)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParagraphStyle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psBOrderRight'+--+-- * 'psKeepLinesTogether'+--+-- * 'psTabStops'+--+-- * 'psBOrderTop'+--+-- * 'psLineSpacing'+--+-- * 'psDirection'+--+-- * 'psIndentFirstLine'+--+-- * 'psIndentEnd'+--+-- * 'psShading'+--+-- * 'psAvoidWidowAndOrphan'+--+-- * 'psNamedStyleType'+--+-- * 'psIndentStart'+--+-- * 'psAlignment'+--+-- * 'psBOrderLeft'+--+-- * 'psSpaceBelow'+--+-- * 'psSpacingMode'+--+-- * 'psHeadingId'+--+-- * 'psSpaceAbove'+--+-- * 'psBOrderBottom'+--+-- * 'psKeepWithNext'+--+-- * 'psBOrderBetween'+paragraphStyle+ :: ParagraphStyle+paragraphStyle =+ ParagraphStyle'+ { _psBOrderRight = Nothing+ , _psKeepLinesTogether = Nothing+ , _psTabStops = Nothing+ , _psBOrderTop = Nothing+ , _psLineSpacing = Nothing+ , _psDirection = Nothing+ , _psIndentFirstLine = Nothing+ , _psIndentEnd = Nothing+ , _psShading = Nothing+ , _psAvoidWidowAndOrphan = Nothing+ , _psNamedStyleType = Nothing+ , _psIndentStart = Nothing+ , _psAlignment = Nothing+ , _psBOrderLeft = Nothing+ , _psSpaceBelow = Nothing+ , _psSpacingMode = Nothing+ , _psHeadingId = Nothing+ , _psSpaceAbove = Nothing+ , _psBOrderBottom = Nothing+ , _psKeepWithNext = Nothing+ , _psBOrderBetween = Nothing+ }+++-- | The border to the right of this paragraph. If unset, the value is+-- inherited from the parent. Paragraph borders cannot be partially+-- updated. When making changes to a paragraph border the new border must+-- be specified in its entirety.+psBOrderRight :: Lens' ParagraphStyle (Maybe ParagraphBOrder)+psBOrderRight+ = lens _psBOrderRight+ (\ s a -> s{_psBOrderRight = a})++-- | Whether all lines of the paragraph should be laid out on the same page+-- or column if possible. If unset, the value is inherited from the parent.+psKeepLinesTogether :: Lens' ParagraphStyle (Maybe Bool)+psKeepLinesTogether+ = lens _psKeepLinesTogether+ (\ s a -> s{_psKeepLinesTogether = a})++-- | A list of the tab stops for this paragraph. The list of tab stops is not+-- inherited. This property is read-only.+psTabStops :: Lens' ParagraphStyle [TabStop]+psTabStops+ = lens _psTabStops (\ s a -> s{_psTabStops = a}) .+ _Default+ . _Coerce++-- | The border at the top of this paragraph. If unset, the value is+-- inherited from the parent. The top border is rendered when the paragraph+-- above has different border and indent properties. Paragraph borders+-- cannot be partially updated. When making changes to a paragraph border+-- the new border must be specified in its entirety.+psBOrderTop :: Lens' ParagraphStyle (Maybe ParagraphBOrder)+psBOrderTop+ = lens _psBOrderTop (\ s a -> s{_psBOrderTop = a})++-- | The amount of space between lines, as a percentage of normal, where+-- normal is represented as 100.0. If unset, the value is inherited from+-- the parent.+psLineSpacing :: Lens' ParagraphStyle (Maybe Double)+psLineSpacing+ = lens _psLineSpacing+ (\ s a -> s{_psLineSpacing = a})+ . mapping _Coerce++-- | The text direction of this paragraph. If unset, the value defaults to+-- LEFT_TO_RIGHT since paragraph direction is not inherited.+psDirection :: Lens' ParagraphStyle (Maybe ParagraphStyleDirection)+psDirection+ = lens _psDirection (\ s a -> s{_psDirection = a})++-- | The amount of indentation for the first line of the paragraph. If unset,+-- the value is inherited from the parent.+psIndentFirstLine :: Lens' ParagraphStyle (Maybe Dimension)+psIndentFirstLine+ = lens _psIndentFirstLine+ (\ s a -> s{_psIndentFirstLine = a})++-- | The amount of indentation for the paragraph on the side that corresponds+-- to the end of the text, based on the current paragraph direction. If+-- unset, the value is inherited from the parent.+psIndentEnd :: Lens' ParagraphStyle (Maybe Dimension)+psIndentEnd+ = lens _psIndentEnd (\ s a -> s{_psIndentEnd = a})++-- | The shading of the paragraph. If unset, the value is inherited from the+-- parent.+psShading :: Lens' ParagraphStyle (Maybe Shading)+psShading+ = lens _psShading (\ s a -> s{_psShading = a})++-- | Whether to avoid widows and orphans for the paragraph. If unset, the+-- value is inherited from the parent.+psAvoidWidowAndOrphan :: Lens' ParagraphStyle (Maybe Bool)+psAvoidWidowAndOrphan+ = lens _psAvoidWidowAndOrphan+ (\ s a -> s{_psAvoidWidowAndOrphan = a})++-- | The named style type of the paragraph. Since updating the named style+-- type affects other properties within ParagraphStyle, the named style+-- type is applied before the other properties are updated.+psNamedStyleType :: Lens' ParagraphStyle (Maybe ParagraphStyleNamedStyleType)+psNamedStyleType+ = lens _psNamedStyleType+ (\ s a -> s{_psNamedStyleType = a})++-- | The amount of indentation for the paragraph on the side that corresponds+-- to the start of the text, based on the current paragraph direction. If+-- unset, the value is inherited from the parent.+psIndentStart :: Lens' ParagraphStyle (Maybe Dimension)+psIndentStart+ = lens _psIndentStart+ (\ s a -> s{_psIndentStart = a})++-- | The text alignment for this paragraph.+psAlignment :: Lens' ParagraphStyle (Maybe ParagraphStyleAlignment)+psAlignment+ = lens _psAlignment (\ s a -> s{_psAlignment = a})++-- | The border to the left of this paragraph. If unset, the value is+-- inherited from the parent. Paragraph borders cannot be partially+-- updated. When making changes to a paragraph border the new border must+-- be specified in its entirety.+psBOrderLeft :: Lens' ParagraphStyle (Maybe ParagraphBOrder)+psBOrderLeft+ = lens _psBOrderLeft (\ s a -> s{_psBOrderLeft = a})++-- | The amount of extra space below the paragraph. If unset, the value is+-- inherited from the parent.+psSpaceBelow :: Lens' ParagraphStyle (Maybe Dimension)+psSpaceBelow+ = lens _psSpaceBelow (\ s a -> s{_psSpaceBelow = a})++-- | The spacing mode for the paragraph.+psSpacingMode :: Lens' ParagraphStyle (Maybe ParagraphStyleSpacingMode)+psSpacingMode+ = lens _psSpacingMode+ (\ s a -> s{_psSpacingMode = a})++-- | The heading ID of the paragraph. If empty, then this paragraph is not a+-- heading. This property is read-only.+psHeadingId :: Lens' ParagraphStyle (Maybe Text)+psHeadingId+ = lens _psHeadingId (\ s a -> s{_psHeadingId = a})++-- | The amount of extra space above the paragraph. If unset, the value is+-- inherited from the parent.+psSpaceAbove :: Lens' ParagraphStyle (Maybe Dimension)+psSpaceAbove+ = lens _psSpaceAbove (\ s a -> s{_psSpaceAbove = a})++-- | The border at the bottom of this paragraph. If unset, the value is+-- inherited from the parent. The bottom border is rendered when the+-- paragraph below has different border and indent properties. Paragraph+-- borders cannot be partially updated. When making changes to a paragraph+-- border the new border must be specified in its entirety.+psBOrderBottom :: Lens' ParagraphStyle (Maybe ParagraphBOrder)+psBOrderBottom+ = lens _psBOrderBottom+ (\ s a -> s{_psBOrderBottom = a})++-- | Whether at least a part of this paragraph should be laid out on the same+-- page or column as the next paragraph if possible. If unset, the value is+-- inherited from the parent.+psKeepWithNext :: Lens' ParagraphStyle (Maybe Bool)+psKeepWithNext+ = lens _psKeepWithNext+ (\ s a -> s{_psKeepWithNext = a})++-- | The border between this paragraph and the next and previous paragraphs.+-- If unset, the value is inherited from the parent. The between border is+-- rendered when the adjacent paragraph has the same border and indent+-- properties. Paragraph borders cannot be partially updated. When making+-- changes to a paragraph border the new border must be specified in its+-- entirety.+psBOrderBetween :: Lens' ParagraphStyle (Maybe ParagraphBOrder)+psBOrderBetween+ = lens _psBOrderBetween+ (\ s a -> s{_psBOrderBetween = a})++instance FromJSON ParagraphStyle where+ parseJSON+ = withObject "ParagraphStyle"+ (\ o ->+ ParagraphStyle' <$>+ (o .:? "borderRight") <*> (o .:? "keepLinesTogether")+ <*> (o .:? "tabStops" .!= mempty)+ <*> (o .:? "borderTop")+ <*> (o .:? "lineSpacing")+ <*> (o .:? "direction")+ <*> (o .:? "indentFirstLine")+ <*> (o .:? "indentEnd")+ <*> (o .:? "shading")+ <*> (o .:? "avoidWidowAndOrphan")+ <*> (o .:? "namedStyleType")+ <*> (o .:? "indentStart")+ <*> (o .:? "alignment")+ <*> (o .:? "borderLeft")+ <*> (o .:? "spaceBelow")+ <*> (o .:? "spacingMode")+ <*> (o .:? "headingId")+ <*> (o .:? "spaceAbove")+ <*> (o .:? "borderBottom")+ <*> (o .:? "keepWithNext")+ <*> (o .:? "borderBetween"))++instance ToJSON ParagraphStyle where+ toJSON ParagraphStyle'{..}+ = object+ (catMaybes+ [("borderRight" .=) <$> _psBOrderRight,+ ("keepLinesTogether" .=) <$> _psKeepLinesTogether,+ ("tabStops" .=) <$> _psTabStops,+ ("borderTop" .=) <$> _psBOrderTop,+ ("lineSpacing" .=) <$> _psLineSpacing,+ ("direction" .=) <$> _psDirection,+ ("indentFirstLine" .=) <$> _psIndentFirstLine,+ ("indentEnd" .=) <$> _psIndentEnd,+ ("shading" .=) <$> _psShading,+ ("avoidWidowAndOrphan" .=) <$>+ _psAvoidWidowAndOrphan,+ ("namedStyleType" .=) <$> _psNamedStyleType,+ ("indentStart" .=) <$> _psIndentStart,+ ("alignment" .=) <$> _psAlignment,+ ("borderLeft" .=) <$> _psBOrderLeft,+ ("spaceBelow" .=) <$> _psSpaceBelow,+ ("spacingMode" .=) <$> _psSpacingMode,+ ("headingId" .=) <$> _psHeadingId,+ ("spaceAbove" .=) <$> _psSpaceAbove,+ ("borderBottom" .=) <$> _psBOrderBottom,+ ("keepWithNext" .=) <$> _psKeepWithNext,+ ("borderBetween" .=) <$> _psBOrderBetween])++-- | A suggested change to PositionedObjectProperties.+--+-- /See:/ 'suggestedPositionedObjectProperties' smart constructor.+data SuggestedPositionedObjectProperties =+ SuggestedPositionedObjectProperties'+ { _spopPositionedObjectProperties :: !(Maybe PositionedObjectProperties)+ , _spopPositionedObjectPropertiesSuggestionState :: !(Maybe PositionedObjectPropertiesSuggestionState)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SuggestedPositionedObjectProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spopPositionedObjectProperties'+--+-- * 'spopPositionedObjectPropertiesSuggestionState'+suggestedPositionedObjectProperties+ :: SuggestedPositionedObjectProperties+suggestedPositionedObjectProperties =+ SuggestedPositionedObjectProperties'+ { _spopPositionedObjectProperties = Nothing+ , _spopPositionedObjectPropertiesSuggestionState = Nothing+ }+++-- | A PositionedObjectProperties that only includes the changes made in this+-- suggestion. This can be used along with the+-- positioned_object_properties_suggestion_state to see which fields have+-- changed and their new values.+spopPositionedObjectProperties :: Lens' SuggestedPositionedObjectProperties (Maybe PositionedObjectProperties)+spopPositionedObjectProperties+ = lens _spopPositionedObjectProperties+ (\ s a -> s{_spopPositionedObjectProperties = a})++-- | A mask that indicates which of the fields on the base+-- PositionedObjectProperties have been changed in this suggestion.+spopPositionedObjectPropertiesSuggestionState :: Lens' SuggestedPositionedObjectProperties (Maybe PositionedObjectPropertiesSuggestionState)+spopPositionedObjectPropertiesSuggestionState+ = lens _spopPositionedObjectPropertiesSuggestionState+ (\ s a ->+ s{_spopPositionedObjectPropertiesSuggestionState =+ a})++instance FromJSON SuggestedPositionedObjectProperties+ where+ parseJSON+ = withObject "SuggestedPositionedObjectProperties"+ (\ o ->+ SuggestedPositionedObjectProperties' <$>+ (o .:? "positionedObjectProperties") <*>+ (o .:? "positionedObjectPropertiesSuggestionState"))++instance ToJSON SuggestedPositionedObjectProperties+ where+ toJSON SuggestedPositionedObjectProperties'{..}+ = object+ (catMaybes+ [("positionedObjectProperties" .=) <$>+ _spopPositionedObjectProperties,+ ("positionedObjectPropertiesSuggestionState" .=) <$>+ _spopPositionedObjectPropertiesSuggestionState])++-- | The properties of a column in a table.+--+-- /See:/ 'tableColumnProperties' smart constructor.+data TableColumnProperties =+ TableColumnProperties'+ { _tcpWidth :: !(Maybe Dimension)+ , _tcpWidthType :: !(Maybe TableColumnPropertiesWidthType)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TableColumnProperties' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcpWidth'+--+-- * 'tcpWidthType'+tableColumnProperties+ :: TableColumnProperties+tableColumnProperties =+ TableColumnProperties' {_tcpWidth = Nothing, _tcpWidthType = Nothing}+++-- | The width of the column. Set when the column\'s \`width_type\` is+-- FIXED_WIDTH.+tcpWidth :: Lens' TableColumnProperties (Maybe Dimension)+tcpWidth = lens _tcpWidth (\ s a -> s{_tcpWidth = a})++-- | The width type of the column.+tcpWidthType :: Lens' TableColumnProperties (Maybe TableColumnPropertiesWidthType)+tcpWidthType+ = lens _tcpWidthType (\ s a -> s{_tcpWidthType = a})++instance FromJSON TableColumnProperties where+ parseJSON+ = withObject "TableColumnProperties"+ (\ o ->+ TableColumnProperties' <$>+ (o .:? "width") <*> (o .:? "widthType"))++instance ToJSON TableColumnProperties where+ toJSON TableColumnProperties'{..}+ = object+ (catMaybes+ [("width" .=) <$> _tcpWidth,+ ("widthType" .=) <$> _tcpWidthType])++-- | Update the styling of all paragraphs that overlap with the given range.+--+-- /See:/ 'updateParagraphStyleRequest' smart constructor.+data UpdateParagraphStyleRequest =+ UpdateParagraphStyleRequest'+ { _upsrRange :: !(Maybe Range)+ , _upsrFields :: !(Maybe GFieldMask)+ , _upsrParagraphStyle :: !(Maybe ParagraphStyle)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateParagraphStyleRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'upsrRange'+--+-- * 'upsrFields'+--+-- * 'upsrParagraphStyle'+updateParagraphStyleRequest+ :: UpdateParagraphStyleRequest+updateParagraphStyleRequest =+ UpdateParagraphStyleRequest'+ {_upsrRange = Nothing, _upsrFields = Nothing, _upsrParagraphStyle = Nothing}+++-- | The range overlapping the paragraphs to style.+upsrRange :: Lens' UpdateParagraphStyleRequest (Maybe Range)+upsrRange+ = lens _upsrRange (\ s a -> s{_upsrRange = a})++-- | The fields that should be updated. At least one field must be specified.+-- The root \`paragraph_style\` is implied and should not be specified. For+-- example, to update the paragraph style\'s alignment property, set+-- \`fields\` to \`\"alignment\"\`. To reset a property to its default+-- value, include its field name in the field mask but leave the field+-- itself unset.+upsrFields :: Lens' UpdateParagraphStyleRequest (Maybe GFieldMask)+upsrFields+ = lens _upsrFields (\ s a -> s{_upsrFields = a})++-- | The styles to set on the paragraphs. Certain paragraph style changes may+-- cause other changes in order to mirror the behavior of the Docs editor.+-- See the documentation of ParagraphStyle for more information.+upsrParagraphStyle :: Lens' UpdateParagraphStyleRequest (Maybe ParagraphStyle)+upsrParagraphStyle+ = lens _upsrParagraphStyle+ (\ s a -> s{_upsrParagraphStyle = a})++instance FromJSON UpdateParagraphStyleRequest where+ parseJSON+ = withObject "UpdateParagraphStyleRequest"+ (\ o ->+ UpdateParagraphStyleRequest' <$>+ (o .:? "range") <*> (o .:? "fields") <*>+ (o .:? "paragraphStyle"))++instance ToJSON UpdateParagraphStyleRequest where+ toJSON UpdateParagraphStyleRequest'{..}+ = object+ (catMaybes+ [("range" .=) <$> _upsrRange,+ ("fields" .=) <$> _upsrFields,+ ("paragraphStyle" .=) <$> _upsrParagraphStyle])++-- | Replaces all instances of text matching a criteria with replace text.+--+-- /See:/ 'replaceAllTextRequest' smart constructor.+data ReplaceAllTextRequest =+ ReplaceAllTextRequest'+ { _ratrContainsText :: !(Maybe SubstringMatchCriteria)+ , _ratrReplaceText :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ReplaceAllTextRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ratrContainsText'+--+-- * 'ratrReplaceText'+replaceAllTextRequest+ :: ReplaceAllTextRequest+replaceAllTextRequest =+ ReplaceAllTextRequest'+ {_ratrContainsText = Nothing, _ratrReplaceText = Nothing}+++-- | Finds text in the document matching this substring.+ratrContainsText :: Lens' ReplaceAllTextRequest (Maybe SubstringMatchCriteria)+ratrContainsText+ = lens _ratrContainsText+ (\ s a -> s{_ratrContainsText = a})++-- | The text that will replace the matched text.+ratrReplaceText :: Lens' ReplaceAllTextRequest (Maybe Text)+ratrReplaceText+ = lens _ratrReplaceText+ (\ s a -> s{_ratrReplaceText = a})++instance FromJSON ReplaceAllTextRequest where+ parseJSON+ = withObject "ReplaceAllTextRequest"+ (\ o ->+ ReplaceAllTextRequest' <$>+ (o .:? "containsText") <*> (o .:? "replaceText"))++instance ToJSON ReplaceAllTextRequest where+ toJSON ReplaceAllTextRequest'{..}+ = object+ (catMaybes+ [("containsText" .=) <$> _ratrContainsText,+ ("replaceText" .=) <$> _ratrReplaceText])++-- | The positioned objects in the document, keyed by object ID.+--+-- /See:/ 'documentPositionedObjects' smart constructor.+newtype DocumentPositionedObjects =+ DocumentPositionedObjects'+ { _dpoAddtional :: HashMap Text PositionedObject+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentPositionedObjects' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpoAddtional'+documentPositionedObjects+ :: HashMap Text PositionedObject -- ^ 'dpoAddtional'+ -> DocumentPositionedObjects+documentPositionedObjects pDpoAddtional_ =+ DocumentPositionedObjects' {_dpoAddtional = _Coerce # pDpoAddtional_}+++dpoAddtional :: Lens' DocumentPositionedObjects (HashMap Text PositionedObject)+dpoAddtional+ = lens _dpoAddtional (\ s a -> s{_dpoAddtional = a})+ . _Coerce++instance FromJSON DocumentPositionedObjects where+ parseJSON+ = withObject "DocumentPositionedObjects"+ (\ o ->+ DocumentPositionedObjects' <$> (parseJSONObject o))++instance ToJSON DocumentPositionedObjects where+ toJSON = toJSON . _dpoAddtional++-- | A single update to apply to a document.+--+-- /See:/ 'request'' smart constructor.+data Request' =+ Request''+ { _reqDeletePositionedObject :: !(Maybe DeletePositionedObjectRequest)+ , _reqCreateParagraphBullets :: !(Maybe CreateParagraphBulletsRequest)+ , _reqInsertText :: !(Maybe InsertTextRequest)+ , _reqDeleteParagraphBullets :: !(Maybe DeleteParagraphBulletsRequest)+ , _reqDeleteTableRow :: !(Maybe DeleteTableRowRequest)+ , _reqDeleteNamedRange :: !(Maybe DeleteNamedRangeRequest)+ , _reqReplaceAllText :: !(Maybe ReplaceAllTextRequest)+ , _reqUpdateParagraphStyle :: !(Maybe UpdateParagraphStyleRequest)+ , _reqCreateNamedRange :: !(Maybe CreateNamedRangeRequest)+ , _reqInsertPageBreak :: !(Maybe InsertPageBreakRequest)+ , _reqDeleteTableColumn :: !(Maybe DeleteTableColumnRequest)+ , _reqInsertInlineImage :: !(Maybe InsertInlineImageRequest)+ , _reqDeleteContentRange :: !(Maybe DeleteContentRangeRequest)+ , _reqInsertTableRow :: !(Maybe InsertTableRowRequest)+ , _reqUpdateTextStyle :: !(Maybe UpdateTextStyleRequest)+ , _reqInsertTable :: !(Maybe InsertTableRequest)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Request' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'reqDeletePositionedObject'+--+-- * 'reqCreateParagraphBullets'+--+-- * 'reqInsertText'+--+-- * 'reqDeleteParagraphBullets'+--+-- * 'reqDeleteTableRow'+--+-- * 'reqDeleteNamedRange'+--+-- * 'reqReplaceAllText'+--+-- * 'reqUpdateParagraphStyle'+--+-- * 'reqCreateNamedRange'+--+-- * 'reqInsertPageBreak'+--+-- * 'reqDeleteTableColumn'+--+-- * 'reqInsertInlineImage'+--+-- * 'reqDeleteContentRange'+--+-- * 'reqInsertTableRow'+--+-- * 'reqUpdateTextStyle'+--+-- * 'reqInsertTable'+request'+ :: Request'+request' =+ Request''+ { _reqDeletePositionedObject = Nothing+ , _reqCreateParagraphBullets = Nothing+ , _reqInsertText = Nothing+ , _reqDeleteParagraphBullets = Nothing+ , _reqDeleteTableRow = Nothing+ , _reqDeleteNamedRange = Nothing+ , _reqReplaceAllText = Nothing+ , _reqUpdateParagraphStyle = Nothing+ , _reqCreateNamedRange = Nothing+ , _reqInsertPageBreak = Nothing+ , _reqDeleteTableColumn = Nothing+ , _reqInsertInlineImage = Nothing+ , _reqDeleteContentRange = Nothing+ , _reqInsertTableRow = Nothing+ , _reqUpdateTextStyle = Nothing+ , _reqInsertTable = Nothing+ }+++-- | Deletes a positioned object from the document.+reqDeletePositionedObject :: Lens' Request' (Maybe DeletePositionedObjectRequest)+reqDeletePositionedObject+ = lens _reqDeletePositionedObject+ (\ s a -> s{_reqDeletePositionedObject = a})++-- | Creates bullets for paragraphs.+reqCreateParagraphBullets :: Lens' Request' (Maybe CreateParagraphBulletsRequest)+reqCreateParagraphBullets+ = lens _reqCreateParagraphBullets+ (\ s a -> s{_reqCreateParagraphBullets = a})++-- | Inserts text at the specified location.+reqInsertText :: Lens' Request' (Maybe InsertTextRequest)+reqInsertText+ = lens _reqInsertText+ (\ s a -> s{_reqInsertText = a})++-- | Deletes bullets from paragraphs.+reqDeleteParagraphBullets :: Lens' Request' (Maybe DeleteParagraphBulletsRequest)+reqDeleteParagraphBullets+ = lens _reqDeleteParagraphBullets+ (\ s a -> s{_reqDeleteParagraphBullets = a})++-- | Deletes a row from a table.+reqDeleteTableRow :: Lens' Request' (Maybe DeleteTableRowRequest)+reqDeleteTableRow+ = lens _reqDeleteTableRow+ (\ s a -> s{_reqDeleteTableRow = a})++-- | Deletes a named range.+reqDeleteNamedRange :: Lens' Request' (Maybe DeleteNamedRangeRequest)+reqDeleteNamedRange+ = lens _reqDeleteNamedRange+ (\ s a -> s{_reqDeleteNamedRange = a})++-- | Replaces all instances of the specified text.+reqReplaceAllText :: Lens' Request' (Maybe ReplaceAllTextRequest)+reqReplaceAllText+ = lens _reqReplaceAllText+ (\ s a -> s{_reqReplaceAllText = a})++-- | Updates the paragraph style at the specified range.+reqUpdateParagraphStyle :: Lens' Request' (Maybe UpdateParagraphStyleRequest)+reqUpdateParagraphStyle+ = lens _reqUpdateParagraphStyle+ (\ s a -> s{_reqUpdateParagraphStyle = a})++-- | Creates a named range.+reqCreateNamedRange :: Lens' Request' (Maybe CreateNamedRangeRequest)+reqCreateNamedRange+ = lens _reqCreateNamedRange+ (\ s a -> s{_reqCreateNamedRange = a})++-- | Inserts a page break at the specified location.+reqInsertPageBreak :: Lens' Request' (Maybe InsertPageBreakRequest)+reqInsertPageBreak+ = lens _reqInsertPageBreak+ (\ s a -> s{_reqInsertPageBreak = a})++-- | Deletes a column from a table.+reqDeleteTableColumn :: Lens' Request' (Maybe DeleteTableColumnRequest)+reqDeleteTableColumn+ = lens _reqDeleteTableColumn+ (\ s a -> s{_reqDeleteTableColumn = a})++-- | Inserts an inline image at the specified location.+reqInsertInlineImage :: Lens' Request' (Maybe InsertInlineImageRequest)+reqInsertInlineImage+ = lens _reqInsertInlineImage+ (\ s a -> s{_reqInsertInlineImage = a})++-- | Deletes content from the document.+reqDeleteContentRange :: Lens' Request' (Maybe DeleteContentRangeRequest)+reqDeleteContentRange+ = lens _reqDeleteContentRange+ (\ s a -> s{_reqDeleteContentRange = a})++-- | Inserts an empty row into a table.+reqInsertTableRow :: Lens' Request' (Maybe InsertTableRowRequest)+reqInsertTableRow+ = lens _reqInsertTableRow+ (\ s a -> s{_reqInsertTableRow = a})++-- | Updates the text style at the specified range.+reqUpdateTextStyle :: Lens' Request' (Maybe UpdateTextStyleRequest)+reqUpdateTextStyle+ = lens _reqUpdateTextStyle+ (\ s a -> s{_reqUpdateTextStyle = a})++-- | Inserts a table at the specified location.+reqInsertTable :: Lens' Request' (Maybe InsertTableRequest)+reqInsertTable+ = lens _reqInsertTable+ (\ s a -> s{_reqInsertTable = a})++instance FromJSON Request' where+ parseJSON+ = withObject "Request"+ (\ o ->+ Request'' <$>+ (o .:? "deletePositionedObject") <*>+ (o .:? "createParagraphBullets")+ <*> (o .:? "insertText")+ <*> (o .:? "deleteParagraphBullets")+ <*> (o .:? "deleteTableRow")+ <*> (o .:? "deleteNamedRange")+ <*> (o .:? "replaceAllText")+ <*> (o .:? "updateParagraphStyle")+ <*> (o .:? "createNamedRange")+ <*> (o .:? "insertPageBreak")+ <*> (o .:? "deleteTableColumn")+ <*> (o .:? "insertInlineImage")+ <*> (o .:? "deleteContentRange")+ <*> (o .:? "insertTableRow")+ <*> (o .:? "updateTextStyle")+ <*> (o .:? "insertTable"))++instance ToJSON Request' where+ toJSON Request''{..}+ = object+ (catMaybes+ [("deletePositionedObject" .=) <$>+ _reqDeletePositionedObject,+ ("createParagraphBullets" .=) <$>+ _reqCreateParagraphBullets,+ ("insertText" .=) <$> _reqInsertText,+ ("deleteParagraphBullets" .=) <$>+ _reqDeleteParagraphBullets,+ ("deleteTableRow" .=) <$> _reqDeleteTableRow,+ ("deleteNamedRange" .=) <$> _reqDeleteNamedRange,+ ("replaceAllText" .=) <$> _reqReplaceAllText,+ ("updateParagraphStyle" .=) <$>+ _reqUpdateParagraphStyle,+ ("createNamedRange" .=) <$> _reqCreateNamedRange,+ ("insertPageBreak" .=) <$> _reqInsertPageBreak,+ ("deleteTableColumn" .=) <$> _reqDeleteTableColumn,+ ("insertInlineImage" .=) <$> _reqInsertInlineImage,+ ("deleteContentRange" .=) <$> _reqDeleteContentRange,+ ("insertTableRow" .=) <$> _reqInsertTableRow,+ ("updateTextStyle" .=) <$> _reqUpdateTextStyle,+ ("insertTable" .=) <$> _reqInsertTable])++-- | The suggested changes to the positioned object properties, keyed by+-- suggestion ID.+--+-- /See:/ 'positionedObjectSuggestedPositionedObjectPropertiesChanges' smart constructor.+newtype PositionedObjectSuggestedPositionedObjectPropertiesChanges =+ PositionedObjectSuggestedPositionedObjectPropertiesChanges'+ { _pospopcAddtional :: HashMap Text SuggestedPositionedObjectProperties+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PositionedObjectSuggestedPositionedObjectPropertiesChanges' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pospopcAddtional'+positionedObjectSuggestedPositionedObjectPropertiesChanges+ :: HashMap Text SuggestedPositionedObjectProperties -- ^ 'pospopcAddtional'+ -> PositionedObjectSuggestedPositionedObjectPropertiesChanges+positionedObjectSuggestedPositionedObjectPropertiesChanges pPospopcAddtional_ =+ PositionedObjectSuggestedPositionedObjectPropertiesChanges'+ {_pospopcAddtional = _Coerce # pPospopcAddtional_}+++pospopcAddtional :: Lens' PositionedObjectSuggestedPositionedObjectPropertiesChanges (HashMap Text SuggestedPositionedObjectProperties)+pospopcAddtional+ = lens _pospopcAddtional+ (\ s a -> s{_pospopcAddtional = a})+ . _Coerce++instance FromJSON+ PositionedObjectSuggestedPositionedObjectPropertiesChanges+ where+ parseJSON+ = withObject+ "PositionedObjectSuggestedPositionedObjectPropertiesChanges"+ (\ o ->+ PositionedObjectSuggestedPositionedObjectPropertiesChanges'+ <$> (parseJSONObject o))++instance ToJSON+ PositionedObjectSuggestedPositionedObjectPropertiesChanges+ where+ toJSON = toJSON . _pospopcAddtional++-- | A criteria that matches a specific string of text in the document.+--+-- /See:/ 'substringMatchCriteria' smart constructor.+data SubstringMatchCriteria =+ SubstringMatchCriteria'+ { _smcMatchCase :: !(Maybe Bool)+ , _smcText :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'SubstringMatchCriteria' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smcMatchCase'+--+-- * 'smcText'+substringMatchCriteria+ :: SubstringMatchCriteria+substringMatchCriteria =+ SubstringMatchCriteria' {_smcMatchCase = Nothing, _smcText = Nothing}+++-- | Indicates whether the search should respect case: - \`True\`: the search+-- is case sensitive. - \`False\`: the search is case insensitive.+smcMatchCase :: Lens' SubstringMatchCriteria (Maybe Bool)+smcMatchCase+ = lens _smcMatchCase (\ s a -> s{_smcMatchCase = a})++-- | The text to search for in the document.+smcText :: Lens' SubstringMatchCriteria (Maybe Text)+smcText = lens _smcText (\ s a -> s{_smcText = a})++instance FromJSON SubstringMatchCriteria where+ parseJSON+ = withObject "SubstringMatchCriteria"+ (\ o ->+ SubstringMatchCriteria' <$>+ (o .:? "matchCase") <*> (o .:? "text"))++instance ToJSON SubstringMatchCriteria where+ toJSON SubstringMatchCriteria'{..}+ = object+ (catMaybes+ [("matchCase" .=) <$> _smcMatchCase,+ ("text" .=) <$> _smcText])
+ gen/Network/Google/Docs/Types/Sum.hs view
@@ -0,0 +1,1157 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Docs.Types.Sum+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.Google.Docs.Types.Sum where++import Network.Google.Prelude hiding (Bytes)++-- | The text direction of this paragraph. If unset, the value defaults to+-- LEFT_TO_RIGHT since paragraph direction is not inherited.+data ParagraphStyleDirection+ = ContentDirectionUnspecified+ -- ^ @CONTENT_DIRECTION_UNSPECIFIED@+ -- The content direction is unspecified.+ | LeftToRight+ -- ^ @LEFT_TO_RIGHT@+ -- The content goes from left to right.+ | RightToLeft+ -- ^ @RIGHT_TO_LEFT@+ -- The content goes from right to left.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ParagraphStyleDirection++instance FromHttpApiData ParagraphStyleDirection where+ parseQueryParam = \case+ "CONTENT_DIRECTION_UNSPECIFIED" -> Right ContentDirectionUnspecified+ "LEFT_TO_RIGHT" -> Right LeftToRight+ "RIGHT_TO_LEFT" -> Right RightToLeft+ x -> Left ("Unable to parse ParagraphStyleDirection from: " <> x)++instance ToHttpApiData ParagraphStyleDirection where+ toQueryParam = \case+ ContentDirectionUnspecified -> "CONTENT_DIRECTION_UNSPECIFIED"+ LeftToRight -> "LEFT_TO_RIGHT"+ RightToLeft -> "RIGHT_TO_LEFT"++instance FromJSON ParagraphStyleDirection where+ parseJSON = parseJSONText "ParagraphStyleDirection"++instance ToJSON ParagraphStyleDirection where+ toJSON = toJSONText++-- | The text\'s vertical offset from its normal position. Text with+-- \`SUPERSCRIPT\` or \`SUBSCRIPT\` baseline offsets is automatically+-- rendered in a smaller font size, computed based on the \`font_size\`+-- field. The \`font_size\` itself is not affected by changes in this+-- field.+data TextStyleBaselineOffSet+ = BaselineOffSetUnspecified+ -- ^ @BASELINE_OFFSET_UNSPECIFIED@+ -- The text\'s baseline offset is inherited from the parent.+ | None+ -- ^ @NONE@+ -- The text is not vertically offset.+ | Superscript+ -- ^ @SUPERSCRIPT@+ -- The text is vertically offset upwards (superscript).+ | Subscript+ -- ^ @SUBSCRIPT@+ -- The text is vertically offset downwards (subscript).+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TextStyleBaselineOffSet++instance FromHttpApiData TextStyleBaselineOffSet where+ parseQueryParam = \case+ "BASELINE_OFFSET_UNSPECIFIED" -> Right BaselineOffSetUnspecified+ "NONE" -> Right None+ "SUPERSCRIPT" -> Right Superscript+ "SUBSCRIPT" -> Right Subscript+ x -> Left ("Unable to parse TextStyleBaselineOffSet from: " <> x)++instance ToHttpApiData TextStyleBaselineOffSet where+ toQueryParam = \case+ BaselineOffSetUnspecified -> "BASELINE_OFFSET_UNSPECIFIED"+ None -> "NONE"+ Superscript -> "SUPERSCRIPT"+ Subscript -> "SUBSCRIPT"++instance FromJSON TextStyleBaselineOffSet where+ parseJSON = parseJSONText "TextStyleBaselineOffSet"++instance ToJSON TextStyleBaselineOffSet where+ toJSON = toJSONText++-- | The width type of the column.+data TableColumnPropertiesWidthType+ = WidthTypeUnspecified+ -- ^ @WIDTH_TYPE_UNSPECIFIED@+ -- The column width type is unspecified.+ | EvenlyDistributed+ -- ^ @EVENLY_DISTRIBUTED@+ -- The column width is evenly distributed among the other evenly distrubted+ -- columns. The width of the column is automatically determined and will+ -- have an equal portion of the width remaining for the table after+ -- accounting for all columns with specified widths.+ | FixedWidth+ -- ^ @FIXED_WIDTH@+ -- A fixed column width. The width property contains the column\'s width.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TableColumnPropertiesWidthType++instance FromHttpApiData TableColumnPropertiesWidthType where+ parseQueryParam = \case+ "WIDTH_TYPE_UNSPECIFIED" -> Right WidthTypeUnspecified+ "EVENLY_DISTRIBUTED" -> Right EvenlyDistributed+ "FIXED_WIDTH" -> Right FixedWidth+ x -> Left ("Unable to parse TableColumnPropertiesWidthType from: " <> x)++instance ToHttpApiData TableColumnPropertiesWidthType where+ toQueryParam = \case+ WidthTypeUnspecified -> "WIDTH_TYPE_UNSPECIFIED"+ EvenlyDistributed -> "EVENLY_DISTRIBUTED"+ FixedWidth -> "FIXED_WIDTH"++instance FromJSON TableColumnPropertiesWidthType where+ parseJSON = parseJSONText "TableColumnPropertiesWidthType"++instance ToJSON TableColumnPropertiesWidthType where+ toJSON = toJSONText++-- | The kinds of bullet glyphs to be used.+data CreateParagraphBulletsRequestBulletPreset+ = BulletGlyphPresetUnspecified+ -- ^ @BULLET_GLYPH_PRESET_UNSPECIFIED@+ -- The bullet glyph preset is unspecified.+ | BulletDiscCircleSquare+ -- ^ @BULLET_DISC_CIRCLE_SQUARE@+ -- A bulleted list with a \`DISC\`, \`CIRCLE\` and \`SQUARE\` bullet glyph+ -- for the first 3 list nesting levels.+ | BulletDiamondxARROW3DSquare+ -- ^ @BULLET_DIAMONDX_ARROW3D_SQUARE@+ -- A bulleted list with a \`DIAMONDX\`, \`ARROW3D\` and \`SQUARE\` bullet+ -- glyph for the first 3 list nesting levels.+ | BulletCheckbox+ -- ^ @BULLET_CHECKBOX@+ -- A bulleted list with \`CHECKBOX\` bullet glyphs for all list nesting+ -- levels.+ | BulletArrowDiamondDisc+ -- ^ @BULLET_ARROW_DIAMOND_DISC@+ -- A bulleted list with a \`ARROW\`, \`DIAMOND\` and \`DISC\` bullet glyph+ -- for the first 3 list nesting levels.+ | BulletStarCircleSquare+ -- ^ @BULLET_STAR_CIRCLE_SQUARE@+ -- A bulleted list with a \`STAR\`, \`CIRCLE\` and \`SQUARE\` bullet glyph+ -- for the first 3 list nesting levels.+ | BulletARROW3DCircleSquare+ -- ^ @BULLET_ARROW3D_CIRCLE_SQUARE@+ -- A bulleted list with a \`ARROW3D\`, \`CIRCLE\` and \`SQUARE\` bullet+ -- glyph for the first 3 list nesting levels.+ | BulletLefttriangleDiamondDisc+ -- ^ @BULLET_LEFTTRIANGLE_DIAMOND_DISC@+ -- A bulleted list with a \`LEFTTRIANGLE\`, \`DIAMOND\` and \`DISC\` bullet+ -- glyph for the first 3 list nesting levels.+ | BulletDiamondxHollowdiamondSquare+ -- ^ @BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE@+ -- A bulleted list with a \`DIAMONDX\`, \`HOLLOWDIAMOND\` and \`SQUARE\`+ -- bullet glyph for the first 3 list nesting levels.+ | BulletDiamondCircleSquare+ -- ^ @BULLET_DIAMOND_CIRCLE_SQUARE@+ -- A bulleted list with a \`DIAMOND\`, \`CIRCLE\` and \`SQUARE\` bullet+ -- glyph for the first 3 list nesting levels.+ | NumberedDecimalAlphaRoman+ -- ^ @NUMBERED_DECIMAL_ALPHA_ROMAN@+ -- A numbered list with \`DECIMAL\`, \`ALPHA\` and \`ROMAN\` numeric glyphs+ -- for the first 3 list nesting levels, followed by periods.+ | NumberedDecimalAlphaRomanParens+ -- ^ @NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS@+ -- A numbered list with \`DECIMAL\`, \`ALPHA\` and \`ROMAN\` numeric glyphs+ -- for the first 3 list nesting levels, followed by parenthesis.+ | NumberedDecimalNested+ -- ^ @NUMBERED_DECIMAL_NESTED@+ -- A numbered list with \`DECIMAL\` numeric glyphs separated by periods,+ -- where each nesting level uses the previous nesting level\'s glyph as a+ -- prefix. For example: \'1.\', \'1.1.\', \'2.\', \'2.2.\'.+ | NumberedUpperalphaAlphaRoman+ -- ^ @NUMBERED_UPPERALPHA_ALPHA_ROMAN@+ -- A numbered list with \`UPPERALPHA\`, \`ALPHA\` and \`ROMAN\` numeric+ -- glyphs for the first 3 list nesting levels, followed by periods.+ | NumberedUpperromanUpperalphaDecimal+ -- ^ @NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL@+ -- A numbered list with \`UPPERROMAN\`, \`UPPERALPHA\` and \`DECIMAL\`+ -- numeric glyphs for the first 3 list nesting levels, followed by periods.+ | NumberedZerodecimalAlphaRoman+ -- ^ @NUMBERED_ZERODECIMAL_ALPHA_ROMAN@+ -- A numbered list with \`ZERODECIMAL\`, \`ALPHA\` and \`ROMAN\` numeric+ -- glyphs for the first 3 list nesting levels, followed by periods.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable CreateParagraphBulletsRequestBulletPreset++instance FromHttpApiData CreateParagraphBulletsRequestBulletPreset where+ parseQueryParam = \case+ "BULLET_GLYPH_PRESET_UNSPECIFIED" -> Right BulletGlyphPresetUnspecified+ "BULLET_DISC_CIRCLE_SQUARE" -> Right BulletDiscCircleSquare+ "BULLET_DIAMONDX_ARROW3D_SQUARE" -> Right BulletDiamondxARROW3DSquare+ "BULLET_CHECKBOX" -> Right BulletCheckbox+ "BULLET_ARROW_DIAMOND_DISC" -> Right BulletArrowDiamondDisc+ "BULLET_STAR_CIRCLE_SQUARE" -> Right BulletStarCircleSquare+ "BULLET_ARROW3D_CIRCLE_SQUARE" -> Right BulletARROW3DCircleSquare+ "BULLET_LEFTTRIANGLE_DIAMOND_DISC" -> Right BulletLefttriangleDiamondDisc+ "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE" -> Right BulletDiamondxHollowdiamondSquare+ "BULLET_DIAMOND_CIRCLE_SQUARE" -> Right BulletDiamondCircleSquare+ "NUMBERED_DECIMAL_ALPHA_ROMAN" -> Right NumberedDecimalAlphaRoman+ "NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS" -> Right NumberedDecimalAlphaRomanParens+ "NUMBERED_DECIMAL_NESTED" -> Right NumberedDecimalNested+ "NUMBERED_UPPERALPHA_ALPHA_ROMAN" -> Right NumberedUpperalphaAlphaRoman+ "NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL" -> Right NumberedUpperromanUpperalphaDecimal+ "NUMBERED_ZERODECIMAL_ALPHA_ROMAN" -> Right NumberedZerodecimalAlphaRoman+ x -> Left ("Unable to parse CreateParagraphBulletsRequestBulletPreset from: " <> x)++instance ToHttpApiData CreateParagraphBulletsRequestBulletPreset where+ toQueryParam = \case+ BulletGlyphPresetUnspecified -> "BULLET_GLYPH_PRESET_UNSPECIFIED"+ BulletDiscCircleSquare -> "BULLET_DISC_CIRCLE_SQUARE"+ BulletDiamondxARROW3DSquare -> "BULLET_DIAMONDX_ARROW3D_SQUARE"+ BulletCheckbox -> "BULLET_CHECKBOX"+ BulletArrowDiamondDisc -> "BULLET_ARROW_DIAMOND_DISC"+ BulletStarCircleSquare -> "BULLET_STAR_CIRCLE_SQUARE"+ BulletARROW3DCircleSquare -> "BULLET_ARROW3D_CIRCLE_SQUARE"+ BulletLefttriangleDiamondDisc -> "BULLET_LEFTTRIANGLE_DIAMOND_DISC"+ BulletDiamondxHollowdiamondSquare -> "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE"+ BulletDiamondCircleSquare -> "BULLET_DIAMOND_CIRCLE_SQUARE"+ NumberedDecimalAlphaRoman -> "NUMBERED_DECIMAL_ALPHA_ROMAN"+ NumberedDecimalAlphaRomanParens -> "NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS"+ NumberedDecimalNested -> "NUMBERED_DECIMAL_NESTED"+ NumberedUpperalphaAlphaRoman -> "NUMBERED_UPPERALPHA_ALPHA_ROMAN"+ NumberedUpperromanUpperalphaDecimal -> "NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL"+ NumberedZerodecimalAlphaRoman -> "NUMBERED_ZERODECIMAL_ALPHA_ROMAN"++instance FromJSON CreateParagraphBulletsRequestBulletPreset where+ parseJSON = parseJSONText "CreateParagraphBulletsRequestBulletPreset"++instance ToJSON CreateParagraphBulletsRequestBulletPreset where+ toJSON = toJSONText++-- | The dash style of the border.+data TableCellBOrderDashStyle+ = DashStyleUnspecified+ -- ^ @DASH_STYLE_UNSPECIFIED@+ -- Unspecified dash style.+ | Solid+ -- ^ @SOLID@+ -- Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value+ -- \'solid\'. This is the default dash style.+ | Dot+ -- ^ @DOT@+ -- Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dot\'.+ | Dash+ -- ^ @DASH@+ -- Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value+ -- \'dash\'.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TableCellBOrderDashStyle++instance FromHttpApiData TableCellBOrderDashStyle where+ parseQueryParam = \case+ "DASH_STYLE_UNSPECIFIED" -> Right DashStyleUnspecified+ "SOLID" -> Right Solid+ "DOT" -> Right Dot+ "DASH" -> Right Dash+ x -> Left ("Unable to parse TableCellBOrderDashStyle from: " <> x)++instance ToHttpApiData TableCellBOrderDashStyle where+ toQueryParam = \case+ DashStyleUnspecified -> "DASH_STYLE_UNSPECIFIED"+ Solid -> "SOLID"+ Dot -> "DOT"+ Dash -> "DASH"++instance FromJSON TableCellBOrderDashStyle where+ parseJSON = parseJSONText "TableCellBOrderDashStyle"++instance ToJSON TableCellBOrderDashStyle where+ toJSON = toJSONText++-- | The named style type of the paragraph. Since updating the named style+-- type affects other properties within ParagraphStyle, the named style+-- type is applied before the other properties are updated.+data ParagraphStyleNamedStyleType+ = NamedStyleTypeUnspecified+ -- ^ @NAMED_STYLE_TYPE_UNSPECIFIED@+ -- The type of named style is unspecified.+ | NormalText+ -- ^ @NORMAL_TEXT@+ -- Normal text.+ | Title+ -- ^ @TITLE@+ -- Title.+ | Subtitle+ -- ^ @SUBTITLE@+ -- Subtitle.+ | Heading1+ -- ^ @HEADING_1@+ -- Heading 1.+ | Heading2+ -- ^ @HEADING_2@+ -- Heading 2.+ | Heading3+ -- ^ @HEADING_3@+ -- Heading 3.+ | Heading4+ -- ^ @HEADING_4@+ -- Heading 4.+ | Heading5+ -- ^ @HEADING_5@+ -- Heading 5.+ | Heading6+ -- ^ @HEADING_6@+ -- Heading 6.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ParagraphStyleNamedStyleType++instance FromHttpApiData ParagraphStyleNamedStyleType where+ parseQueryParam = \case+ "NAMED_STYLE_TYPE_UNSPECIFIED" -> Right NamedStyleTypeUnspecified+ "NORMAL_TEXT" -> Right NormalText+ "TITLE" -> Right Title+ "SUBTITLE" -> Right Subtitle+ "HEADING_1" -> Right Heading1+ "HEADING_2" -> Right Heading2+ "HEADING_3" -> Right Heading3+ "HEADING_4" -> Right Heading4+ "HEADING_5" -> Right Heading5+ "HEADING_6" -> Right Heading6+ x -> Left ("Unable to parse ParagraphStyleNamedStyleType from: " <> x)++instance ToHttpApiData ParagraphStyleNamedStyleType where+ toQueryParam = \case+ NamedStyleTypeUnspecified -> "NAMED_STYLE_TYPE_UNSPECIFIED"+ NormalText -> "NORMAL_TEXT"+ Title -> "TITLE"+ Subtitle -> "SUBTITLE"+ Heading1 -> "HEADING_1"+ Heading2 -> "HEADING_2"+ Heading3 -> "HEADING_3"+ Heading4 -> "HEADING_4"+ Heading5 -> "HEADING_5"+ Heading6 -> "HEADING_6"++instance FromJSON ParagraphStyleNamedStyleType where+ parseJSON = parseJSONText "ParagraphStyleNamedStyleType"++instance ToJSON ParagraphStyleNamedStyleType where+ toJSON = toJSONText++-- | The alignment of this tab stop. If unset, the value defaults to START.+data TabStopAlignment+ = TabStopAlignmentUnspecified+ -- ^ @TAB_STOP_ALIGNMENT_UNSPECIFIED@+ -- The tab stop alignment is unspecified.+ | Start+ -- ^ @START@+ -- The tab stop is aligned to the start of the line. This is the default.+ | Center+ -- ^ @CENTER@+ -- The tab stop is aligned to the center of the line.+ | End+ -- ^ @END@+ -- The tab stop is aligned to the end of the line.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TabStopAlignment++instance FromHttpApiData TabStopAlignment where+ parseQueryParam = \case+ "TAB_STOP_ALIGNMENT_UNSPECIFIED" -> Right TabStopAlignmentUnspecified+ "START" -> Right Start+ "CENTER" -> Right Center+ "END" -> Right End+ x -> Left ("Unable to parse TabStopAlignment from: " <> x)++instance ToHttpApiData TabStopAlignment where+ toQueryParam = \case+ TabStopAlignmentUnspecified -> "TAB_STOP_ALIGNMENT_UNSPECIFIED"+ Start -> "START"+ Center -> "CENTER"+ End -> "END"++instance FromJSON TabStopAlignment where+ parseJSON = parseJSONText "TabStopAlignment"++instance ToJSON TabStopAlignment where+ toJSON = toJSONText++-- | The type of glyph used by bullets when paragraphs at this level of+-- nesting are ordered. The glyph type determines the type of glyph used to+-- replace placeholders within the glyph_format when paragraphs at this+-- level of nesting are ordered. For example, if the nesting level is 0,+-- the glyph_format is \`%0.\` and the glyph type is DECIMAL, then the+-- rendered glyph would replace the placeholder \`%0\` in the glyph format+-- with a number corresponding to list item\'s order within the list.+data NestingLevelGlyphType+ = NLGTGlyphTypeUnspecified+ -- ^ @GLYPH_TYPE_UNSPECIFIED@+ -- The glyph type is unspecified or unsupported.+ | NLGTNone+ -- ^ @NONE@+ -- An empty string.+ | NLGTDecimal+ -- ^ @DECIMAL@+ -- A number, like \`1\`, \`2\`, or \`3\`.+ | NLGTZeroDecimal+ -- ^ @ZERO_DECIMAL@+ -- A number where single digit numbers are prefixed with a zero, like+ -- \`01\`, \`02\`, or \`03\`. Numbers with more than one digit are not+ -- prefixed with a zero.+ | NLGTUpperAlpha+ -- ^ @UPPER_ALPHA@+ -- An uppercase letter, like \`A\`, \`B\`, or \`C\`.+ | NLGTAlpha+ -- ^ @ALPHA@+ -- A lowercase letter, like \`a\`, \`b\`, or \`c\`.+ | NLGTUpperRoman+ -- ^ @UPPER_ROMAN@+ -- An uppercase Roman numeral, like \`I\`, \`II\`, or \`III\`.+ | NLGTRoman+ -- ^ @ROMAN@+ -- A lowercase Roman numeral, like \`i\`, \`ii\`, or \`iii\`.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable NestingLevelGlyphType++instance FromHttpApiData NestingLevelGlyphType where+ parseQueryParam = \case+ "GLYPH_TYPE_UNSPECIFIED" -> Right NLGTGlyphTypeUnspecified+ "NONE" -> Right NLGTNone+ "DECIMAL" -> Right NLGTDecimal+ "ZERO_DECIMAL" -> Right NLGTZeroDecimal+ "UPPER_ALPHA" -> Right NLGTUpperAlpha+ "ALPHA" -> Right NLGTAlpha+ "UPPER_ROMAN" -> Right NLGTUpperRoman+ "ROMAN" -> Right NLGTRoman+ x -> Left ("Unable to parse NestingLevelGlyphType from: " <> x)++instance ToHttpApiData NestingLevelGlyphType where+ toQueryParam = \case+ NLGTGlyphTypeUnspecified -> "GLYPH_TYPE_UNSPECIFIED"+ NLGTNone -> "NONE"+ NLGTDecimal -> "DECIMAL"+ NLGTZeroDecimal -> "ZERO_DECIMAL"+ NLGTUpperAlpha -> "UPPER_ALPHA"+ NLGTAlpha -> "ALPHA"+ NLGTUpperRoman -> "UPPER_ROMAN"+ NLGTRoman -> "ROMAN"++instance FromJSON NestingLevelGlyphType where+ parseJSON = parseJSONText "NestingLevelGlyphType"++instance ToJSON NestingLevelGlyphType where+ toJSON = toJSONText++-- | The dash style of the border.+data ParagraphBOrderDashStyle+ = PBODSDashStyleUnspecified+ -- ^ @DASH_STYLE_UNSPECIFIED@+ -- Unspecified dash style.+ | PBODSSolid+ -- ^ @SOLID@+ -- Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value+ -- \'solid\'. This is the default dash style.+ | PBODSDot+ -- ^ @DOT@+ -- Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dot\'.+ | PBODSDash+ -- ^ @DASH@+ -- Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value+ -- \'dash\'.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ParagraphBOrderDashStyle++instance FromHttpApiData ParagraphBOrderDashStyle where+ parseQueryParam = \case+ "DASH_STYLE_UNSPECIFIED" -> Right PBODSDashStyleUnspecified+ "SOLID" -> Right PBODSSolid+ "DOT" -> Right PBODSDot+ "DASH" -> Right PBODSDash+ x -> Left ("Unable to parse ParagraphBOrderDashStyle from: " <> x)++instance ToHttpApiData ParagraphBOrderDashStyle where+ toQueryParam = \case+ PBODSDashStyleUnspecified -> "DASH_STYLE_UNSPECIFIED"+ PBODSSolid -> "SOLID"+ PBODSDot -> "DOT"+ PBODSDash -> "DASH"++instance FromJSON ParagraphBOrderDashStyle where+ parseJSON = parseJSONText "ParagraphBOrderDashStyle"++instance ToJSON ParagraphBOrderDashStyle where+ toJSON = toJSONText++-- | The text alignment for this paragraph.+data ParagraphStyleAlignment+ = PSAAlignmentUnspecified+ -- ^ @ALIGNMENT_UNSPECIFIED@+ -- The paragraph alignment is inherited from the parent.+ | PSAStart+ -- ^ @START@+ -- The paragraph is aligned to the start of the line. Left-aligned for LTR+ -- text, right-aligned otherwise.+ | PSACenter+ -- ^ @CENTER@+ -- The paragraph is centered.+ | PSAEnd+ -- ^ @END@+ -- The paragraph is aligned to the end of the line. Right-aligned for LTR+ -- text, left-aligned otherwise.+ | PSAJustified+ -- ^ @JUSTIFIED@+ -- The paragraph is justified.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ParagraphStyleAlignment++instance FromHttpApiData ParagraphStyleAlignment where+ parseQueryParam = \case+ "ALIGNMENT_UNSPECIFIED" -> Right PSAAlignmentUnspecified+ "START" -> Right PSAStart+ "CENTER" -> Right PSACenter+ "END" -> Right PSAEnd+ "JUSTIFIED" -> Right PSAJustified+ x -> Left ("Unable to parse ParagraphStyleAlignment from: " <> x)++instance ToHttpApiData ParagraphStyleAlignment where+ toQueryParam = \case+ PSAAlignmentUnspecified -> "ALIGNMENT_UNSPECIFIED"+ PSAStart -> "START"+ PSACenter -> "CENTER"+ PSAEnd -> "END"+ PSAJustified -> "JUSTIFIED"++instance FromJSON ParagraphStyleAlignment where+ parseJSON = parseJSONText "ParagraphStyleAlignment"++instance ToJSON ParagraphStyleAlignment where+ toJSON = toJSONText++-- | The property state of the border property.+data EmbeddedObjectBOrderPropertyState+ = Rendered+ -- ^ @RENDERED@+ -- If a property\'s state is RENDERED, then the element has the+ -- corresponding property when rendered in the document. This is the+ -- default value.+ | NotRendered+ -- ^ @NOT_RENDERED@+ -- If a property\'s state is NOT_RENDERED, then the element does not have+ -- the corresponding property when rendered in the document.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable EmbeddedObjectBOrderPropertyState++instance FromHttpApiData EmbeddedObjectBOrderPropertyState where+ parseQueryParam = \case+ "RENDERED" -> Right Rendered+ "NOT_RENDERED" -> Right NotRendered+ x -> Left ("Unable to parse EmbeddedObjectBOrderPropertyState from: " <> x)++instance ToHttpApiData EmbeddedObjectBOrderPropertyState where+ toQueryParam = \case+ Rendered -> "RENDERED"+ NotRendered -> "NOT_RENDERED"++instance FromJSON EmbeddedObjectBOrderPropertyState where+ parseJSON = parseJSONText "EmbeddedObjectBOrderPropertyState"++instance ToJSON EmbeddedObjectBOrderPropertyState where+ toJSON = toJSONText++-- | The style of column separators. This style can be set even when there is+-- one column in the section.+data SectionStyleColumnSeparatorStyle+ = SSCSSColumnSeparatorStyleUnspecified+ -- ^ @COLUMN_SEPARATOR_STYLE_UNSPECIFIED@+ -- An unspecified column separator style.+ | SSCSSNone+ -- ^ @NONE@+ -- No column separator lines between columns.+ | SSCSSBetweenEachColumn+ -- ^ @BETWEEN_EACH_COLUMN@+ -- Renders a column separator line between each column.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SectionStyleColumnSeparatorStyle++instance FromHttpApiData SectionStyleColumnSeparatorStyle where+ parseQueryParam = \case+ "COLUMN_SEPARATOR_STYLE_UNSPECIFIED" -> Right SSCSSColumnSeparatorStyleUnspecified+ "NONE" -> Right SSCSSNone+ "BETWEEN_EACH_COLUMN" -> Right SSCSSBetweenEachColumn+ x -> Left ("Unable to parse SectionStyleColumnSeparatorStyle from: " <> x)++instance ToHttpApiData SectionStyleColumnSeparatorStyle where+ toQueryParam = \case+ SSCSSColumnSeparatorStyleUnspecified -> "COLUMN_SEPARATOR_STYLE_UNSPECIFIED"+ SSCSSNone -> "NONE"+ SSCSSBetweenEachColumn -> "BETWEEN_EACH_COLUMN"++instance FromJSON SectionStyleColumnSeparatorStyle where+ parseJSON = parseJSONText "SectionStyleColumnSeparatorStyle"++instance ToJSON SectionStyleColumnSeparatorStyle where+ toJSON = toJSONText++-- | V1 error format.+data Xgafv+ = X1+ -- ^ @1@+ -- v1 error format+ | X2+ -- ^ @2@+ -- v2 error format+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable Xgafv++instance FromHttpApiData Xgafv where+ parseQueryParam = \case+ "1" -> Right X1+ "2" -> Right X2+ x -> Left ("Unable to parse Xgafv from: " <> x)++instance ToHttpApiData Xgafv where+ toQueryParam = \case+ X1 -> "1"+ X2 -> "2"++instance FromJSON Xgafv where+ parseJSON = parseJSONText "Xgafv"++instance ToJSON Xgafv where+ toJSON = toJSONText++-- | The type of this auto text.+data AutoTextType+ = TypeUnspecified+ -- ^ @TYPE_UNSPECIFIED@+ -- An unspecified auto text type.+ | PageNumber+ -- ^ @PAGE_NUMBER@+ -- Type for auto text that represents the current page number.+ | PageCount+ -- ^ @PAGE_COUNT@+ -- Type for auto text that represents the total number of pages in the+ -- document.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable AutoTextType++instance FromHttpApiData AutoTextType where+ parseQueryParam = \case+ "TYPE_UNSPECIFIED" -> Right TypeUnspecified+ "PAGE_NUMBER" -> Right PageNumber+ "PAGE_COUNT" -> Right PageCount+ x -> Left ("Unable to parse AutoTextType from: " <> x)++instance ToHttpApiData AutoTextType where+ toQueryParam = \case+ TypeUnspecified -> "TYPE_UNSPECIFIED"+ PageNumber -> "PAGE_NUMBER"+ PageCount -> "PAGE_COUNT"++instance FromJSON AutoTextType where+ parseJSON = parseJSONText "AutoTextType"++instance ToJSON AutoTextType where+ toJSON = toJSONText++-- | The content direction of this section. If unset, the value defaults to+-- LEFT_TO_RIGHT.+data SectionStyleContentDirection+ = SSCDContentDirectionUnspecified+ -- ^ @CONTENT_DIRECTION_UNSPECIFIED@+ -- The content direction is unspecified.+ | SSCDLeftToRight+ -- ^ @LEFT_TO_RIGHT@+ -- The content goes from left to right.+ | SSCDRightToLeft+ -- ^ @RIGHT_TO_LEFT@+ -- The content goes from right to left.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable SectionStyleContentDirection++instance FromHttpApiData SectionStyleContentDirection where+ parseQueryParam = \case+ "CONTENT_DIRECTION_UNSPECIFIED" -> Right SSCDContentDirectionUnspecified+ "LEFT_TO_RIGHT" -> Right SSCDLeftToRight+ "RIGHT_TO_LEFT" -> Right SSCDRightToLeft+ x -> Left ("Unable to parse SectionStyleContentDirection from: " <> x)++instance ToHttpApiData SectionStyleContentDirection where+ toQueryParam = \case+ SSCDContentDirectionUnspecified -> "CONTENT_DIRECTION_UNSPECIFIED"+ SSCDLeftToRight -> "LEFT_TO_RIGHT"+ SSCDRightToLeft -> "RIGHT_TO_LEFT"++instance FromJSON SectionStyleContentDirection where+ parseJSON = parseJSONText "SectionStyleContentDirection"++instance ToJSON SectionStyleContentDirection where+ toJSON = toJSONText++-- | The type of this named style.+data NamedStyleNamedStyleType+ = NSNSTNamedStyleTypeUnspecified+ -- ^ @NAMED_STYLE_TYPE_UNSPECIFIED@+ -- The type of named style is unspecified.+ | NSNSTNormalText+ -- ^ @NORMAL_TEXT@+ -- Normal text.+ | NSNSTTitle+ -- ^ @TITLE@+ -- Title.+ | NSNSTSubtitle+ -- ^ @SUBTITLE@+ -- Subtitle.+ | NSNSTHeading1+ -- ^ @HEADING_1@+ -- Heading 1.+ | NSNSTHeading2+ -- ^ @HEADING_2@+ -- Heading 2.+ | NSNSTHeading3+ -- ^ @HEADING_3@+ -- Heading 3.+ | NSNSTHeading4+ -- ^ @HEADING_4@+ -- Heading 4.+ | NSNSTHeading5+ -- ^ @HEADING_5@+ -- Heading 5.+ | NSNSTHeading6+ -- ^ @HEADING_6@+ -- Heading 6.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable NamedStyleNamedStyleType++instance FromHttpApiData NamedStyleNamedStyleType where+ parseQueryParam = \case+ "NAMED_STYLE_TYPE_UNSPECIFIED" -> Right NSNSTNamedStyleTypeUnspecified+ "NORMAL_TEXT" -> Right NSNSTNormalText+ "TITLE" -> Right NSNSTTitle+ "SUBTITLE" -> Right NSNSTSubtitle+ "HEADING_1" -> Right NSNSTHeading1+ "HEADING_2" -> Right NSNSTHeading2+ "HEADING_3" -> Right NSNSTHeading3+ "HEADING_4" -> Right NSNSTHeading4+ "HEADING_5" -> Right NSNSTHeading5+ "HEADING_6" -> Right NSNSTHeading6+ x -> Left ("Unable to parse NamedStyleNamedStyleType from: " <> x)++instance ToHttpApiData NamedStyleNamedStyleType where+ toQueryParam = \case+ NSNSTNamedStyleTypeUnspecified -> "NAMED_STYLE_TYPE_UNSPECIFIED"+ NSNSTNormalText -> "NORMAL_TEXT"+ NSNSTTitle -> "TITLE"+ NSNSTSubtitle -> "SUBTITLE"+ NSNSTHeading1 -> "HEADING_1"+ NSNSTHeading2 -> "HEADING_2"+ NSNSTHeading3 -> "HEADING_3"+ NSNSTHeading4 -> "HEADING_4"+ NSNSTHeading5 -> "HEADING_5"+ NSNSTHeading6 -> "HEADING_6"++instance FromJSON NamedStyleNamedStyleType where+ parseJSON = parseJSONText "NamedStyleNamedStyleType"++instance ToJSON NamedStyleNamedStyleType where+ toJSON = toJSONText++-- | The spacing mode for the paragraph.+data ParagraphStyleSpacingMode+ = SpacingModeUnspecified+ -- ^ @SPACING_MODE_UNSPECIFIED@+ -- The spacing mode is inherited from the parent.+ | NeverCollapse+ -- ^ @NEVER_COLLAPSE@+ -- Paragraph spacing is always rendered.+ | CollapseLists+ -- ^ @COLLAPSE_LISTS@+ -- Paragraph spacing is skipped between list elements.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable ParagraphStyleSpacingMode++instance FromHttpApiData ParagraphStyleSpacingMode where+ parseQueryParam = \case+ "SPACING_MODE_UNSPECIFIED" -> Right SpacingModeUnspecified+ "NEVER_COLLAPSE" -> Right NeverCollapse+ "COLLAPSE_LISTS" -> Right CollapseLists+ x -> Left ("Unable to parse ParagraphStyleSpacingMode from: " <> x)++instance ToHttpApiData ParagraphStyleSpacingMode where+ toQueryParam = \case+ SpacingModeUnspecified -> "SPACING_MODE_UNSPECIFIED"+ NeverCollapse -> "NEVER_COLLAPSE"+ CollapseLists -> "COLLAPSE_LISTS"++instance FromJSON ParagraphStyleSpacingMode where+ parseJSON = parseJSONText "ParagraphStyleSpacingMode"++instance ToJSON ParagraphStyleSpacingMode where+ toJSON = toJSONText++-- | The alignment of the bullet within the space allotted for rendering the+-- bullet.+data NestingLevelBulletAlignment+ = NLBABulletAlignmentUnspecified+ -- ^ @BULLET_ALIGNMENT_UNSPECIFIED@+ -- The bullet alignment is unspecified.+ | NLBAStart+ -- ^ @START@+ -- The bullet is aligned to the start of the space allotted for rendering+ -- the bullet. Left-aligned for LTR text, right-aligned otherwise.+ | NLBACenter+ -- ^ @CENTER@+ -- The bullet is aligned to the center of the space allotted for rendering+ -- the bullet.+ | NLBAEnd+ -- ^ @END@+ -- The bullet is aligned to the end of the space allotted for rendering the+ -- bullet. Right-aligned for LTR text, left-aligned otherwise.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable NestingLevelBulletAlignment++instance FromHttpApiData NestingLevelBulletAlignment where+ parseQueryParam = \case+ "BULLET_ALIGNMENT_UNSPECIFIED" -> Right NLBABulletAlignmentUnspecified+ "START" -> Right NLBAStart+ "CENTER" -> Right NLBACenter+ "END" -> Right NLBAEnd+ x -> Left ("Unable to parse NestingLevelBulletAlignment from: " <> x)++instance ToHttpApiData NestingLevelBulletAlignment where+ toQueryParam = \case+ NLBABulletAlignmentUnspecified -> "BULLET_ALIGNMENT_UNSPECIFIED"+ NLBAStart -> "START"+ NLBACenter -> "CENTER"+ NLBAEnd -> "END"++instance FromJSON NestingLevelBulletAlignment where+ parseJSON = parseJSONText "NestingLevelBulletAlignment"++instance ToJSON NestingLevelBulletAlignment where+ toJSON = toJSONText++-- | The named style type that this suggestion state corresponds to. This+-- field is provided as a convenience for matching the+-- NamedStyleSuggestionState with its corresponding NamedStyle.+data NamedStyleSuggestionStateNamedStyleType+ = NSSSNSTNamedStyleTypeUnspecified+ -- ^ @NAMED_STYLE_TYPE_UNSPECIFIED@+ -- The type of named style is unspecified.+ | NSSSNSTNormalText+ -- ^ @NORMAL_TEXT@+ -- Normal text.+ | NSSSNSTTitle+ -- ^ @TITLE@+ -- Title.+ | NSSSNSTSubtitle+ -- ^ @SUBTITLE@+ -- Subtitle.+ | NSSSNSTHeading1+ -- ^ @HEADING_1@+ -- Heading 1.+ | NSSSNSTHeading2+ -- ^ @HEADING_2@+ -- Heading 2.+ | NSSSNSTHeading3+ -- ^ @HEADING_3@+ -- Heading 3.+ | NSSSNSTHeading4+ -- ^ @HEADING_4@+ -- Heading 4.+ | NSSSNSTHeading5+ -- ^ @HEADING_5@+ -- Heading 5.+ | NSSSNSTHeading6+ -- ^ @HEADING_6@+ -- Heading 6.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable NamedStyleSuggestionStateNamedStyleType++instance FromHttpApiData NamedStyleSuggestionStateNamedStyleType where+ parseQueryParam = \case+ "NAMED_STYLE_TYPE_UNSPECIFIED" -> Right NSSSNSTNamedStyleTypeUnspecified+ "NORMAL_TEXT" -> Right NSSSNSTNormalText+ "TITLE" -> Right NSSSNSTTitle+ "SUBTITLE" -> Right NSSSNSTSubtitle+ "HEADING_1" -> Right NSSSNSTHeading1+ "HEADING_2" -> Right NSSSNSTHeading2+ "HEADING_3" -> Right NSSSNSTHeading3+ "HEADING_4" -> Right NSSSNSTHeading4+ "HEADING_5" -> Right NSSSNSTHeading5+ "HEADING_6" -> Right NSSSNSTHeading6+ x -> Left ("Unable to parse NamedStyleSuggestionStateNamedStyleType from: " <> x)++instance ToHttpApiData NamedStyleSuggestionStateNamedStyleType where+ toQueryParam = \case+ NSSSNSTNamedStyleTypeUnspecified -> "NAMED_STYLE_TYPE_UNSPECIFIED"+ NSSSNSTNormalText -> "NORMAL_TEXT"+ NSSSNSTTitle -> "TITLE"+ NSSSNSTSubtitle -> "SUBTITLE"+ NSSSNSTHeading1 -> "HEADING_1"+ NSSSNSTHeading2 -> "HEADING_2"+ NSSSNSTHeading3 -> "HEADING_3"+ NSSSNSTHeading4 -> "HEADING_4"+ NSSSNSTHeading5 -> "HEADING_5"+ NSSSNSTHeading6 -> "HEADING_6"++instance FromJSON NamedStyleSuggestionStateNamedStyleType where+ parseJSON = parseJSONText "NamedStyleSuggestionStateNamedStyleType"++instance ToJSON NamedStyleSuggestionStateNamedStyleType where+ toJSON = toJSONText++-- | The dash style of the border.+data EmbeddedObjectBOrderDashStyle+ = EOBODSDashStyleUnspecified+ -- ^ @DASH_STYLE_UNSPECIFIED@+ -- Unspecified dash style.+ | EOBODSSolid+ -- ^ @SOLID@+ -- Solid line. Corresponds to ECMA-376 ST_PresetLineDashVal value+ -- \'solid\'. This is the default dash style.+ | EOBODSDot+ -- ^ @DOT@+ -- Dotted line. Corresponds to ECMA-376 ST_PresetLineDashVal value \'dot\'.+ | EOBODSDash+ -- ^ @DASH@+ -- Dashed line. Corresponds to ECMA-376 ST_PresetLineDashVal value+ -- \'dash\'.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable EmbeddedObjectBOrderDashStyle++instance FromHttpApiData EmbeddedObjectBOrderDashStyle where+ parseQueryParam = \case+ "DASH_STYLE_UNSPECIFIED" -> Right EOBODSDashStyleUnspecified+ "SOLID" -> Right EOBODSSolid+ "DOT" -> Right EOBODSDot+ "DASH" -> Right EOBODSDash+ x -> Left ("Unable to parse EmbeddedObjectBOrderDashStyle from: " <> x)++instance ToHttpApiData EmbeddedObjectBOrderDashStyle where+ toQueryParam = \case+ EOBODSDashStyleUnspecified -> "DASH_STYLE_UNSPECIFIED"+ EOBODSSolid -> "SOLID"+ EOBODSDot -> "DOT"+ EOBODSDash -> "DASH"++instance FromJSON EmbeddedObjectBOrderDashStyle where+ parseJSON = parseJSONText "EmbeddedObjectBOrderDashStyle"++instance ToJSON EmbeddedObjectBOrderDashStyle where+ toJSON = toJSONText++-- | The suggestions view mode applied to the document. Note: When editing a+-- document, changes must be based on a document with SUGGESTIONS_INLINE.+data DocumentSuggestionsViewMode+ = DefaultForCurrentAccess+ -- ^ @DEFAULT_FOR_CURRENT_ACCESS@+ -- The SuggestionsViewMode applied to the returned document depends on the+ -- user\'s current access level. If the user only has view access,+ -- PREVIEW_WITHOUT_SUGGESTIONS is applied. Otherwise, SUGGESTIONS_INLINE is+ -- applied. This is the default suggestions view mode.+ | SuggestionsInline+ -- ^ @SUGGESTIONS_INLINE@+ -- The returned document has suggestions inline. Suggested changes will be+ -- differentiated from base content within the document. Requests to+ -- retrieve a document using this mode will return a 403 error if the user+ -- does not have permission to view suggested changes.+ | PreviewSuggestionsAccepted+ -- ^ @PREVIEW_SUGGESTIONS_ACCEPTED@+ -- The returned document is a preview with all suggested changes accepted.+ -- Requests to retrieve a document using this mode will return a 403 error+ -- if the user does not have permission to view suggested changes.+ | PreviewWithoutSuggestions+ -- ^ @PREVIEW_WITHOUT_SUGGESTIONS@+ -- The returned document is a preview with all suggested changes rejected+ -- if there are any suggestions in the document.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DocumentSuggestionsViewMode++instance FromHttpApiData DocumentSuggestionsViewMode where+ parseQueryParam = \case+ "DEFAULT_FOR_CURRENT_ACCESS" -> Right DefaultForCurrentAccess+ "SUGGESTIONS_INLINE" -> Right SuggestionsInline+ "PREVIEW_SUGGESTIONS_ACCEPTED" -> Right PreviewSuggestionsAccepted+ "PREVIEW_WITHOUT_SUGGESTIONS" -> Right PreviewWithoutSuggestions+ x -> Left ("Unable to parse DocumentSuggestionsViewMode from: " <> x)++instance ToHttpApiData DocumentSuggestionsViewMode where+ toQueryParam = \case+ DefaultForCurrentAccess -> "DEFAULT_FOR_CURRENT_ACCESS"+ SuggestionsInline -> "SUGGESTIONS_INLINE"+ PreviewSuggestionsAccepted -> "PREVIEW_SUGGESTIONS_ACCEPTED"+ PreviewWithoutSuggestions -> "PREVIEW_WITHOUT_SUGGESTIONS"++instance FromJSON DocumentSuggestionsViewMode where+ parseJSON = parseJSONText "DocumentSuggestionsViewMode"++instance ToJSON DocumentSuggestionsViewMode where+ toJSON = toJSONText++-- | The layout of this positioned object.+data PositionedObjectPositioningLayout+ = PositionedObjectLayoutUnspecified+ -- ^ @POSITIONED_OBJECT_LAYOUT_UNSPECIFIED@+ -- The layout is unspecified.+ | WrapText+ -- ^ @WRAP_TEXT@+ -- The text wraps around the positioned object.+ | BreakLeft+ -- ^ @BREAK_LEFT@+ -- Breaks text such that the positioned object is on the left and text is+ -- on the right.+ | BreakRight+ -- ^ @BREAK_RIGHT@+ -- Breaks text such that the positioned object is on the right and text is+ -- on the left.+ | BreakLeftRight+ -- ^ @BREAK_LEFT_RIGHT@+ -- Breaks text such that there is no text on the left or right of the+ -- positioned object.+ | InFrontOfText+ -- ^ @IN_FRONT_OF_TEXT@+ -- The positioned object is in front of the text.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable PositionedObjectPositioningLayout++instance FromHttpApiData PositionedObjectPositioningLayout where+ parseQueryParam = \case+ "POSITIONED_OBJECT_LAYOUT_UNSPECIFIED" -> Right PositionedObjectLayoutUnspecified+ "WRAP_TEXT" -> Right WrapText+ "BREAK_LEFT" -> Right BreakLeft+ "BREAK_RIGHT" -> Right BreakRight+ "BREAK_LEFT_RIGHT" -> Right BreakLeftRight+ "IN_FRONT_OF_TEXT" -> Right InFrontOfText+ x -> Left ("Unable to parse PositionedObjectPositioningLayout from: " <> x)++instance ToHttpApiData PositionedObjectPositioningLayout where+ toQueryParam = \case+ PositionedObjectLayoutUnspecified -> "POSITIONED_OBJECT_LAYOUT_UNSPECIFIED"+ WrapText -> "WRAP_TEXT"+ BreakLeft -> "BREAK_LEFT"+ BreakRight -> "BREAK_RIGHT"+ BreakLeftRight -> "BREAK_LEFT_RIGHT"+ InFrontOfText -> "IN_FRONT_OF_TEXT"++instance FromJSON PositionedObjectPositioningLayout where+ parseJSON = parseJSONText "PositionedObjectPositioningLayout"++instance ToJSON PositionedObjectPositioningLayout where+ toJSON = toJSONText++-- | The units for magnitude.+data DimensionUnit+ = UnitUnspecified+ -- ^ @UNIT_UNSPECIFIED@+ -- The units are unknown.+ | PT+ -- ^ @PT@+ -- A point, 1\/72 of an inch.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable DimensionUnit++instance FromHttpApiData DimensionUnit where+ parseQueryParam = \case+ "UNIT_UNSPECIFIED" -> Right UnitUnspecified+ "PT" -> Right PT+ x -> Left ("Unable to parse DimensionUnit from: " <> x)++instance ToHttpApiData DimensionUnit where+ toQueryParam = \case+ UnitUnspecified -> "UNIT_UNSPECIFIED"+ PT -> "PT"++instance FromJSON DimensionUnit where+ parseJSON = parseJSONText "DimensionUnit"++instance ToJSON DimensionUnit where+ toJSON = toJSONText++-- | The alignment of the content in the table cell. The default alignment+-- matches the alignment for newly created table cells in the Docs editor.+data TableCellStyleContentAlignment+ = ContentAlignmentUnspecified+ -- ^ @CONTENT_ALIGNMENT_UNSPECIFIED@+ -- An unspecified content alignment. The content alignment is inherited+ -- from the parent if one exists.+ | ContentAlignmentUnsupported+ -- ^ @CONTENT_ALIGNMENT_UNSUPPORTED@+ -- An unsupported content alignment.+ | Top+ -- ^ @TOP@+ -- An alignment that aligns the content to the top of the content holder.+ -- Corresponds to ECMA-376 ST_TextAnchoringType \'t\'.+ | Middle+ -- ^ @MIDDLE@+ -- An alignment that aligns the content to the middle of the content+ -- holder. Corresponds to ECMA-376 ST_TextAnchoringType \'ctr\'.+ | Bottom+ -- ^ @BOTTOM@+ -- An alignment that aligns the content to the bottom of the content+ -- holder. Corresponds to ECMA-376 ST_TextAnchoringType \'b\'.+ deriving (Eq, Ord, Enum, Read, Show, Data, Typeable, Generic)++instance Hashable TableCellStyleContentAlignment++instance FromHttpApiData TableCellStyleContentAlignment where+ parseQueryParam = \case+ "CONTENT_ALIGNMENT_UNSPECIFIED" -> Right ContentAlignmentUnspecified+ "CONTENT_ALIGNMENT_UNSUPPORTED" -> Right ContentAlignmentUnsupported+ "TOP" -> Right Top+ "MIDDLE" -> Right Middle+ "BOTTOM" -> Right Bottom+ x -> Left ("Unable to parse TableCellStyleContentAlignment from: " <> x)++instance ToHttpApiData TableCellStyleContentAlignment where+ toQueryParam = \case+ ContentAlignmentUnspecified -> "CONTENT_ALIGNMENT_UNSPECIFIED"+ ContentAlignmentUnsupported -> "CONTENT_ALIGNMENT_UNSUPPORTED"+ Top -> "TOP"+ Middle -> "MIDDLE"+ Bottom -> "BOTTOM"++instance FromJSON TableCellStyleContentAlignment where+ parseJSON = parseJSONText "TableCellStyleContentAlignment"++instance ToJSON TableCellStyleContentAlignment where+ toJSON = toJSONText
+ gen/Network/Google/Resource/Docs/Documents/BatchUpdate.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Docs.Documents.BatchUpdate+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Applies one or more updates to the document. Each request is validated+-- before being applied. If any request is not valid, then the entire+-- request will fail and nothing will be applied. Some requests have+-- replies to give you some information about how they are applied. Other+-- requests do not need to return information; these each return an empty+-- reply. The order of replies matches that of the requests. For example,+-- suppose you call batchUpdate with four updates, and only the third one+-- returns information. The response would have two empty replies, the+-- reply to the third request, and another empty reply, in that order.+-- Because other users may be editing the document, the document might not+-- exactly reflect your changes: your changes may be altered with respect+-- to collaborator changes. If there are no collaborators, the document+-- should reflect your changes. In any case, the updates in your request+-- are guaranteed to be applied together atomically.+--+-- /See:/ <https://developers.google.com/docs/ Google Docs API Reference> for @docs.documents.batchUpdate@.+module Network.Google.Resource.Docs.Documents.BatchUpdate+ (+ -- * REST Resource+ DocumentsBatchUpdateResource++ -- * Creating a Request+ , documentsBatchUpdate+ , DocumentsBatchUpdate++ -- * Request Lenses+ , dbuXgafv+ , dbuDocumentId+ , dbuUploadProtocol+ , dbuAccessToken+ , dbuUploadType+ , dbuPayload+ , dbuCallback+ ) where++import Network.Google.Docs.Types+import Network.Google.Prelude++-- | A resource alias for @docs.documents.batchUpdate@ method which the+-- 'DocumentsBatchUpdate' request conforms to.+type DocumentsBatchUpdateResource =+ "v1" :>+ "documents" :>+ CaptureMode "documentId" "batchUpdate" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] BatchUpdateDocumentRequest :>+ Post '[JSON] BatchUpdateDocumentResponse++-- | Applies one or more updates to the document. Each request is validated+-- before being applied. If any request is not valid, then the entire+-- request will fail and nothing will be applied. Some requests have+-- replies to give you some information about how they are applied. Other+-- requests do not need to return information; these each return an empty+-- reply. The order of replies matches that of the requests. For example,+-- suppose you call batchUpdate with four updates, and only the third one+-- returns information. The response would have two empty replies, the+-- reply to the third request, and another empty reply, in that order.+-- Because other users may be editing the document, the document might not+-- exactly reflect your changes: your changes may be altered with respect+-- to collaborator changes. If there are no collaborators, the document+-- should reflect your changes. In any case, the updates in your request+-- are guaranteed to be applied together atomically.+--+-- /See:/ 'documentsBatchUpdate' smart constructor.+data DocumentsBatchUpdate =+ DocumentsBatchUpdate'+ { _dbuXgafv :: !(Maybe Xgafv)+ , _dbuDocumentId :: !Text+ , _dbuUploadProtocol :: !(Maybe Text)+ , _dbuAccessToken :: !(Maybe Text)+ , _dbuUploadType :: !(Maybe Text)+ , _dbuPayload :: !BatchUpdateDocumentRequest+ , _dbuCallback :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentsBatchUpdate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbuXgafv'+--+-- * 'dbuDocumentId'+--+-- * 'dbuUploadProtocol'+--+-- * 'dbuAccessToken'+--+-- * 'dbuUploadType'+--+-- * 'dbuPayload'+--+-- * 'dbuCallback'+documentsBatchUpdate+ :: Text -- ^ 'dbuDocumentId'+ -> BatchUpdateDocumentRequest -- ^ 'dbuPayload'+ -> DocumentsBatchUpdate+documentsBatchUpdate pDbuDocumentId_ pDbuPayload_ =+ DocumentsBatchUpdate'+ { _dbuXgafv = Nothing+ , _dbuDocumentId = pDbuDocumentId_+ , _dbuUploadProtocol = Nothing+ , _dbuAccessToken = Nothing+ , _dbuUploadType = Nothing+ , _dbuPayload = pDbuPayload_+ , _dbuCallback = Nothing+ }+++-- | V1 error format.+dbuXgafv :: Lens' DocumentsBatchUpdate (Maybe Xgafv)+dbuXgafv = lens _dbuXgafv (\ s a -> s{_dbuXgafv = a})++-- | The ID of the document to update.+dbuDocumentId :: Lens' DocumentsBatchUpdate Text+dbuDocumentId+ = lens _dbuDocumentId+ (\ s a -> s{_dbuDocumentId = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+dbuUploadProtocol :: Lens' DocumentsBatchUpdate (Maybe Text)+dbuUploadProtocol+ = lens _dbuUploadProtocol+ (\ s a -> s{_dbuUploadProtocol = a})++-- | OAuth access token.+dbuAccessToken :: Lens' DocumentsBatchUpdate (Maybe Text)+dbuAccessToken+ = lens _dbuAccessToken+ (\ s a -> s{_dbuAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+dbuUploadType :: Lens' DocumentsBatchUpdate (Maybe Text)+dbuUploadType+ = lens _dbuUploadType+ (\ s a -> s{_dbuUploadType = a})++-- | Multipart request metadata.+dbuPayload :: Lens' DocumentsBatchUpdate BatchUpdateDocumentRequest+dbuPayload+ = lens _dbuPayload (\ s a -> s{_dbuPayload = a})++-- | JSONP+dbuCallback :: Lens' DocumentsBatchUpdate (Maybe Text)+dbuCallback+ = lens _dbuCallback (\ s a -> s{_dbuCallback = a})++instance GoogleRequest DocumentsBatchUpdate where+ type Rs DocumentsBatchUpdate =+ BatchUpdateDocumentResponse+ type Scopes DocumentsBatchUpdate =+ '["https://www.googleapis.com/auth/documents",+ "https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file"]+ requestClient DocumentsBatchUpdate'{..}+ = go _dbuDocumentId _dbuXgafv _dbuUploadProtocol+ _dbuAccessToken+ _dbuUploadType+ _dbuCallback+ (Just AltJSON)+ _dbuPayload+ docsService+ where go+ = buildClient+ (Proxy :: Proxy DocumentsBatchUpdateResource)+ mempty
+ gen/Network/Google/Resource/Docs/Documents/Create.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Docs.Documents.Create+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a blank document using the title given in the request. Other+-- fields in the request, including any provided content, are ignored.+-- Returns the created document.+--+-- /See:/ <https://developers.google.com/docs/ Google Docs API Reference> for @docs.documents.create@.+module Network.Google.Resource.Docs.Documents.Create+ (+ -- * REST Resource+ DocumentsCreateResource++ -- * Creating a Request+ , documentsCreate+ , DocumentsCreate++ -- * Request Lenses+ , dcXgafv+ , dcUploadProtocol+ , dcAccessToken+ , dcUploadType+ , dcPayload+ , dcCallback+ ) where++import Network.Google.Docs.Types+import Network.Google.Prelude++-- | A resource alias for @docs.documents.create@ method which the+-- 'DocumentsCreate' request conforms to.+type DocumentsCreateResource =+ "v1" :>+ "documents" :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :>+ ReqBody '[JSON] Document :> Post '[JSON] Document++-- | Creates a blank document using the title given in the request. Other+-- fields in the request, including any provided content, are ignored.+-- Returns the created document.+--+-- /See:/ 'documentsCreate' smart constructor.+data DocumentsCreate =+ DocumentsCreate'+ { _dcXgafv :: !(Maybe Xgafv)+ , _dcUploadProtocol :: !(Maybe Text)+ , _dcAccessToken :: !(Maybe Text)+ , _dcUploadType :: !(Maybe Text)+ , _dcPayload :: !Document+ , _dcCallback :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentsCreate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcXgafv'+--+-- * 'dcUploadProtocol'+--+-- * 'dcAccessToken'+--+-- * 'dcUploadType'+--+-- * 'dcPayload'+--+-- * 'dcCallback'+documentsCreate+ :: Document -- ^ 'dcPayload'+ -> DocumentsCreate+documentsCreate pDcPayload_ =+ DocumentsCreate'+ { _dcXgafv = Nothing+ , _dcUploadProtocol = Nothing+ , _dcAccessToken = Nothing+ , _dcUploadType = Nothing+ , _dcPayload = pDcPayload_+ , _dcCallback = Nothing+ }+++-- | V1 error format.+dcXgafv :: Lens' DocumentsCreate (Maybe Xgafv)+dcXgafv = lens _dcXgafv (\ s a -> s{_dcXgafv = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+dcUploadProtocol :: Lens' DocumentsCreate (Maybe Text)+dcUploadProtocol+ = lens _dcUploadProtocol+ (\ s a -> s{_dcUploadProtocol = a})++-- | OAuth access token.+dcAccessToken :: Lens' DocumentsCreate (Maybe Text)+dcAccessToken+ = lens _dcAccessToken+ (\ s a -> s{_dcAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+dcUploadType :: Lens' DocumentsCreate (Maybe Text)+dcUploadType+ = lens _dcUploadType (\ s a -> s{_dcUploadType = a})++-- | Multipart request metadata.+dcPayload :: Lens' DocumentsCreate Document+dcPayload+ = lens _dcPayload (\ s a -> s{_dcPayload = a})++-- | JSONP+dcCallback :: Lens' DocumentsCreate (Maybe Text)+dcCallback+ = lens _dcCallback (\ s a -> s{_dcCallback = a})++instance GoogleRequest DocumentsCreate where+ type Rs DocumentsCreate = Document+ type Scopes DocumentsCreate =+ '["https://www.googleapis.com/auth/documents",+ "https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file"]+ requestClient DocumentsCreate'{..}+ = go _dcXgafv _dcUploadProtocol _dcAccessToken+ _dcUploadType+ _dcCallback+ (Just AltJSON)+ _dcPayload+ docsService+ where go+ = buildClient+ (Proxy :: Proxy DocumentsCreateResource)+ mempty
+ gen/Network/Google/Resource/Docs/Documents/Get.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE TypeOperators #-}++{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Network.Google.Resource.Docs.Documents.Get+-- Copyright : (c) 2015-2016 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the latest version of the specified document.+--+-- /See:/ <https://developers.google.com/docs/ Google Docs API Reference> for @docs.documents.get@.+module Network.Google.Resource.Docs.Documents.Get+ (+ -- * REST Resource+ DocumentsGetResource++ -- * Creating a Request+ , documentsGet+ , DocumentsGet++ -- * Request Lenses+ , dgXgafv+ , dgDocumentId+ , dgUploadProtocol+ , dgAccessToken+ , dgUploadType+ , dgSuggestionsViewMode+ , dgCallback+ ) where++import Network.Google.Docs.Types+import Network.Google.Prelude++-- | A resource alias for @docs.documents.get@ method which the+-- 'DocumentsGet' request conforms to.+type DocumentsGetResource =+ "v1" :>+ "documents" :>+ Capture "documentId" Text :>+ QueryParam "$.xgafv" Xgafv :>+ QueryParam "upload_protocol" Text :>+ QueryParam "access_token" Text :>+ QueryParam "uploadType" Text :>+ QueryParam "suggestionsViewMode" Text :>+ QueryParam "callback" Text :>+ QueryParam "alt" AltJSON :> Get '[JSON] Document++-- | Gets the latest version of the specified document.+--+-- /See:/ 'documentsGet' smart constructor.+data DocumentsGet =+ DocumentsGet'+ { _dgXgafv :: !(Maybe Xgafv)+ , _dgDocumentId :: !Text+ , _dgUploadProtocol :: !(Maybe Text)+ , _dgAccessToken :: !(Maybe Text)+ , _dgUploadType :: !(Maybe Text)+ , _dgSuggestionsViewMode :: !(Maybe Text)+ , _dgCallback :: !(Maybe Text)+ }+ deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DocumentsGet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgXgafv'+--+-- * 'dgDocumentId'+--+-- * 'dgUploadProtocol'+--+-- * 'dgAccessToken'+--+-- * 'dgUploadType'+--+-- * 'dgSuggestionsViewMode'+--+-- * 'dgCallback'+documentsGet+ :: Text -- ^ 'dgDocumentId'+ -> DocumentsGet+documentsGet pDgDocumentId_ =+ DocumentsGet'+ { _dgXgafv = Nothing+ , _dgDocumentId = pDgDocumentId_+ , _dgUploadProtocol = Nothing+ , _dgAccessToken = Nothing+ , _dgUploadType = Nothing+ , _dgSuggestionsViewMode = Nothing+ , _dgCallback = Nothing+ }+++-- | V1 error format.+dgXgafv :: Lens' DocumentsGet (Maybe Xgafv)+dgXgafv = lens _dgXgafv (\ s a -> s{_dgXgafv = a})++-- | The ID of the document to retrieve.+dgDocumentId :: Lens' DocumentsGet Text+dgDocumentId+ = lens _dgDocumentId (\ s a -> s{_dgDocumentId = a})++-- | Upload protocol for media (e.g. \"raw\", \"multipart\").+dgUploadProtocol :: Lens' DocumentsGet (Maybe Text)+dgUploadProtocol+ = lens _dgUploadProtocol+ (\ s a -> s{_dgUploadProtocol = a})++-- | OAuth access token.+dgAccessToken :: Lens' DocumentsGet (Maybe Text)+dgAccessToken+ = lens _dgAccessToken+ (\ s a -> s{_dgAccessToken = a})++-- | Legacy upload protocol for media (e.g. \"media\", \"multipart\").+dgUploadType :: Lens' DocumentsGet (Maybe Text)+dgUploadType+ = lens _dgUploadType (\ s a -> s{_dgUploadType = a})++-- | The suggestions view mode to apply to the document. This allows viewing+-- the document with all suggestions inline, accepted or rejected. If one+-- is not specified, DEFAULT_FOR_CURRENT_ACCESS is used.+dgSuggestionsViewMode :: Lens' DocumentsGet (Maybe Text)+dgSuggestionsViewMode+ = lens _dgSuggestionsViewMode+ (\ s a -> s{_dgSuggestionsViewMode = a})++-- | JSONP+dgCallback :: Lens' DocumentsGet (Maybe Text)+dgCallback+ = lens _dgCallback (\ s a -> s{_dgCallback = a})++instance GoogleRequest DocumentsGet where+ type Rs DocumentsGet = Document+ type Scopes DocumentsGet =+ '["https://www.googleapis.com/auth/documents",+ "https://www.googleapis.com/auth/documents.readonly",+ "https://www.googleapis.com/auth/drive",+ "https://www.googleapis.com/auth/drive.file",+ "https://www.googleapis.com/auth/drive.readonly"]+ requestClient DocumentsGet'{..}+ = go _dgDocumentId _dgXgafv _dgUploadProtocol+ _dgAccessToken+ _dgUploadType+ _dgSuggestionsViewMode+ _dgCallback+ (Just AltJSON)+ docsService+ where go+ = buildClient (Proxy :: Proxy DocumentsGetResource)+ mempty
+ gogol-docs.cabal view
@@ -0,0 +1,48 @@+name: gogol-docs+version: 0.5.0+synopsis: Google Docs SDK.+homepage: https://github.com/brendanhay/gogol+bug-reports: https://github.com/brendanhay/gogol/issues+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2015-2016 Brendan Hay+category: Network, Google, Cloud+build-type: Simple+cabal-version: >= 1.10+extra-source-files: README.md src/.gitkeep++description:+ Reads and writes Google Docs documents.+ .+ /Warning:/ 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 @v1@+ of the API.++source-repository head+ type: git+ location: git://github.com/brendanhay/gogol.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.Google.Docs+ , Network.Google.Docs.Types+ , Network.Google.Resource.Docs.Documents.BatchUpdate+ , Network.Google.Resource.Docs.Documents.Create+ , Network.Google.Resource.Docs.Documents.Get++ other-modules:+ Network.Google.Docs.Types.Product+ , Network.Google.Docs.Types.Sum++ build-depends:+ gogol-core == 0.5.0.*+ , base >= 4.7 && < 5
+ src/.gitkeep view