diff --git a/types/office-js-preview/index.d.ts b/types/office-js-preview/index.d.ts index 74526773537a7f..70446f93fe8c56 100644 --- a/types/office-js-preview/index.d.ts +++ b/types/office-js-preview/index.d.ts @@ -114488,17 +114488,116 @@ declare namespace Word { * @beta */ interface TableOfFiguresAddOptions { + /** + * If provided, specifies the string names of additional styles to use for the table of figures. + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ addedStyles?: string; + /** + * If provided, specifies the label that identifies the items to include in a table of figures. + * Corresponds to the `\c` switch for a {@link https://support.microsoft.com/office/1f538bc4-60e6-4854-9f64-67754d78d05c | Table of Contents (TOC) field}. + * The default value is "Figure". + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ captionLabel?: string; + /** + * If provided, specifies whether the page numbers in the table of figures should be hidden when publishing to the web. + * The default value is `true`. + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ hidePageNumbersOnWeb?: boolean; + /** + * If provided, specifies whether to include the caption label and caption number in a table of figures. + * The default value is `true`. + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ includeLabel?: boolean; + /** + * If provided, specifies whether page numbers are included in a table of figures. + * The default value is `true`. + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ includePageNumbers?: boolean; + /** + * If provided, specifies the ending heading level for a table of figures when `useBuiltInHeadingStyles` is set to `true`. Should be a value from 1 to 9 and greater than `upperHeadingLevel`. + * Corresponds to the ending value used with the `\o` switch for a {@link https://support.microsoft.com/office/1f538bc4-60e6-4854-9f64-67754d78d05c | Table of Contents (TOC) field}. + * The default value is `9`. + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ lowerHeadingLevel?: number; + /** + * If provided, specifies whether to align page numbers with the right margin in a table of figures. + * The default value is `true`. + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ rightAlignPageNumbers?: boolean; + /** + * If provided, specifies a one-letter identifier from {@link https://support.microsoft.com/office/01e5dd8a-4730-4bc2-8594-23d7329e25c3 | TC fields} that's used for a table of figures. + * Corresponds to the `\f` switch for a {@link https://support.microsoft.com/office/1f538bc4-60e6-4854-9f64-67754d78d05c | Table of Contents (TOC) field}. For example, "T" indicates a table of figures includes TC fields that use the table identifier T. + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ tableId?: string; + /** + * If provided, specifies the starting heading level for a table of figures when `useBuiltInHeadingStyles` is set to `true`. Should be a value from 1 to 9 and smaller than `lowerHeadingLevel`. + * Corresponds to the starting value used with the `\o` switch for a {@link https://support.microsoft.com/office/1f538bc4-60e6-4854-9f64-67754d78d05c | Table of Contents (TOC) field}. + * The default value is `1`. + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ upperHeadingLevel?: number; + /** + * If provided, specifies whether to use built-in heading styles to create a table of figures. + * The default value is `false`. + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ useBuiltInHeadingStyles?: boolean; + /** + * If provided, specifies whether to use {@link https://support.microsoft.com/office/01e5dd8a-4730-4bc2-8594-23d7329e25c3 | Table of Contents Entry (TC) fields} to create a table of figures. + * Use the {@link Word.TableOfFiguresCollection | TableOfFiguresCollection.markTocEntry} method to mark entries to include in a table of figures. + * The default value is `false`. + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ useFields?: boolean; + /** + * If provided, specifies whether entries in a table of figures should be formatted as hyperlinks when the document is published to the web. + * The default value is `true`. + * + * @remarks + * [Api set: WordApi BETA (PREVIEW ONLY)] + * @beta + */ useHyperlinksOnWeb?: boolean; } /** @@ -181840,6 +181939,75 @@ declare namespace PowerPoint { */ slideMasterId?: string; } + /** + * Represents the adjustment values for a shape. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + class Adjustments extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * Specifies the number of adjustment points. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly count: number; + /** + * Gets the adjustment value at the specified zero-based index. + Throws an `InvalidArgument` exception when the index is out of range. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + * + * @param index The index of the adjustment to retrieve. + * @returns The adjustment value at the given index. + */ + get(index: number): OfficeExtension.ClientResult; + /** + * Sets the adjustment value at the specified zero-based index. + Throws an `InvalidArgument` exception when the index is out of range. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + * + * @param index The index of the adjustment to set. + * @param value The adjustment value to set. + */ + set(index: number, value: number): void; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.AdjustmentsLoadOptions): PowerPoint.Adjustments; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.Adjustments; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.Adjustments; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Adjustments` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.AdjustmentsData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.AdjustmentsData; + } /** * Represents the possible binding types. * @@ -181957,6 +182125,18 @@ declare namespace PowerPoint { * @param id ID of the object to be retrieved. */ getItem(id: string): PowerPoint.CustomXmlPart; + /** + * Gets a `CustomXmlPart` by its zero-based index in the collection. + Throws an `InvalidArgument` exception when the index is out of range. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + * + * @param index The index of the custom XML part in the collection. + * @returns The custom XML part at the given index. + */ + getItemAt(index: number): PowerPoint.CustomXmlPart; /** * Gets a `CustomXmlPart` based on its ID. If the `CustomXmlPart` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. @@ -182054,6 +182234,18 @@ declare namespace PowerPoint { * @param id ID of the object to be retrieved. */ getItem(id: string): PowerPoint.CustomXmlPart; + /** + * Gets a `CustomXmlPart` by its zero-based index in the collection. + Throws an `InvalidArgument` exception when the index is out of range. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + * + * @param index The index of the custom XML part in the collection. + * @returns The custom XML part at the given index. + */ + getItemAt(index: number): PowerPoint.CustomXmlPart; /** * Gets a `CustomXmlPart` based on its ID. If the `CustomXmlPart` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. @@ -182090,341 +182282,523 @@ declare namespace PowerPoint { toJSON(): PowerPoint.Interfaces.CustomXmlPartCollectionData; } /** - * Specifies the type of a placeholder. + * Represents the available options when adding a {@link PowerPoint.Hyperlink}. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - enum PlaceholderType { + interface HyperlinkAddOptions { /** - * The placeholder is unsupported. + * Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. + * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - unsupported = "Unsupported", + address?: string; /** - * The placeholder is for a date. + * Specifies the string displayed when hovering over the hyperlink. + * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - date = "Date", + screenTip?: string; + } + /** + * Represents a scoped collection of hyperlinks. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + class HyperlinkScopedCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.Hyperlink[]; /** - * The placeholder is for a slide number. + * Gets the number of hyperlinks in the collection. + * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + * @returns The number of hyperlinks in the collection. */ - slideNumber = "SlideNumber", + getCount(): OfficeExtension.ClientResult; /** - * The placeholder is for a footer. + * Gets a hyperlink using its zero-based index in the collection. + Throws an `InvalidArgument` exception when the index is out of range. + * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + * + * @param index The index of the hyperlink in the collection. + * @returns The hyperlink at the given index. */ - footer = "Footer", + getItemAt(index: number): PowerPoint.Hyperlink; /** - * The placeholder is for a header. - * @remarks - * [Api set: PowerPointApi 1.8] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - header = "Header", + load(options?: PowerPoint.Interfaces.HyperlinkScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.HyperlinkScopedCollection; /** - * The placeholder is for a title. - * @remarks - * [Api set: PowerPointApi 1.8] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - title = "Title", + load(propertyNames?: string | string[]): PowerPoint.HyperlinkScopedCollection; /** - * The placeholder is for a body. - * @remarks - * [Api set: PowerPointApi 1.8] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - body = "Body", + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.HyperlinkScopedCollection; /** - * The placeholder is for a center title. - * @remarks - * [Api set: PowerPointApi 1.8] + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.HyperlinkScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. */ - centerTitle = "CenterTitle", + toJSON(): PowerPoint.Interfaces.HyperlinkScopedCollectionData; + } + /** + * Represents the horizontal alignment of the {@link PowerPoint.TextFrame} in a {@link PowerPoint.Shape}. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum ParagraphHorizontalAlignment { /** - * The placeholder is for a subtitle. + * Align text to the left margin. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - subtitle = "Subtitle", + left = "Left", /** - * The placeholder is for a vertical title. + * Align text in the center. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - verticalTitle = "VerticalTitle", + center = "Center", /** - * The placeholder is for a vertical body. + * Align text to the right margin. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - verticalBody = "VerticalBody", + right = "Right", /** - * The placeholder is for generic content. + * Align text so that it's justified across the whole line. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - content = "Content", + justify = "Justify", /** - * The placeholder is for a chart. + * Specifies the alignment or adjustment of kashida length in Arabic text. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - chart = "Chart", + justifyLow = "JustifyLow", /** - * The placeholder is for a table. + * Distributes the text words across an entire text line. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - table = "Table", + distributed = "Distributed", /** - * The placeholder is for an online picture. + * Distributes Thai text specially, because each character is treated as a word. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - onlinePicture = "OnlinePicture", + thaiDistributed = "ThaiDistributed", + } + /** + * Specifies the style of a bullet. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + enum BulletStyle { /** - * The placeholder is for a SmartArt. + * Style is unsupported. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - smartArt = "SmartArt", + unsupported = "Unsupported", /** - * The placeholder is for media. + * Lowercase alphabetical characters with a period. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - media = "Media", + alphabetLowercasePeriod = "AlphabetLowercasePeriod", /** - * The placeholder is for generic vertical content. + * Uppercase alphabetical characters with a period. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - verticalContent = "VerticalContent", + alphabetUppercasePeriod = "AlphabetUppercasePeriod", /** - * The placeholder is for a picture. + * Arabic numerals with closing parenthesis. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - picture = "Picture", + arabicNumeralParenthesisRight = "ArabicNumeralParenthesisRight", /** - * The placeholder is for a cameo. + * Arabic numerals with a period. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - cameo = "Cameo", - } - /** - * Specifies the type of a shape. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum ShapeType { + arabicNumeralPeriod = "ArabicNumeralPeriod", /** - * The given shape's type is unsupported. + * Lowercase Roman numerals with both parentheses. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - unsupported = "Unsupported", + romanLowercaseParenthesesBoth = "RomanLowercaseParenthesesBoth", /** - * The shape is an image. + * Lowercase Roman numerals with closing parenthesis. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - image = "Image", + romanLowercaseParenthesisRight = "RomanLowercaseParenthesisRight", /** - * The shape is a geometric shape such as rectangle. + * Lowercase Roman numerals with period. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - geometricShape = "GeometricShape", + romanLowercasePeriod = "RomanLowercasePeriod", /** - * The shape is a group shape which contains sub-shapes. + * Uppercase Roman numerals with period. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - group = "Group", + romanUppercasePeriod = "RomanUppercasePeriod", /** - * The shape is a line. + * Lowercase alphabetical characters with both parentheses. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - line = "Line", + alphabetLowercaseParenthesesBoth = "AlphabetLowercaseParenthesesBoth", /** - * The shape is a table. + * Lowercase alphabetical characters with closing parenthesis. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - table = "Table", + alphabetLowercaseParenthesisRight = "AlphabetLowercaseParenthesisRight", /** - * The shape is a callout. + * Uppercase alphabetical characters with both parentheses. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - callout = "Callout", + alphabetUppercaseParenthesesBoth = "AlphabetUppercaseParenthesesBoth", /** - * The shape is a chart. + * Uppercase alphabetical characters with closing parenthesis. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - chart = "Chart", + alphabetUppercaseParenthesisRight = "AlphabetUppercaseParenthesisRight", /** - * The shape is a content Office Add-in. + * Arabic numerals with both parentheses. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - contentApp = "ContentApp", + arabicNumeralParenthesesBoth = "ArabicNumeralParenthesesBoth", /** - * The shape is a diagram. + * Arabic numerals. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - diagram = "Diagram", + arabicNumeralPlain = "ArabicNumeralPlain", /** - * The shape is a freeform object. + * Uppercase Roman numerals with both parentheses. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - freeform = "Freeform", + romanUppercaseParenthesesBoth = "RomanUppercaseParenthesesBoth", /** - * The shape is a graphic. + * Uppercase Roman numerals with closing parenthesis. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - graphic = "Graphic", + romanUppercaseParenthesisRight = "RomanUppercaseParenthesisRight", /** - * The shape is an ink object. + * Simplified Chinese without a period. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - ink = "Ink", + simplifiedChinesePlain = "SimplifiedChinesePlain", /** - * The shape is a media object. + * Simplified Chinese with a period. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - media = "Media", + simplifiedChinesePeriod = "SimplifiedChinesePeriod", /** - * The shape is a 3D model. + * Double-byte circled number for values up to 10. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - model3D = "Model3D", + circleNumberDoubleBytePlain = "CircleNumberDoubleBytePlain", /** - * The shape is an OLE (Object Linking and Embedding) object. + * Text colored number with same color circle drawn around it. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - ole = "Ole", + circleNumberWideDoubleByteWhitePlain = "CircleNumberWideDoubleByteWhitePlain", /** - * The shape is a placeholder. + * Shadow color number with circular background of normal text color. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - placeholder = "Placeholder", + circleNumberWideDoubleByteBlackPlain = "CircleNumberWideDoubleByteBlackPlain", /** - * The shape is a SmartArt graphic. + * Traditional Chinese without a period. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - smartArt = "SmartArt", + traditionalChinesePlain = "TraditionalChinesePlain", /** - * The shape is a text box. + * Traditional Chinese with a period. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - textBox = "TextBox", - } - /** - * Represents the properties of a `placeholder` shape. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - class PlaceholderFormat extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + traditionalChinesePeriod = "TraditionalChinesePeriod", /** - * Gets the type of the shape contained within the placeholder. See {@link PowerPoint.ShapeType} for details. - Returns `null` if the placeholder is empty. - * + * Arabic alphabet with a dash. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - readonly containedType: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox" | null; + arabicAlphabetDash = "ArabicAlphabetDash", /** - * Returns the type of this placeholder. See {@link PowerPoint.PlaceholderType} for details. - * + * Arabic Abjad alphabet with a dash. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - readonly type: PowerPoint.PlaceholderType | "Unsupported" | "Date" | "SlideNumber" | "Footer" | "Header" | "Title" | "Body" | "CenterTitle" | "Subtitle" | "VerticalTitle" | "VerticalBody" | "Content" | "Chart" | "Table" | "OnlinePicture" | "SmartArt" | "Media" | "VerticalContent" | "Picture" | "Cameo"; + arabicAbjadDash = "ArabicAbjadDash", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. + * Hebrew alphabet with a dash. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - load(options?: PowerPoint.Interfaces.PlaceholderFormatLoadOptions): PowerPoint.PlaceholderFormat; + hebrewAlphabetDash = "HebrewAlphabetDash", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * Japanese/Korean numbers without a period. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - load(propertyNames?: string | string[]): PowerPoint.PlaceholderFormat; + kanjiKoreanPlain = "KanjiKoreanPlain", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * Japanese/Korean numbers with a period. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.PlaceholderFormat; + kanjiKoreanPeriod = "KanjiKoreanPeriod", /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.PlaceholderFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.PlaceholderFormatData`) that contains shallow copies of any loaded child properties from the original object. + * Double-byte Arabic numbering scheme (no punctuation). + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - toJSON(): PowerPoint.Interfaces.PlaceholderFormatData; + arabicDoubleBytePlain = "ArabicDoubleBytePlain", + /** + * Double-byte Arabic numbering scheme with double-byte period. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + arabicDoubleBytePeriod = "ArabicDoubleBytePeriod", + /** + * Thai alphabet with a period. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + thaiAlphabetPeriod = "ThaiAlphabetPeriod", + /** + * Thai alphabet with closing parenthesis. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + thaiAlphabetParenthesisRight = "ThaiAlphabetParenthesisRight", + /** + * Thai alphabet with both parentheses. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + thaiAlphabetParenthesesBoth = "ThaiAlphabetParenthesesBoth", + /** + * Thai numerals with a period. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + thaiNumeralPeriod = "ThaiNumeralPeriod", + /** + * Thai numerals with closing parenthesis. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + thaiNumeralParenthesisRight = "ThaiNumeralParenthesisRight", + /** + * Thai numerals with both parentheses. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + thaiNumeralParenthesesBoth = "ThaiNumeralParenthesesBoth", + /** + * Hindi alphabet (vowels) with a period. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + hindiAlphabetPeriod = "HindiAlphabetPeriod", + /** + * Hindi numerals with a period. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + hindiNumeralPeriod = "HindiNumeralPeriod", + /** + * Kanji Simplified Chinese with double-byte period. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + kanjiSimplifiedChineseDoubleBytePeriod = "KanjiSimplifiedChineseDoubleBytePeriod", + /** + * Hindi numerals with closing parenthesis. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + hindiNumeralParenthesisRight = "HindiNumeralParenthesisRight", + /** + * Hindi alphabet (consonants) with a period. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + hindiAlphabet1Period = "HindiAlphabet1Period", } /** - * Represents a single hyperlink. + * Specifies the type of a bullet. * * @remarks - * [Api set: PowerPointApi 1.6] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - class Hyperlink extends OfficeExtension.ClientObject { + enum BulletType { + /** + * Type is unsupported. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + unsupported = "Unsupported", + /** + * No bullets. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + none = "None", + /** + * Numbered bullet (e.g., 1, 2, 3 or a, b, c). + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + numbered = "Numbered", + /** + * Symbol-based bullet (e.g., disc, circle, square). + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + unnumbered = "Unnumbered", + } + /** + * Represents the bullet formatting properties of a text that is attached to the {@link PowerPoint.ParagraphFormat}. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + class BulletFormat extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Specifies the URL target of the hyperlink. + * Specifies the style of the bullets in the paragraph. See {@link PowerPoint.BulletStyle} for details. + Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. * * @remarks - * [Api set: PowerPointApi 1.6] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - address: string; + style: PowerPoint.BulletStyle | "Unsupported" | "AlphabetLowercasePeriod" | "AlphabetUppercasePeriod" | "ArabicNumeralParenthesisRight" | "ArabicNumeralPeriod" | "RomanLowercaseParenthesesBoth" | "RomanLowercaseParenthesisRight" | "RomanLowercasePeriod" | "RomanUppercasePeriod" | "AlphabetLowercaseParenthesesBoth" | "AlphabetLowercaseParenthesisRight" | "AlphabetUppercaseParenthesesBoth" | "AlphabetUppercaseParenthesisRight" | "ArabicNumeralParenthesesBoth" | "ArabicNumeralPlain" | "RomanUppercaseParenthesesBoth" | "RomanUppercaseParenthesisRight" | "SimplifiedChinesePlain" | "SimplifiedChinesePeriod" | "CircleNumberDoubleBytePlain" | "CircleNumberWideDoubleByteWhitePlain" | "CircleNumberWideDoubleByteBlackPlain" | "TraditionalChinesePlain" | "TraditionalChinesePeriod" | "ArabicAlphabetDash" | "ArabicAbjadDash" | "HebrewAlphabetDash" | "KanjiKoreanPlain" | "KanjiKoreanPeriod" | "ArabicDoubleBytePlain" | "ArabicDoubleBytePeriod" | "ThaiAlphabetPeriod" | "ThaiAlphabetParenthesisRight" | "ThaiAlphabetParenthesesBoth" | "ThaiNumeralPeriod" | "ThaiNumeralParenthesisRight" | "ThaiNumeralParenthesesBoth" | "HindiAlphabetPeriod" | "HindiNumeralPeriod" | "KanjiSimplifiedChineseDoubleBytePeriod" | "HindiNumeralParenthesisRight" | "HindiAlphabet1Period" | null; /** - * Specifies the string displayed when hovering over the hyperlink. + * Specifies the type of the bullets in the paragraph. See {@link PowerPoint.BulletType} for details. + Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. * * @remarks - * [Api set: PowerPointApi 1.6] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - screenTip: string; + type: PowerPoint.BulletType | "Unsupported" | "None" | "Numbered" | "Unnumbered" | null; + /** + * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + visible: boolean | null; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.HyperlinkLoadOptions): PowerPoint.Hyperlink; + load(options?: PowerPoint.Interfaces.BulletFormatLoadOptions): PowerPoint.BulletFormat; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.Hyperlink; + load(propertyNames?: string | string[]): PowerPoint.BulletFormat; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -182433,2242 +182807,2400 @@ declare namespace PowerPoint { load(propertyNamesAndPaths?: { select?: string; expand?: string; - }): PowerPoint.Hyperlink; + }): PowerPoint.BulletFormat; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.Hyperlink` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkData`) that contains shallow copies of any loaded child properties from the original object. + * Whereas the original `PowerPoint.BulletFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BulletFormatData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.HyperlinkData; + toJSON(): PowerPoint.Interfaces.BulletFormatData; } /** - * Represents a collection of hyperlinks. + * Represents the paragraph formatting properties of a text that is attached to the {@link PowerPoint.TextRange}. * * @remarks - * [Api set: PowerPointApi 1.6] + * [Api set: PowerPointApi 1.4] */ - class HyperlinkCollection extends OfficeExtension.ClientObject { + class ParagraphFormat extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.Hyperlink[]; /** - * Gets the number of hyperlinks in the collection. + * Represents the bullet format of the paragraph. See {@link PowerPoint.BulletFormat} for details. * * @remarks - * [Api set: PowerPointApi 1.6] - * @returns The number of hyperlinks in the collection. + * [Api set: PowerPointApi 1.4] */ - getCount(): OfficeExtension.ClientResult; + readonly bulletFormat: PowerPoint.BulletFormat; /** - * Gets a hyperlink using its zero-based index in the collection. An error is thrown if the index is out of range. + * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. * * @remarks - * [Api set: PowerPointApi 1.6] + * [Api set: PowerPointApi 1.4] + */ + horizontalAlignment: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; + /** + * Represents the indent level of the paragraph. * - * @param index The index of the hyperlink in the collection. - * @returns The hyperlink at the given index. An error is thrown if index is out of range. + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - getItemAt(index: number): PowerPoint.Hyperlink; + indentLevel: number; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.HyperlinkCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.HyperlinkCollection; + load(options?: PowerPoint.Interfaces.ParagraphFormatLoadOptions): PowerPoint.ParagraphFormat; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.HyperlinkCollection; + load(propertyNames?: string | string[]): PowerPoint.ParagraphFormat; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.HyperlinkCollection; + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.ParagraphFormat; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.HyperlinkCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + * Whereas the original `PowerPoint.ParagraphFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ParagraphFormatData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.HyperlinkCollectionData; + toJSON(): PowerPoint.Interfaces.ParagraphFormatData; } /** - * Specifies the connector type for line shapes. + * The type of underline applied to a font. * * @remarks * [Api set: PowerPointApi 1.4] */ - enum ConnectorType { + enum ShapeFontUnderlineStyle { /** - * Straight connector type + * No underlining. * @remarks * [Api set: PowerPointApi 1.4] */ - straight = "Straight", + none = "None", /** - * Elbow connector type + * Regular single line underlining. * @remarks * [Api set: PowerPointApi 1.4] */ - elbow = "Elbow", + single = "Single", /** - * Curve connector type + * Underlining of text with double lines. * @remarks * [Api set: PowerPointApi 1.4] */ - curve = "Curve", - } - /** - * Specifies the shape type for a `GeometricShape` object. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum GeometricShapeType { + double = "Double", /** - * Straight Line from Top-Right Corner to Bottom-Left Corner of the Shape + * Underlining of text with a thick line. * @remarks * [Api set: PowerPointApi 1.4] */ - lineInverse = "LineInverse", + heavy = "Heavy", /** - * Isosceles Triangle + * Underlining of text with a dotted line. * @remarks * [Api set: PowerPointApi 1.4] */ - triangle = "Triangle", + dotted = "Dotted", /** - * Right Triangle + * Underlining of text with a thick, dotted line. * @remarks * [Api set: PowerPointApi 1.4] */ - rightTriangle = "RightTriangle", + dottedHeavy = "DottedHeavy", /** - * Rectangle + * Underlining of text with a line containing dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - rectangle = "Rectangle", + dash = "Dash", /** - * Diamond + * Underlining of text with a thick line containing dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - diamond = "Diamond", + dashHeavy = "DashHeavy", /** - * Parallelogram + * Underlining of text with a line containing long dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - parallelogram = "Parallelogram", + dashLong = "DashLong", /** - * Trapezoid + * Underlining of text with a thick line containing long dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - trapezoid = "Trapezoid", + dashLongHeavy = "DashLongHeavy", /** - * Trapezoid which may have Non-Equal Sides + * Underlining of text with a line containing dots and dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - nonIsoscelesTrapezoid = "NonIsoscelesTrapezoid", + dotDash = "DotDash", /** - * Pentagon + * Underlining of text with a thick line containing dots and dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - pentagon = "Pentagon", + dotDashHeavy = "DotDashHeavy", /** - * Hexagon + * Underlining of text with a line containing double dots and dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - hexagon = "Hexagon", + dotDotDash = "DotDotDash", /** - * Heptagon + * Underlining of text with a thick line containing double dots and dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - heptagon = "Heptagon", + dotDotDashHeavy = "DotDotDashHeavy", /** - * Octagon + * Underlining of text with a wavy line. * @remarks * [Api set: PowerPointApi 1.4] */ - octagon = "Octagon", + wavy = "Wavy", /** - * Decagon + * Underlining of text with a thick, wavy line. * @remarks * [Api set: PowerPointApi 1.4] */ - decagon = "Decagon", + wavyHeavy = "WavyHeavy", /** - * Dodecagon + * Underlining of text with double wavy lines. * @remarks * [Api set: PowerPointApi 1.4] */ - dodecagon = "Dodecagon", + wavyDouble = "WavyDouble", + } + /** + * Represents the font attributes, such as font name, font size, and color, for a shape's TextRange object. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + class ShapeFont extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Star: 4 Points + * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: + + - `true`: All the text has the **All Caps** attribute. + + - `false`: None of the text has the **All Caps** attribute. + + - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - star4 = "Star4", + allCaps: boolean | null; /** - * Star: 5 Points + * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: + + - `true`: All the text is bold. + + - `false`: None of the text is bold. + + - `null`: Returned if some, but not all, of the text is bold. + * * @remarks * [Api set: PowerPointApi 1.4] */ - star5 = "Star5", + bold: boolean | null; /** - * Star: 6 Points + * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. + * * @remarks * [Api set: PowerPointApi 1.4] */ - star6 = "Star6", + color: string | null; /** - * Star: 7 Points + * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Double strikethrough** attribute. + + - `false`: None of the text has the **Double strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - star7 = "Star7", + doubleStrikethrough: boolean | null; /** - * Star: 8 Points + * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: + + - `true`: All the text is italicized. + + - `false`: None of the text is italicized. + + - `null`: Returned if some, but not all, of the text is italicized. + * * @remarks * [Api set: PowerPointApi 1.4] */ - star8 = "Star8", + italic: boolean | null; /** - * Star: 10 Points + * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. + * * @remarks * [Api set: PowerPointApi 1.4] */ - star10 = "Star10", + name: string | null; /** - * Star: 12 Points + * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. + * * @remarks * [Api set: PowerPointApi 1.4] */ - star12 = "Star12", + size: number | null; /** - * Star: 16 Points + * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: + + - `true`: All the text has the **Small Caps** attribute. + + - `false`: None of the text has the **Small Caps** attribute. + + - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - star16 = "Star16", + smallCaps: boolean | null; /** - * Star: 24 Points + * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Strikethrough** attribute. + + - `false`: None of the text has the **Strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - star24 = "Star24", + strikethrough: boolean | null; /** - * Star: 32 Points + * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Subscript** attribute. + + - `false`: None of the text has the **Subscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - star32 = "Star32", + subscript: boolean | null; /** - * Rectangle: Rounded Corners + * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Superscript** attribute. + + - `false`: None of the text has the **Superscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - roundRectangle = "RoundRectangle", + superscript: boolean | null; /** - * Rectangle: Single Corner Rounded + * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. + * * @remarks * [Api set: PowerPointApi 1.4] */ - round1Rectangle = "Round1Rectangle", + underline: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; /** - * Rectangle: Top Corners Rounded - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - round2SameRectangle = "Round2SameRectangle", + load(options?: PowerPoint.Interfaces.ShapeFontLoadOptions): PowerPoint.ShapeFont; /** - * Rectangle: Diagonal Corners Rounded - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - round2DiagonalRectangle = "Round2DiagonalRectangle", + load(propertyNames?: string | string[]): PowerPoint.ShapeFont; /** - * Rectangle: Top Corners One Rounded and One Snipped - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - snipRoundRectangle = "SnipRoundRectangle", + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.ShapeFont; /** - * Rectangle: Single Corner Snipped + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeFont` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFontData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.ShapeFontData; + } + /** + * Determines the type of automatic sizing allowed. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum ShapeAutoSize { + /** + * No autosizing. * @remarks * [Api set: PowerPointApi 1.4] */ - snip1Rectangle = "Snip1Rectangle", + autoSizeNone = "AutoSizeNone", /** - * Rectangle: Top Corners Snipped + * The text is adjusted to fit the shape. * @remarks * [Api set: PowerPointApi 1.4] */ - snip2SameRectangle = "Snip2SameRectangle", + autoSizeTextToFitShape = "AutoSizeTextToFitShape", /** - * Rectangle: Diagonal Corners Snipped + * The shape is adjusted to fit the text. * @remarks * [Api set: PowerPointApi 1.4] */ - snip2DiagonalRectangle = "Snip2DiagonalRectangle", + autoSizeShapeToFitText = "AutoSizeShapeToFitText", /** - * Plaque + * A combination of automatic sizing schemes are used. * @remarks * [Api set: PowerPointApi 1.4] */ - plaque = "Plaque", + autoSizeMixed = "AutoSizeMixed", + } + /** + * Represents the vertical alignment of a {@link PowerPoint.TextFrame} in a {@link PowerPoint.Shape}. + If one of the centered options is selected, the contents of the `TextFrame` will be centered horizontally within the `Shape` as a group. + To change the horizontal alignment of a text, see {@link PowerPoint.ParagraphFormat} and {@link PowerPoint.ParagraphHorizontalAlignment}. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum TextVerticalAlignment { /** - * Oval + * Specifies that the `TextFrame` should be top aligned to the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - ellipse = "Ellipse", + top = "Top", /** - * Teardrop + * Specifies that the `TextFrame` should be center aligned to the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - teardrop = "Teardrop", + middle = "Middle", /** - * Arrow: Pentagon + * Specifies that the `TextFrame` should be bottom aligned to the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - homePlate = "HomePlate", + bottom = "Bottom", /** - * Arrow: Chevron + * Specifies that the `TextFrame` should be top aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - chevron = "Chevron", + topCentered = "TopCentered", /** - * Partial Circle + * Specifies that the `TextFrame` should be center aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - pieWedge = "PieWedge", + middleCentered = "MiddleCentered", /** - * Partial Circle with Adjustable Spanning Area + * Specifies that the `TextFrame` should be bottom aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - pie = "Pie", + bottomCentered = "BottomCentered", + } + /** + * Represents the text frame of a shape object. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + class TextFrame extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Block Arc + * Represents the text that is attached to a shape in the text frame, and properties and methods for manipulating the text. See {@link PowerPoint.TextRange} for details. + * * @remarks * [Api set: PowerPointApi 1.4] */ - blockArc = "BlockArc", + readonly textRange: PowerPoint.TextRange; /** - * Circle: Hollow + * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. + * * @remarks * [Api set: PowerPointApi 1.4] */ - donut = "Donut", + autoSizeSetting: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; /** - * "Not Allowed" Symbol + * Represents the bottom margin, in points, of the text frame. + * * @remarks * [Api set: PowerPointApi 1.4] */ - noSmoking = "NoSmoking", - /** - * Arrow: Right - * @remarks - * [Api set: PowerPointApi 1.4] - */ - rightArrow = "RightArrow", + bottomMargin: number; /** - * Arrow: Left + * Specifies if the text frame contains text. + * * @remarks * [Api set: PowerPointApi 1.4] */ - leftArrow = "LeftArrow", + readonly hasText: boolean; /** - * Arrow: Up + * Represents the left margin, in points, of the text frame. + * * @remarks * [Api set: PowerPointApi 1.4] */ - upArrow = "UpArrow", + leftMargin: number; /** - * Arrow: Down + * Represents the right margin, in points, of the text frame. + * * @remarks * [Api set: PowerPointApi 1.4] */ - downArrow = "DownArrow", + rightMargin: number; /** - * Arrow: Striped Right + * Represents the top margin, in points, of the text frame. + * * @remarks * [Api set: PowerPointApi 1.4] */ - stripedRightArrow = "StripedRightArrow", + topMargin: number; /** - * Arrow: Notched Right + * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. + * * @remarks * [Api set: PowerPointApi 1.4] */ - notchedRightArrow = "NotchedRightArrow", + verticalAlignment: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; /** - * Arrow: Bent-Up + * Determines whether lines break automatically to fit text inside the shape. + * * @remarks * [Api set: PowerPointApi 1.4] */ - bentUpArrow = "BentUpArrow", + wordWrap: boolean; /** - * Arrow: Left-Right + * Deletes all the text in the text frame. + * * @remarks * [Api set: PowerPointApi 1.4] */ - leftRightArrow = "LeftRightArrow", + deleteText(): void; /** - * Arrow: Up-Down + * Returns the parent {@link PowerPoint.Shape} object that holds this `TextFrame`. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - upDownArrow = "UpDownArrow", + getParentShape(): PowerPoint.Shape; /** - * Arrow: Left-Up - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - leftUpArrow = "LeftUpArrow", + load(options?: PowerPoint.Interfaces.TextFrameLoadOptions): PowerPoint.TextFrame; /** - * Arrow: Left-Right-Up - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - leftRightUpArrow = "LeftRightUpArrow", + load(propertyNames?: string | string[]): PowerPoint.TextFrame; /** - * Arrow: Quad - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - quadArrow = "QuadArrow", + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.TextFrame; /** - * Callout: Left Arrow - * @remarks - * [Api set: PowerPointApi 1.4] + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TextFrame` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextFrameData`) that contains shallow copies of any loaded child properties from the original object. */ - leftArrowCallout = "LeftArrowCallout", + toJSON(): PowerPoint.Interfaces.TextFrameData; + } + /** + * Contains the text that is attached to a shape, in addition to properties and methods for manipulating the text. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + class TextRange extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Callout: Right Arrow + * Returns a `ShapeFont` object that represents the font attributes for the text range. + * * @remarks * [Api set: PowerPointApi 1.4] */ - rightArrowCallout = "RightArrowCallout", + readonly font: PowerPoint.ShapeFont; /** - * Callout: Up Arrow + * Returns a collection of hyperlinks that exist on this `TextRange`. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - upArrowCallout = "UpArrowCallout", + readonly hyperlinks: PowerPoint.HyperlinkScopedCollection; /** - * Callout: Down Arrow + * Represents the paragraph format of the text range. See {@link PowerPoint.ParagraphFormat} for details. + * * @remarks * [Api set: PowerPointApi 1.4] */ - downArrowCallout = "DownArrowCallout", + readonly paragraphFormat: PowerPoint.ParagraphFormat; /** - * Callout: Left-Right Arrow + * Gets or sets the length of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - leftRightArrowCallout = "LeftRightArrowCallout", + length: number; /** - * Callout: Up-Down Arrow + * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - upDownArrowCallout = "UpDownArrowCallout", + start: number; /** - * Callout: Quad Arrow + * Represents the plain text content of the text range. + * * @remarks * [Api set: PowerPointApi 1.4] */ - quadArrowCallout = "QuadArrowCallout", + text: string; /** - * Arrow: Bent + * Returns the parent {@link PowerPoint.TextFrame} object that holds this `TextRange`. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - bentArrow = "BentArrow", + getParentTextFrame(): PowerPoint.TextFrame; /** - * Arrow: U-Turn + * Returns a `TextRange` object for the substring in the given range. + * * @remarks * [Api set: PowerPointApi 1.4] + * + * @param start The zero-based index of the first character to get from the text range. + * @param length Optional. The number of characters to be returned in the new text range. If length is omitted, all the characters from start to the end of the text range's last paragraph will be returned. */ - uturnArrow = "UturnArrow", + getSubstring(start: number, length?: number): PowerPoint.TextRange; /** - * Arrow: Circular + * Sets a hyperlink on this `TextRange` with the specified options. This will delete all existing hyperlinks on this `TextRange`. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + * + * @param options Optional. The options for the hyperlink. + * @returns The newly created {@link PowerPoint.Hyperlink} object. */ - circularArrow = "CircularArrow", + setHyperlink(options?: PowerPoint.HyperlinkAddOptions): PowerPoint.Hyperlink; /** - * Arrow: Circular with Opposite Arrow Direction + * Selects this `TextRange` in the current view. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - leftCircularArrow = "LeftCircularArrow", + setSelected(): void; /** - * Arrow: Circular with Two Arrows in Both Directions - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - leftRightCircularArrow = "LeftRightCircularArrow", + load(options?: PowerPoint.Interfaces.TextRangeLoadOptions): PowerPoint.TextRange; /** - * Arrow: Curved Right - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - curvedRightArrow = "CurvedRightArrow", + load(propertyNames?: string | string[]): PowerPoint.TextRange; /** - * Arrow: Curved Left - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - curvedLeftArrow = "CurvedLeftArrow", + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.TextRange; /** - * Arrow: Curved Up - * @remarks - * [Api set: PowerPointApi 1.4] + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TextRange` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextRangeData`) that contains shallow copies of any loaded child properties from the original object. */ - curvedUpArrow = "CurvedUpArrow", + toJSON(): PowerPoint.Interfaces.TextRangeData; + } + /** + * Specifies the type of object that a hyperlink is applied to. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + enum HyperlinkType { /** - * Arrow: Curved Down + * Specifies that the hyperlink is applied to a TextRange. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - curvedDownArrow = "CurvedDownArrow", + textRange = "TextRange", /** - * Arrow: Curved Right Arrow with Varying Width + * Specifies that the hyperlink is applied to a Shape. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - swooshArrow = "SwooshArrow", + shape = "Shape", + } + /** + * Represents a single hyperlink. + * + * @remarks + * [Api set: PowerPointApi 1.6] + */ + class Hyperlink extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Cube + * Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.6] */ - cube = "Cube", + address: string; /** - * Cylinder + * Specifies the string displayed when hovering over the hyperlink. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.6] */ - can = "Can", + screenTip: string; /** - * Lightning Bolt + * Returns the type of object that the hyperlink is applied to. See {@link PowerPoint.HyperlinkType} for details. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - lightningBolt = "LightningBolt", + readonly type: PowerPoint.HyperlinkType | "TextRange" | "Shape"; /** - * Heart + * Deletes the hyperlink. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - heart = "Heart", + delete(): void; /** - * Sun + * Returns the {@link PowerPoint.Shape} object that the hyperlink is applied to. + If the hyperlink is not of type `shape`, or it is within a domain that does not currently support a {@link PowerPoint.Shape}, then this method returns an object with its `isNullObject` property set to `true`. + For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - sun = "Sun", + getLinkedShapeOrNullObject(): PowerPoint.Shape; /** - * Moon + * Returns the {@link PowerPoint.TextRange} object that the hyperlink is applied to. + If the hyperlink is not of type `textRange`, or it is within a domain that does not currently support a {@link PowerPoint.TextRange}, then this method returns an object with its `isNullObject` property set to `true`. + For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - moon = "Moon", + getLinkedTextRangeOrNullObject(): PowerPoint.TextRange; /** - * Smiley Face - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - smileyFace = "SmileyFace", + load(options?: PowerPoint.Interfaces.HyperlinkLoadOptions): PowerPoint.Hyperlink; /** - * Explosion: 8 Points - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - irregularSeal1 = "IrregularSeal1", + load(propertyNames?: string | string[]): PowerPoint.Hyperlink; /** - * Explosion: 14 Points - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - irregularSeal2 = "IrregularSeal2", + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.Hyperlink; /** - * Rectangle: Folded Corner - * @remarks - * [Api set: PowerPointApi 1.4] + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Hyperlink` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkData`) that contains shallow copies of any loaded child properties from the original object. */ - foldedCorner = "FoldedCorner", + toJSON(): PowerPoint.Interfaces.HyperlinkData; + } + /** + * Specifies the type of a placeholder. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + enum PlaceholderType { /** - * Rectangle: Beveled + * The placeholder is unsupported. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - bevel = "Bevel", + unsupported = "Unsupported", /** - * Frame + * The placeholder is for a date. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - frame = "Frame", + date = "Date", /** - * Half Frame + * The placeholder is for a slide number. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - halfFrame = "HalfFrame", + slideNumber = "SlideNumber", /** - * L-Shape + * The placeholder is for a footer. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - corner = "Corner", + footer = "Footer", /** - * Diagonal Stripe + * The placeholder is for a header. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - diagonalStripe = "DiagonalStripe", + header = "Header", /** - * Chord + * The placeholder is for a title. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - chord = "Chord", + title = "Title", /** - * Arc + * The placeholder is for a body. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - arc = "Arc", + body = "Body", /** - * Left Bracket + * The placeholder is for a center title. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - leftBracket = "LeftBracket", + centerTitle = "CenterTitle", /** - * Right Bracket + * The placeholder is for a subtitle. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - rightBracket = "RightBracket", + subtitle = "Subtitle", /** - * Left Brace + * The placeholder is for a vertical title. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - leftBrace = "LeftBrace", + verticalTitle = "VerticalTitle", /** - * Right Brace + * The placeholder is for a vertical body. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - rightBrace = "RightBrace", + verticalBody = "VerticalBody", /** - * Double Bracket + * The placeholder is for generic content. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - bracketPair = "BracketPair", + content = "Content", /** - * Double Brace + * The placeholder is for a chart. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - bracePair = "BracePair", + chart = "Chart", /** - * Callout: Line with No Border + * The placeholder is for a table. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - callout1 = "Callout1", + table = "Table", /** - * Callout: Bent Line with No Border + * The placeholder is for an online picture. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - callout2 = "Callout2", + onlinePicture = "OnlinePicture", /** - * Callout: Double Bent Line with No Border + * The placeholder is for a SmartArt. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - callout3 = "Callout3", + smartArt = "SmartArt", /** - * Callout: Line with Accent Bar + * The placeholder is for media. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - accentCallout1 = "AccentCallout1", + media = "Media", /** - * Callout: Bent Line with Accent Bar + * The placeholder is for generic vertical content. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - accentCallout2 = "AccentCallout2", + verticalContent = "VerticalContent", /** - * Callout: Double Bent Line with Accent Bar + * The placeholder is for a picture. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - accentCallout3 = "AccentCallout3", + picture = "Picture", /** - * Callout: Line + * The placeholder is for a cameo. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - borderCallout1 = "BorderCallout1", + cameo = "Cameo", + } + /** + * Specifies the type of a shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum ShapeType { /** - * Callout: Bent Line + * The given shape's type is unsupported. * @remarks * [Api set: PowerPointApi 1.4] */ - borderCallout2 = "BorderCallout2", + unsupported = "Unsupported", /** - * Callout: Double Bent Line + * The shape is an image. * @remarks * [Api set: PowerPointApi 1.4] */ - borderCallout3 = "BorderCallout3", + image = "Image", /** - * Callout: Line with Border and Accent Bar + * The shape is a geometric shape such as rectangle. * @remarks * [Api set: PowerPointApi 1.4] */ - accentBorderCallout1 = "AccentBorderCallout1", + geometricShape = "GeometricShape", /** - * Callout: Bent Line with Border and Accent Bar + * The shape is a group shape which contains sub-shapes. * @remarks * [Api set: PowerPointApi 1.4] */ - accentBorderCallout2 = "AccentBorderCallout2", + group = "Group", /** - * Callout: Double Bent Line with Border and Accent Bar + * The shape is a line. * @remarks * [Api set: PowerPointApi 1.4] */ - accentBorderCallout3 = "AccentBorderCallout3", + line = "Line", /** - * Speech Bubble: Rectangle + * The shape is a table. * @remarks * [Api set: PowerPointApi 1.4] */ - wedgeRectCallout = "WedgeRectCallout", + table = "Table", /** - * Speech Bubble: Rectangle with Corners Rounded + * The shape is a callout. * @remarks * [Api set: PowerPointApi 1.4] */ - wedgeRRectCallout = "WedgeRRectCallout", + callout = "Callout", /** - * Speech Bubble: Oval + * The shape is a chart. * @remarks * [Api set: PowerPointApi 1.4] */ - wedgeEllipseCallout = "WedgeEllipseCallout", + chart = "Chart", /** - * Thought Bubble: Cloud + * The shape is a content Office Add-in. * @remarks * [Api set: PowerPointApi 1.4] */ - cloudCallout = "CloudCallout", + contentApp = "ContentApp", /** - * Cloud + * The shape is a diagram. * @remarks * [Api set: PowerPointApi 1.4] */ - cloud = "Cloud", + diagram = "Diagram", /** - * Ribbon: Tilted Down + * The shape is a freeform object. * @remarks * [Api set: PowerPointApi 1.4] */ - ribbon = "Ribbon", + freeform = "Freeform", /** - * Ribbon: Tilted Up + * The shape is a graphic. * @remarks * [Api set: PowerPointApi 1.4] */ - ribbon2 = "Ribbon2", + graphic = "Graphic", /** - * Ribbon: Curved and Tilted Down + * The shape is an ink object. * @remarks * [Api set: PowerPointApi 1.4] */ - ellipseRibbon = "EllipseRibbon", + ink = "Ink", /** - * Ribbon: Curved and Tilted Up + * The shape is a media object. * @remarks * [Api set: PowerPointApi 1.4] */ - ellipseRibbon2 = "EllipseRibbon2", + media = "Media", /** - * Ribbon: Straight with Both Left and Right Arrows + * The shape is a 3D model. * @remarks * [Api set: PowerPointApi 1.4] */ - leftRightRibbon = "LeftRightRibbon", + model3D = "Model3D", /** - * Scroll: Vertical + * The shape is an OLE (Object Linking and Embedding) object. * @remarks * [Api set: PowerPointApi 1.4] */ - verticalScroll = "VerticalScroll", + ole = "Ole", /** - * Scroll: Horizontal + * The shape is a placeholder. * @remarks * [Api set: PowerPointApi 1.4] */ - horizontalScroll = "HorizontalScroll", + placeholder = "Placeholder", /** - * Wave + * The shape is a SmartArt graphic. * @remarks * [Api set: PowerPointApi 1.4] */ - wave = "Wave", + smartArt = "SmartArt", /** - * Double Wave + * The shape is a text box. * @remarks * [Api set: PowerPointApi 1.4] */ - doubleWave = "DoubleWave", - /** - * Cross - * @remarks + textBox = "TextBox", + } + /** + * Represents the properties of a `placeholder` shape. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + class PlaceholderFormat extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * Gets the type of the shape contained within the placeholder. See {@link PowerPoint.ShapeType} for details. + Returns `null` if the placeholder is empty. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + readonly containedType: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox" | null; + /** + * Returns the type of this placeholder. See {@link PowerPoint.PlaceholderType} for details. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + readonly type: PowerPoint.PlaceholderType | "Unsupported" | "Date" | "SlideNumber" | "Footer" | "Header" | "Title" | "Body" | "CenterTitle" | "Subtitle" | "VerticalTitle" | "VerticalBody" | "Content" | "Chart" | "Table" | "OnlinePicture" | "SmartArt" | "Media" | "VerticalContent" | "Picture" | "Cameo"; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.PlaceholderFormatLoadOptions): PowerPoint.PlaceholderFormat; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.PlaceholderFormat; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.PlaceholderFormat; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.PlaceholderFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.PlaceholderFormatData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.PlaceholderFormatData; + } + /** + * Represents a collection of hyperlinks. + * + * @remarks + * [Api set: PowerPointApi 1.6] + */ + class HyperlinkCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.Hyperlink[]; + /** + * Adds a hyperlink to the specified target with the given options. If the target already contains any hyperlinks, they will be deleted. + The new hyperlink may appear anywhere in the collection and is not guaranteed to be added at the end. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + * + * @param target The target to add the hyperlink to. Can be a {@link PowerPoint.TextRange} or a {@link PowerPoint.Shape}. + * @param options Optional. The options for the hyperlink. + * @returns The newly created {@link PowerPoint.Hyperlink} object. + */ + add(target: TextRange | Shape, options?: PowerPoint.HyperlinkAddOptions): PowerPoint.Hyperlink; + /** + * Gets the number of hyperlinks in the collection. + * + * @remarks + * [Api set: PowerPointApi 1.6] + * @returns The number of hyperlinks in the collection. + */ + getCount(): OfficeExtension.ClientResult; + /** + * Gets a hyperlink using its zero-based index in the collection. An error is thrown if the index is out of range. + Throws an `InvalidArgument` exception when the index is out of range. + * + * @remarks + * [Api set: PowerPointApi 1.6] + * + * @param index The index of the hyperlink in the collection. + * @returns The hyperlink at the given index. + */ + getItemAt(index: number): PowerPoint.Hyperlink; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.HyperlinkCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.HyperlinkCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.HyperlinkCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.HyperlinkCollection; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.HyperlinkCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.HyperlinkCollectionData; + } + /** + * Specifies the connector type for line shapes. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum ConnectorType { + /** + * Straight connector type + * @remarks * [Api set: PowerPointApi 1.4] */ - plus = "Plus", + straight = "Straight", /** - * Flowchart: Process + * Elbow connector type * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartProcess = "FlowChartProcess", + elbow = "Elbow", /** - * Flowchart: Decision + * Curve connector type * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartDecision = "FlowChartDecision", + curve = "Curve", + } + /** + * Specifies the shape type for a `GeometricShape` object. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum GeometricShapeType { /** - * Flowchart: Data + * Straight Line from Top-Right Corner to Bottom-Left Corner of the Shape * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartInputOutput = "FlowChartInputOutput", + lineInverse = "LineInverse", /** - * Flowchart: Predefined Process + * Isosceles Triangle * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartPredefinedProcess = "FlowChartPredefinedProcess", + triangle = "Triangle", /** - * Flowchart: Internal Storage + * Right Triangle * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartInternalStorage = "FlowChartInternalStorage", + rightTriangle = "RightTriangle", /** - * Flowchart: Document + * Rectangle * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartDocument = "FlowChartDocument", + rectangle = "Rectangle", /** - * Flowchart: Multidocument + * Diamond * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartMultidocument = "FlowChartMultidocument", + diamond = "Diamond", /** - * Flowchart: Terminator + * Parallelogram * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartTerminator = "FlowChartTerminator", + parallelogram = "Parallelogram", /** - * Flowchart: Preparation + * Trapezoid * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartPreparation = "FlowChartPreparation", + trapezoid = "Trapezoid", /** - * Flowchart: Manual Input + * Trapezoid which may have Non-Equal Sides * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartManualInput = "FlowChartManualInput", + nonIsoscelesTrapezoid = "NonIsoscelesTrapezoid", /** - * Flowchart: Manual Operation + * Pentagon * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartManualOperation = "FlowChartManualOperation", + pentagon = "Pentagon", /** - * Flowchart: Connector + * Hexagon * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartConnector = "FlowChartConnector", + hexagon = "Hexagon", /** - * Flowchart: Card + * Heptagon * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartPunchedCard = "FlowChartPunchedCard", + heptagon = "Heptagon", /** - * Flowchart: Punched Tape + * Octagon * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartPunchedTape = "FlowChartPunchedTape", + octagon = "Octagon", /** - * Flowchart: Summing Junction + * Decagon * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartSummingJunction = "FlowChartSummingJunction", + decagon = "Decagon", /** - * Flowchart: Or + * Dodecagon * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartOr = "FlowChartOr", + dodecagon = "Dodecagon", /** - * Flowchart: Collate + * Star: 4 Points * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartCollate = "FlowChartCollate", + star4 = "Star4", /** - * Flowchart: Sort + * Star: 5 Points * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartSort = "FlowChartSort", + star5 = "Star5", /** - * Flowchart: Extract + * Star: 6 Points * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartExtract = "FlowChartExtract", + star6 = "Star6", /** - * Flowchart: Merge + * Star: 7 Points * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartMerge = "FlowChartMerge", + star7 = "Star7", /** - * FlowChart: Offline Storage + * Star: 8 Points * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartOfflineStorage = "FlowChartOfflineStorage", + star8 = "Star8", /** - * Flowchart: Stored Data + * Star: 10 Points * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartOnlineStorage = "FlowChartOnlineStorage", + star10 = "Star10", /** - * Flowchart: Sequential Access Storage + * Star: 12 Points * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartMagneticTape = "FlowChartMagneticTape", + star12 = "Star12", /** - * Flowchart: Magnetic Disk + * Star: 16 Points * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartMagneticDisk = "FlowChartMagneticDisk", + star16 = "Star16", /** - * Flowchart: Direct Access Storage + * Star: 24 Points * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartMagneticDrum = "FlowChartMagneticDrum", + star24 = "Star24", /** - * Flowchart: Display + * Star: 32 Points * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartDisplay = "FlowChartDisplay", + star32 = "Star32", /** - * Flowchart: Delay + * Rectangle: Rounded Corners * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartDelay = "FlowChartDelay", + roundRectangle = "RoundRectangle", /** - * Flowchart: Alternate Process + * Rectangle: Single Corner Rounded * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartAlternateProcess = "FlowChartAlternateProcess", + round1Rectangle = "Round1Rectangle", /** - * Flowchart: Off-page Connector + * Rectangle: Top Corners Rounded * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartOffpageConnector = "FlowChartOffpageConnector", + round2SameRectangle = "Round2SameRectangle", /** - * Action Button: Blank + * Rectangle: Diagonal Corners Rounded * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonBlank = "ActionButtonBlank", + round2DiagonalRectangle = "Round2DiagonalRectangle", /** - * Action Button: Go Home + * Rectangle: Top Corners One Rounded and One Snipped * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonHome = "ActionButtonHome", + snipRoundRectangle = "SnipRoundRectangle", /** - * Action Button: Help + * Rectangle: Single Corner Snipped * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonHelp = "ActionButtonHelp", + snip1Rectangle = "Snip1Rectangle", /** - * Action Button: Get Information + * Rectangle: Top Corners Snipped * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonInformation = "ActionButtonInformation", + snip2SameRectangle = "Snip2SameRectangle", /** - * Action Button: Go Forward or Next + * Rectangle: Diagonal Corners Snipped * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonForwardNext = "ActionButtonForwardNext", + snip2DiagonalRectangle = "Snip2DiagonalRectangle", /** - * Action Button: Go Back or Previous + * Plaque * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonBackPrevious = "ActionButtonBackPrevious", + plaque = "Plaque", /** - * Action Button: Go to End + * Oval * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonEnd = "ActionButtonEnd", + ellipse = "Ellipse", /** - * Action Button: Go to Beginning + * Teardrop * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonBeginning = "ActionButtonBeginning", + teardrop = "Teardrop", /** - * Action Button: Return + * Arrow: Pentagon * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonReturn = "ActionButtonReturn", + homePlate = "HomePlate", /** - * Action Button: Document + * Arrow: Chevron * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonDocument = "ActionButtonDocument", + chevron = "Chevron", /** - * Action Button: Sound + * Partial Circle * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonSound = "ActionButtonSound", + pieWedge = "PieWedge", /** - * Action Button: Video + * Partial Circle with Adjustable Spanning Area * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonMovie = "ActionButtonMovie", + pie = "Pie", /** - * Gear: A Gear with Six Teeth + * Block Arc * @remarks * [Api set: PowerPointApi 1.4] */ - gear6 = "Gear6", + blockArc = "BlockArc", /** - * Gear: A Gear with Nine Teeth + * Circle: Hollow * @remarks * [Api set: PowerPointApi 1.4] */ - gear9 = "Gear9", + donut = "Donut", /** - * Funnel + * "Not Allowed" Symbol * @remarks * [Api set: PowerPointApi 1.4] */ - funnel = "Funnel", + noSmoking = "NoSmoking", /** - * Plus Sign + * Arrow: Right * @remarks * [Api set: PowerPointApi 1.4] */ - mathPlus = "MathPlus", + rightArrow = "RightArrow", /** - * Minus Sign + * Arrow: Left * @remarks * [Api set: PowerPointApi 1.4] */ - mathMinus = "MathMinus", + leftArrow = "LeftArrow", /** - * Multiplication Sign + * Arrow: Up * @remarks * [Api set: PowerPointApi 1.4] */ - mathMultiply = "MathMultiply", + upArrow = "UpArrow", /** - * Division Sign + * Arrow: Down * @remarks * [Api set: PowerPointApi 1.4] */ - mathDivide = "MathDivide", + downArrow = "DownArrow", /** - * Equals + * Arrow: Striped Right * @remarks * [Api set: PowerPointApi 1.4] */ - mathEqual = "MathEqual", + stripedRightArrow = "StripedRightArrow", /** - * Not Equal + * Arrow: Notched Right * @remarks * [Api set: PowerPointApi 1.4] */ - mathNotEqual = "MathNotEqual", + notchedRightArrow = "NotchedRightArrow", /** - * Four Right Triangles that Define a Rectangular Shape + * Arrow: Bent-Up * @remarks * [Api set: PowerPointApi 1.4] */ - cornerTabs = "CornerTabs", + bentUpArrow = "BentUpArrow", /** - * Four Small Squares that Define a Rectangular Shape. + * Arrow: Left-Right * @remarks * [Api set: PowerPointApi 1.4] */ - squareTabs = "SquareTabs", + leftRightArrow = "LeftRightArrow", /** - * Four Quarter Circles that Define a Rectangular Shape. + * Arrow: Up-Down * @remarks * [Api set: PowerPointApi 1.4] */ - plaqueTabs = "PlaqueTabs", + upDownArrow = "UpDownArrow", /** - * A Rectangle Divided into Four Parts Along Diagonal Lines. + * Arrow: Left-Up * @remarks * [Api set: PowerPointApi 1.4] */ - chartX = "ChartX", + leftUpArrow = "LeftUpArrow", /** - * A Rectangle Divided into Six Parts Along a Vertical Line and Diagonal Lines. + * Arrow: Left-Right-Up * @remarks * [Api set: PowerPointApi 1.4] */ - chartStar = "ChartStar", + leftRightUpArrow = "LeftRightUpArrow", /** - * A Rectangle Divided Vertically and Horizontally into Four Quarters. + * Arrow: Quad * @remarks * [Api set: PowerPointApi 1.4] */ - chartPlus = "ChartPlus", - } - /** - * Represents the available options when adding shapes. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - interface ShapeAddOptions { + quadArrow = "QuadArrow", /** - * Specifies the height, in points, of the shape. - When not provided, a default value will be used. - Throws an `InvalidArgument` exception when set with a negative value. - * + * Callout: Left Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - height?: number; + leftArrowCallout = "LeftArrowCallout", /** - * Specifies the distance, in points, from the left side of the shape to the left side of the slide. - When not provided, a default value will be used. - * + * Callout: Right Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - left?: number; + rightArrowCallout = "RightArrowCallout", /** - * Specifies the distance, in points, from the top edge of the shape to the top edge of the slide. - When not provided, a default value will be used. - * + * Callout: Up Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - top?: number; + upArrowCallout = "UpArrowCallout", /** - * Specifies the width, in points, of the shape. - When not provided, a default value will be used. - Throws an `InvalidArgument` exception when set with a negative value. - * + * Callout: Down Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - width?: number; - } - /** - * Specifies the dash style for a line. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum ShapeLineDashStyle { + downArrowCallout = "DownArrowCallout", /** - * The dash line pattern. + * Callout: Left-Right Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - dash = "Dash", + leftRightArrowCallout = "LeftRightArrowCallout", /** - * The dash-dot line pattern. + * Callout: Up-Down Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - dashDot = "DashDot", + upDownArrowCallout = "UpDownArrowCallout", /** - * The dash-dot-dot line pattern. + * Callout: Quad Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - dashDotDot = "DashDotDot", + quadArrowCallout = "QuadArrowCallout", /** - * The long dash line pattern. + * Arrow: Bent * @remarks * [Api set: PowerPointApi 1.4] */ - longDash = "LongDash", + bentArrow = "BentArrow", /** - * The long dash-dot line pattern. + * Arrow: U-Turn * @remarks * [Api set: PowerPointApi 1.4] */ - longDashDot = "LongDashDot", + uturnArrow = "UturnArrow", /** - * The round dot line pattern. + * Arrow: Circular * @remarks * [Api set: PowerPointApi 1.4] */ - roundDot = "RoundDot", + circularArrow = "CircularArrow", /** - * The solid line pattern. + * Arrow: Circular with Opposite Arrow Direction * @remarks * [Api set: PowerPointApi 1.4] */ - solid = "Solid", + leftCircularArrow = "LeftCircularArrow", /** - * The square dot line pattern. + * Arrow: Circular with Two Arrows in Both Directions * @remarks * [Api set: PowerPointApi 1.4] */ - squareDot = "SquareDot", + leftRightCircularArrow = "LeftRightCircularArrow", /** - * The long dash-dot-dot line pattern. + * Arrow: Curved Right * @remarks * [Api set: PowerPointApi 1.4] */ - longDashDotDot = "LongDashDotDot", + curvedRightArrow = "CurvedRightArrow", /** - * The system dash line pattern. + * Arrow: Curved Left * @remarks * [Api set: PowerPointApi 1.4] */ - systemDash = "SystemDash", + curvedLeftArrow = "CurvedLeftArrow", /** - * The system dot line pattern. + * Arrow: Curved Up * @remarks * [Api set: PowerPointApi 1.4] */ - systemDot = "SystemDot", + curvedUpArrow = "CurvedUpArrow", /** - * The system dash-dot line pattern. + * Arrow: Curved Down * @remarks * [Api set: PowerPointApi 1.4] */ - systemDashDot = "SystemDashDot", - } - /** - * Represents the properties for a table cell border. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - class Border extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + curvedDownArrow = "CurvedDownArrow", /** - * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). - * + * Arrow: Curved Right Arrow with Varying Width * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - color: string | undefined; + swooshArrow = "SwooshArrow", /** - * Represents the dash style of the line. - * + * Cube * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - dashStyle: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; + cube = "Cube", /** - * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). - * + * Cylinder * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - transparency: number | undefined; + can = "Can", /** - * Represents the weight of the line, in points. - * + * Lightning Bolt * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - weight: number | undefined; + lightningBolt = "LightningBolt", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. + * Heart + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(options?: PowerPoint.Interfaces.BorderLoadOptions): PowerPoint.Border; + heart = "Heart", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * Sun + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNames?: string | string[]): PowerPoint.Border; + sun = "Sun", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * Moon + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.Border; + moon = "Moon", /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.Border` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BorderData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.BorderData; - } - /** - * Represents the borders for a table cell. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - class Borders extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** - * Gets the bottom border. - * + * Smiley Face * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly bottom: PowerPoint.Border; + smileyFace = "SmileyFace", /** - * Gets the diagonal border (top-left to bottom-right). - * + * Explosion: 8 Points * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly diagonalDown: PowerPoint.Border; + irregularSeal1 = "IrregularSeal1", /** - * Gets the diagonal border (bottom-left to top-right). - * + * Explosion: 14 Points * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly diagonalUp: PowerPoint.Border; + irregularSeal2 = "IrregularSeal2", /** - * Gets the left border. - * + * Rectangle: Folded Corner * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly left: PowerPoint.Border; + foldedCorner = "FoldedCorner", /** - * Gets the right border. - * + * Rectangle: Beveled * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly right: PowerPoint.Border; + bevel = "Bevel", /** - * Gets the top border. - * + * Frame * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly top: PowerPoint.Border; + frame = "Frame", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. + * Half Frame + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(options?: PowerPoint.Interfaces.BordersLoadOptions): PowerPoint.Borders; + halfFrame = "HalfFrame", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * L-Shape + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNames?: string | string[]): PowerPoint.Borders; + corner = "Corner", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * Diagonal Stripe + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.Borders; + diagonalStripe = "DiagonalStripe", /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.Borders` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BordersData`) that contains shallow copies of any loaded child properties from the original object. + * Chord + * @remarks + * [Api set: PowerPointApi 1.4] */ - toJSON(): PowerPoint.Interfaces.BordersData; - } - /** - * Represents the margins of a table cell. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - class Margins extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + chord = "Chord", /** - * Specifies the bottom margin in points. - * + * Arc * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - bottom: number | undefined; + arc = "Arc", /** - * Specifies the left margin in points. - * + * Left Bracket * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - left: number | undefined; + leftBracket = "LeftBracket", /** - * Specifies the right margin in points. - * + * Right Bracket * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - right: number | undefined; + rightBracket = "RightBracket", /** - * Specifies the top margin in points. - * + * Left Brace * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - top: number | undefined; + leftBrace = "LeftBrace", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. + * Right Brace + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(options?: PowerPoint.Interfaces.MarginsLoadOptions): PowerPoint.Margins; + rightBrace = "RightBrace", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * Double Bracket + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNames?: string | string[]): PowerPoint.Margins; + bracketPair = "BracketPair", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * Double Brace + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.Margins; + bracePair = "BracePair", /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.Margins` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.MarginsData`) that contains shallow copies of any loaded child properties from the original object. + * Callout: Line with No Border + * @remarks + * [Api set: PowerPointApi 1.4] */ - toJSON(): PowerPoint.Interfaces.MarginsData; - } - /** - * Represents the horizontal alignment of the {@link PowerPoint.TextFrame} in a {@link PowerPoint.Shape}. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum ParagraphHorizontalAlignment { + callout1 = "Callout1", /** - * Align text to the left margin. + * Callout: Bent Line with No Border * @remarks * [Api set: PowerPointApi 1.4] */ - left = "Left", + callout2 = "Callout2", /** - * Align text in the center. + * Callout: Double Bent Line with No Border * @remarks * [Api set: PowerPointApi 1.4] */ - center = "Center", + callout3 = "Callout3", /** - * Align text to the right margin. + * Callout: Line with Accent Bar * @remarks * [Api set: PowerPointApi 1.4] */ - right = "Right", + accentCallout1 = "AccentCallout1", /** - * Align text so that it's justified across the whole line. + * Callout: Bent Line with Accent Bar * @remarks * [Api set: PowerPointApi 1.4] */ - justify = "Justify", + accentCallout2 = "AccentCallout2", /** - * Specifies the alignment or adjustment of kashida length in Arabic text. + * Callout: Double Bent Line with Accent Bar * @remarks * [Api set: PowerPointApi 1.4] */ - justifyLow = "JustifyLow", + accentCallout3 = "AccentCallout3", /** - * Distributes the text words across an entire text line. + * Callout: Line * @remarks * [Api set: PowerPointApi 1.4] */ - distributed = "Distributed", + borderCallout1 = "BorderCallout1", /** - * Distributes Thai text specially, because each character is treated as a word. + * Callout: Bent Line * @remarks * [Api set: PowerPointApi 1.4] */ - thaiDistributed = "ThaiDistributed", - } - /** - * Specifies a shape's fill type. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum ShapeFillType { + borderCallout2 = "BorderCallout2", /** - * Specifies that the shape should have no fill. + * Callout: Double Bent Line * @remarks * [Api set: PowerPointApi 1.4] */ - noFill = "NoFill", + borderCallout3 = "BorderCallout3", /** - * Specifies that the shape should have regular solid fill. + * Callout: Line with Border and Accent Bar * @remarks * [Api set: PowerPointApi 1.4] */ - solid = "Solid", + accentBorderCallout1 = "AccentBorderCallout1", /** - * Specifies that the shape should have gradient fill. + * Callout: Bent Line with Border and Accent Bar * @remarks * [Api set: PowerPointApi 1.4] */ - gradient = "Gradient", + accentBorderCallout2 = "AccentBorderCallout2", /** - * Specifies that the shape should have pattern fill. + * Callout: Double Bent Line with Border and Accent Bar * @remarks * [Api set: PowerPointApi 1.4] */ - pattern = "Pattern", + accentBorderCallout3 = "AccentBorderCallout3", /** - * Specifies that the shape should have picture or texture fill. + * Speech Bubble: Rectangle * @remarks * [Api set: PowerPointApi 1.4] */ - pictureAndTexture = "PictureAndTexture", + wedgeRectCallout = "WedgeRectCallout", /** - * Specifies that the shape should have slide background fill. + * Speech Bubble: Rectangle with Corners Rounded * @remarks * [Api set: PowerPointApi 1.4] */ - slideBackground = "SlideBackground", - } - /** - * Represents the fill formatting of a shape object. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - class ShapeFill extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + wedgeRRectCallout = "WedgeRRectCallout", /** - * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). - * + * Speech Bubble: Oval * @remarks * [Api set: PowerPointApi 1.4] */ - foregroundColor: string; + wedgeEllipseCallout = "WedgeEllipseCallout", /** - * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. - * + * Thought Bubble: Cloud * @remarks * [Api set: PowerPointApi 1.4] */ - transparency: number; + cloudCallout = "CloudCallout", /** - * Returns the fill type of the shape. See {@link PowerPoint.ShapeFillType} for details. - * + * Cloud * @remarks * [Api set: PowerPointApi 1.4] */ - readonly type: PowerPoint.ShapeFillType | "NoFill" | "Solid" | "Gradient" | "Pattern" | "PictureAndTexture" | "SlideBackground"; + cloud = "Cloud", /** - * Clears the fill formatting of this shape. - * + * Ribbon: Tilted Down * @remarks * [Api set: PowerPointApi 1.4] */ - clear(): void; + ribbon = "Ribbon", /** - * Sets the fill formatting of the shape to an image. This changes the fill type to `PictureAndTexture`. - * + * Ribbon: Tilted Up * @remarks - * [Api set: PowerPointApi 1.8] - * - * @param base64EncodedImage A string that is a Base64 encoding of the image data. + * [Api set: PowerPointApi 1.4] */ - setImage(base64EncodedImage: string): void; + ribbon2 = "Ribbon2", /** - * Sets the fill formatting of the shape to a uniform color. This changes the fill type to `Solid`. - * + * Ribbon: Curved and Tilted Down * @remarks * [Api set: PowerPointApi 1.4] - * - * @param color A string that specifies the fill color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). */ - setSolidColor(color: string): void; + ellipseRibbon = "EllipseRibbon", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. + * Ribbon: Curved and Tilted Up + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(options?: PowerPoint.Interfaces.ShapeFillLoadOptions): PowerPoint.ShapeFill; + ellipseRibbon2 = "EllipseRibbon2", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * Ribbon: Straight with Both Left and Right Arrows + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNames?: string | string[]): PowerPoint.ShapeFill; + leftRightRibbon = "LeftRightRibbon", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * Scroll: Vertical + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.ShapeFill; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.ShapeFill` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFillData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.ShapeFillData; - } - /** - * The type of underline applied to a font. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum ShapeFontUnderlineStyle { + verticalScroll = "VerticalScroll", /** - * No underlining. + * Scroll: Horizontal * @remarks * [Api set: PowerPointApi 1.4] */ - none = "None", + horizontalScroll = "HorizontalScroll", /** - * Regular single line underlining. + * Wave * @remarks * [Api set: PowerPointApi 1.4] */ - single = "Single", + wave = "Wave", /** - * Underlining of text with double lines. + * Double Wave * @remarks * [Api set: PowerPointApi 1.4] */ - double = "Double", + doubleWave = "DoubleWave", /** - * Underlining of text with a thick line. + * Cross * @remarks * [Api set: PowerPointApi 1.4] */ - heavy = "Heavy", + plus = "Plus", /** - * Underlining of text with a dotted line. + * Flowchart: Process * @remarks * [Api set: PowerPointApi 1.4] */ - dotted = "Dotted", + flowChartProcess = "FlowChartProcess", /** - * Underlining of text with a thick, dotted line. + * Flowchart: Decision * @remarks * [Api set: PowerPointApi 1.4] */ - dottedHeavy = "DottedHeavy", + flowChartDecision = "FlowChartDecision", /** - * Underlining of text with a line containing dashes. + * Flowchart: Data * @remarks * [Api set: PowerPointApi 1.4] */ - dash = "Dash", + flowChartInputOutput = "FlowChartInputOutput", /** - * Underlining of text with a thick line containing dashes. + * Flowchart: Predefined Process * @remarks * [Api set: PowerPointApi 1.4] */ - dashHeavy = "DashHeavy", + flowChartPredefinedProcess = "FlowChartPredefinedProcess", /** - * Underlining of text with a line containing long dashes. + * Flowchart: Internal Storage * @remarks * [Api set: PowerPointApi 1.4] */ - dashLong = "DashLong", + flowChartInternalStorage = "FlowChartInternalStorage", /** - * Underlining of text with a thick line containing long dashes. + * Flowchart: Document * @remarks * [Api set: PowerPointApi 1.4] */ - dashLongHeavy = "DashLongHeavy", + flowChartDocument = "FlowChartDocument", /** - * Underlining of text with a line containing dots and dashes. + * Flowchart: Multidocument * @remarks * [Api set: PowerPointApi 1.4] */ - dotDash = "DotDash", + flowChartMultidocument = "FlowChartMultidocument", /** - * Underlining of text with a thick line containing dots and dashes. + * Flowchart: Terminator * @remarks * [Api set: PowerPointApi 1.4] */ - dotDashHeavy = "DotDashHeavy", + flowChartTerminator = "FlowChartTerminator", /** - * Underlining of text with a line containing double dots and dashes. + * Flowchart: Preparation * @remarks * [Api set: PowerPointApi 1.4] */ - dotDotDash = "DotDotDash", + flowChartPreparation = "FlowChartPreparation", /** - * Underlining of text with a thick line containing double dots and dashes. + * Flowchart: Manual Input * @remarks * [Api set: PowerPointApi 1.4] */ - dotDotDashHeavy = "DotDotDashHeavy", + flowChartManualInput = "FlowChartManualInput", /** - * Underlining of text with a wavy line. + * Flowchart: Manual Operation * @remarks * [Api set: PowerPointApi 1.4] */ - wavy = "Wavy", + flowChartManualOperation = "FlowChartManualOperation", /** - * Underlining of text with a thick, wavy line. + * Flowchart: Connector * @remarks * [Api set: PowerPointApi 1.4] */ - wavyHeavy = "WavyHeavy", + flowChartConnector = "FlowChartConnector", /** - * Underlining of text with double wavy lines. + * Flowchart: Card * @remarks * [Api set: PowerPointApi 1.4] */ - wavyDouble = "WavyDouble", - } - /** - * Represents the font attributes, such as font name, font size, and color, for a shape's TextRange object. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - class ShapeFont extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + flowChartPunchedCard = "FlowChartPunchedCard", /** - * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: - - - `true`: All the text has the **All Caps** attribute. - - - `false`: None of the text has the **All Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. - * + * Flowchart: Punched Tape * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - allCaps: boolean | null; + flowChartPunchedTape = "FlowChartPunchedTape", /** - * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: - - - `true`: All the text is bold. - - - `false`: None of the text is bold. - - - `null`: Returned if some, but not all, of the text is bold. - * + * Flowchart: Summing Junction * @remarks * [Api set: PowerPointApi 1.4] */ - bold: boolean | null; + flowChartSummingJunction = "FlowChartSummingJunction", /** - * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. - * + * Flowchart: Or * @remarks * [Api set: PowerPointApi 1.4] */ - color: string | null; + flowChartOr = "FlowChartOr", /** - * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Double strikethrough** attribute. - - - `false`: None of the text has the **Double strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. - * + * Flowchart: Collate * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - doubleStrikethrough: boolean | null; + flowChartCollate = "FlowChartCollate", /** - * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: - - - `true`: All the text is italicized. - - - `false`: None of the text is italicized. - - - `null`: Returned if some, but not all, of the text is italicized. - * + * Flowchart: Sort * @remarks * [Api set: PowerPointApi 1.4] */ - italic: boolean | null; + flowChartSort = "FlowChartSort", /** - * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. - * + * Flowchart: Extract * @remarks * [Api set: PowerPointApi 1.4] */ - name: string | null; + flowChartExtract = "FlowChartExtract", /** - * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. - * + * Flowchart: Merge * @remarks * [Api set: PowerPointApi 1.4] */ - size: number | null; + flowChartMerge = "FlowChartMerge", /** - * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: - - - `true`: All the text has the **Small Caps** attribute. - - - `false`: None of the text has the **Small Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. - * + * FlowChart: Offline Storage * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - smallCaps: boolean | null; + flowChartOfflineStorage = "FlowChartOfflineStorage", /** - * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Strikethrough** attribute. - - - `false`: None of the text has the **Strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. - * + * Flowchart: Stored Data * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - strikethrough: boolean | null; + flowChartOnlineStorage = "FlowChartOnlineStorage", /** - * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Subscript** attribute. - - - `false`: None of the text has the **Subscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. - * + * Flowchart: Sequential Access Storage * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - subscript: boolean | null; + flowChartMagneticTape = "FlowChartMagneticTape", /** - * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Superscript** attribute. - - - `false`: None of the text has the **Superscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. - * + * Flowchart: Magnetic Disk * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - superscript: boolean | null; + flowChartMagneticDisk = "FlowChartMagneticDisk", /** - * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. - * + * Flowchart: Direct Access Storage * @remarks * [Api set: PowerPointApi 1.4] */ - underline: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; + flowChartMagneticDrum = "FlowChartMagneticDrum", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. + * Flowchart: Display + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(options?: PowerPoint.Interfaces.ShapeFontLoadOptions): PowerPoint.ShapeFont; + flowChartDisplay = "FlowChartDisplay", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * Flowchart: Delay + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNames?: string | string[]): PowerPoint.ShapeFont; + flowChartDelay = "FlowChartDelay", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * Flowchart: Alternate Process + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.ShapeFont; + flowChartAlternateProcess = "FlowChartAlternateProcess", /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.ShapeFont` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFontData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.ShapeFontData; - } - /** - * Represents the font attributes, such as font name, size, and color. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - interface FontProperties { + * Flowchart: Off-page Connector + * @remarks + * [Api set: PowerPointApi 1.4] + */ + flowChartOffpageConnector = "FlowChartOffpageConnector", /** - * Represents whether the font uses all caps, where lowercase letters are shown as capital letters. - * + * Action Button: Blank * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - allCaps?: boolean | undefined; + actionButtonBlank = "ActionButtonBlank", /** - * Represents the bold status of font. - * + * Action Button: Go Home * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - bold?: boolean | undefined; + actionButtonHome = "ActionButtonHome", /** - * Represents the HTML color in the hexadecimal format (e.g., "#FF0000" represents red) or as a named HTML color value (e.g., "red"). - * + * Action Button: Help * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - color?: string | undefined; + actionButtonHelp = "ActionButtonHelp", /** - * Represents the double-strikethrough status of the font. - * + * Action Button: Get Information * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - doubleStrikethrough?: boolean | undefined; + actionButtonInformation = "ActionButtonInformation", /** - * Represents the italic status of font. - * + * Action Button: Go Forward or Next * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - italic?: boolean | undefined; + actionButtonForwardNext = "ActionButtonForwardNext", /** - * Represents the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. - * + * Action Button: Go Back or Previous * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - name?: string | undefined; + actionButtonBackPrevious = "ActionButtonBackPrevious", /** - * Represents the font size in points (e.g., 11). - * + * Action Button: Go to End * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - size?: number | undefined; + actionButtonEnd = "ActionButtonEnd", /** - * Represents whether the text uses small caps, where lowercase letters are shown as small capital letters. - * + * Action Button: Go to Beginning * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - smallCaps?: boolean | undefined; + actionButtonBeginning = "ActionButtonBeginning", /** - * Represents the strikethrough status of the font. - * + * Action Button: Return * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - strikethrough?: boolean | undefined; + actionButtonReturn = "ActionButtonReturn", /** - * Represents the subscript status of the font. - * + * Action Button: Document * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - subscript?: boolean | undefined; + actionButtonDocument = "ActionButtonDocument", /** - * Represents the superscript status of the font. - * + * Action Button: Sound * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - superscript?: boolean | undefined; + actionButtonSound = "ActionButtonSound", /** - * Type of underline applied to the font. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. - * + * Action Button: Video * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | undefined; - } - /** - * Represents a sequence of one or more characters with the same font attributes. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - interface TextRun { + actionButtonMovie = "ActionButtonMovie", /** - * The font attributes (such as font name, font size, and color) applied to this text run. - * + * Gear: A Gear with Six Teeth * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - font?: PowerPoint.FontProperties; + gear6 = "Gear6", /** - * The text of this text run. - * + * Gear: A Gear with Nine Teeth * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - text: string; - } - /** - * Represents the vertical alignment of a {@link PowerPoint.TextFrame} in a {@link PowerPoint.Shape}. - If one of the centered options is selected, the contents of the `TextFrame` will be centered horizontally within the `Shape` as a group. - To change the horizontal alignment of a text, see {@link PowerPoint.ParagraphFormat} and {@link PowerPoint.ParagraphHorizontalAlignment}. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum TextVerticalAlignment { + gear9 = "Gear9", /** - * Specifies that the `TextFrame` should be top aligned to the `Shape`. + * Funnel * @remarks * [Api set: PowerPointApi 1.4] */ - top = "Top", + funnel = "Funnel", /** - * Specifies that the `TextFrame` should be center aligned to the `Shape`. + * Plus Sign * @remarks * [Api set: PowerPointApi 1.4] */ - middle = "Middle", + mathPlus = "MathPlus", /** - * Specifies that the `TextFrame` should be bottom aligned to the `Shape`. + * Minus Sign * @remarks * [Api set: PowerPointApi 1.4] */ - bottom = "Bottom", + mathMinus = "MathMinus", /** - * Specifies that the `TextFrame` should be top aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. + * Multiplication Sign * @remarks * [Api set: PowerPointApi 1.4] */ - topCentered = "TopCentered", + mathMultiply = "MathMultiply", /** - * Specifies that the `TextFrame` should be center aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. + * Division Sign * @remarks * [Api set: PowerPointApi 1.4] */ - middleCentered = "MiddleCentered", + mathDivide = "MathDivide", /** - * Specifies that the `TextFrame` should be bottom aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. + * Equals * @remarks * [Api set: PowerPointApi 1.4] */ - bottomCentered = "BottomCentered", + mathEqual = "MathEqual", + /** + * Not Equal + * @remarks + * [Api set: PowerPointApi 1.4] + */ + mathNotEqual = "MathNotEqual", + /** + * Four Right Triangles that Define a Rectangular Shape + * @remarks + * [Api set: PowerPointApi 1.4] + */ + cornerTabs = "CornerTabs", + /** + * Four Small Squares that Define a Rectangular Shape. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + squareTabs = "SquareTabs", + /** + * Four Quarter Circles that Define a Rectangular Shape. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + plaqueTabs = "PlaqueTabs", + /** + * A Rectangle Divided into Four Parts Along Diagonal Lines. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + chartX = "ChartX", + /** + * A Rectangle Divided into Six Parts Along a Vertical Line and Diagonal Lines. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + chartStar = "ChartStar", + /** + * A Rectangle Divided Vertically and Horizontally into Four Quarters. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + chartPlus = "ChartPlus", } /** - * Represents a table. + * Represents the available options when adding shapes. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - class TableCell extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + interface ShapeAddOptions { /** - * Gets the collection of borders for the table cell. + * Specifies the height, in points, of the shape. + When not provided, a default value will be used. + Throws an `InvalidArgument` exception when set with a negative value. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly borders: PowerPoint.Borders; + height?: number; /** - * Gets the fill color of the table cell. + * Specifies the distance, in points, from the left side of the shape to the left side of the slide. + When not provided, a default value will be used. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly fill: PowerPoint.ShapeFill; + left?: number; /** - * Gets the font of the table cell. + * Specifies the distance, in points, from the top edge of the shape to the top edge of the slide. + When not provided, a default value will be used. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly font: PowerPoint.ShapeFont; + top?: number; /** - * Gets the set of margins in the table cell. + * Specifies the width, in points, of the shape. + When not provided, a default value will be used. + Throws an `InvalidArgument` exception when set with a negative value. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly margins: PowerPoint.Margins; + width?: number; + } + /** + * Specifies the dash style for a line. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum ShapeLineDashStyle { /** - * Gets the number of table columns this cell spans across. - Will be greater than or equal to 1. - * + * The dash line pattern. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - readonly columnCount: number; + dash = "Dash", /** - * Gets the zero-based column index of the cell within the table. - * + * The dash-dot line pattern. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - readonly columnIndex: number; + dashDot = "DashDot", /** - * Specifies the horizontal alignment of the text in the table cell. Returns `null` if the cell text contains different alignments. - * + * The dash-dot-dot line pattern. * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - horizontalAlignment: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; + dashDotDot = "DashDotDot", /** - * Specifies the indent level of the text in the table cell. Returns `null` if the cell text contains different indent levels. - * + * The long dash line pattern. * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - indentLevel: number | null; + longDash = "LongDash", /** - * Gets the number of table rows this cell spans across. - Will be greater than or equal to 1. - * + * The long dash-dot line pattern. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - readonly rowCount: number; + longDashDot = "LongDashDot", /** - * Gets the zero-based row index of the cell within the table. - * + * The round dot line pattern. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - readonly rowIndex: number; + roundDot = "RoundDot", /** - * Specifies the text content of the table cell. - * + * The solid line pattern. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - text: string; + solid = "Solid", /** - * Specifies the contents of the table cell as an array of {@link PowerPoint.TextRun} objects. - Each `TextRun` object represents a sequence of one or more characters that share the same font attributes. + * The square dot line pattern. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + squareDot = "SquareDot", + /** + * The long dash-dot-dot line pattern. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + longDashDotDot = "LongDashDotDot", + /** + * The system dash line pattern. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + systemDash = "SystemDash", + /** + * The system dot line pattern. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + systemDot = "SystemDot", + /** + * The system dash-dot line pattern. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + systemDashDot = "SystemDashDot", + } + /** + * Represents the properties for a table cell border. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + class Border extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). * * @remarks * [Api set: PowerPointApi 1.9] */ - textRuns: PowerPoint.TextRun[]; + color: string | undefined; /** - * Specifies the vertical alignment of the text in the table cell. + * Represents the dash style of the line. * * @remarks * [Api set: PowerPointApi 1.9] */ - verticalAlignment: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; + dashStyle: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; /** - * Resizes the table cell to span across a specified number of rows and columns. - If rowCount or columnCount are greater than 1, the cell will become a merged area. If the cell - is already a merged area and rowCount and columnCount are set to 1, the cell will no longer be - a merged area. + * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). * * @remarks * [Api set: PowerPointApi 1.9] - * - * @param rowCount The number of rows the cell will span across. Must be greater than 0. - * @param columnCount The number of columns the cell will span across. Must be greater than 0. */ - resize(rowCount: number, columnCount: number): void; + transparency: number | undefined; /** - * Splits the cell into the specified number of rows and columns. + * Represents the weight of the line, in points. * * @remarks * [Api set: PowerPointApi 1.9] - * - * @param rowCount The number of rows to split into. Must be greater than 0. - * @param columnCount The number of columns to split into. Must be greater than 0. */ - split(rowCount: number, columnCount: number): void; + weight: number | undefined; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TableCellLoadOptions): PowerPoint.TableCell; + load(options?: PowerPoint.Interfaces.BorderLoadOptions): PowerPoint.Border; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TableCell; + load(propertyNames?: string | string[]): PowerPoint.Border; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -184677,109 +185209,140 @@ declare namespace PowerPoint { load(propertyNamesAndPaths?: { select?: string; expand?: string; - }): PowerPoint.TableCell; + }): PowerPoint.Border; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TableCell` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableCellData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.TableCellData; + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Border` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BorderData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.BorderData; } /** - * Represents a collection of table cells. + * Represents the borders for a table cell. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - class TableCellCollection extends OfficeExtension.ClientObject { + class Borders extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.TableCell[]; /** - * Gets the number of table cells in the collection. + * Gets the bottom border. * * @remarks - * [Api set: PowerPointApi 1.8] - * @returns The number of table cells in the collection. + * [Api set: PowerPointApi 1.9] */ - getCount(): OfficeExtension.ClientResult; + readonly bottom: PowerPoint.Border; /** - * Gets the table cell using its zero-based index in the collection. If the `TableCell` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * Gets the diagonal border (top-left to bottom-right). * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] + */ + readonly diagonalDown: PowerPoint.Border; + /** + * Gets the diagonal border (bottom-left to top-right). * - * @param row Row index value of the table cell to be retrieved, as a zero-based index. - * @param column Column index value of the table cell to be retrieved, as a zero-based index. - * @returns The `TableCell` object. + * @remarks + * [Api set: PowerPointApi 1.9] */ - getItemAtOrNullObject(row: number, column: number): PowerPoint.TableCell; + readonly diagonalUp: PowerPoint.Border; + /** + * Gets the left border. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + readonly left: PowerPoint.Border; + /** + * Gets the right border. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + readonly right: PowerPoint.Border; + /** + * Gets the top border. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + readonly top: PowerPoint.Border; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TableCellCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.TableCellCollection; + load(options?: PowerPoint.Interfaces.BordersLoadOptions): PowerPoint.Borders; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TableCellCollection; + load(propertyNames?: string | string[]): PowerPoint.Borders; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.TableCellCollection; + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.Borders; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TableCellCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableCellCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + * Whereas the original `PowerPoint.Borders` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BordersData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.TableCellCollectionData; + toJSON(): PowerPoint.Interfaces.BordersData; } /** - * Represents a column in a table. + * Represents the margins of a table cell. * * @remarks * [Api set: PowerPointApi 1.9] */ - class TableColumn extends OfficeExtension.ClientObject { + class Margins extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Returns the index number of the column within the column collection of the table. Zero-indexed. + * Specifies the bottom margin in points. * * @remarks * [Api set: PowerPointApi 1.9] */ - readonly columnIndex: number; + bottom: number | undefined; /** - * Retrieves the width of the column in points. If the set column width is less than the minimum width, the column width will be increased to the minimum width. + * Specifies the left margin in points. * * @remarks * [Api set: PowerPointApi 1.9] */ - width: number; + left: number | undefined; /** - * Deletes the column. + * Specifies the right margin in points. * * @remarks * [Api set: PowerPointApi 1.9] */ - delete(): void; + right: number | undefined; + /** + * Specifies the top margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + top: number | undefined; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TableColumnLoadOptions): PowerPoint.TableColumn; + load(options?: PowerPoint.Interfaces.MarginsLoadOptions): PowerPoint.Margins; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TableColumn; + load(propertyNames?: string | string[]): PowerPoint.Margins; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -184788,230 +185351,516 @@ declare namespace PowerPoint { load(propertyNamesAndPaths?: { select?: string; expand?: string; - }): PowerPoint.TableColumn; + }): PowerPoint.Margins; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TableColumn` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableColumnData`) that contains shallow copies of any loaded child properties from the original object. + * Whereas the original `PowerPoint.Margins` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.MarginsData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.TableColumnData; + toJSON(): PowerPoint.Interfaces.MarginsData; } /** - * Represents the fill formatting of a table cell. + * Specifies a shape's fill type. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - interface FillProperties { + enum ShapeFillType { /** - * Represents the shape fill color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). - * + * Specifies that the shape should have no fill. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - color?: string | undefined; + noFill = "NoFill", /** - * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). - * + * Specifies that the shape should have regular solid fill. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - transparency?: number | undefined; - } - /** - * Represents the properties for a table cell border. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - interface BorderProperties { + solid = "Solid", /** - * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). - * + * Specifies that the shape should have gradient fill. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - color?: string | undefined; + gradient = "Gradient", /** - * Represents the dash style of the line. + * Specifies that the shape should have pattern fill. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + pattern = "Pattern", + /** + * Specifies that the shape should have picture or texture fill. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + pictureAndTexture = "PictureAndTexture", + /** + * Specifies that the shape should have slide background fill. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + slideBackground = "SlideBackground", + } + /** + * Represents the fill formatting of a shape object. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + class ShapeFill extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; + foregroundColor: string; /** - * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). + * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - transparency?: number | undefined; + transparency: number; /** - * Represents the weight of the line, in points. + * Returns the fill type of the shape. See {@link PowerPoint.ShapeFillType} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + readonly type: PowerPoint.ShapeFillType | "NoFill" | "Solid" | "Gradient" | "Pattern" | "PictureAndTexture" | "SlideBackground"; + /** + * Clears the fill formatting of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + clear(): void; + /** + * Sets the fill formatting of the shape to an image. This changes the fill type to `PictureAndTexture`. * * @remarks * [Api set: PowerPointApi 1.8] + * + * @param base64EncodedImage A string that is a Base64 encoding of the image data. */ - weight?: number | undefined; + setImage(base64EncodedImage: string): void; + /** + * Sets the fill formatting of the shape to a uniform color. This changes the fill type to `Solid`. + * + * @remarks + * [Api set: PowerPointApi 1.4] + * + * @param color A string that specifies the fill color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). + */ + setSolidColor(color: string): void; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.ShapeFillLoadOptions): PowerPoint.ShapeFill; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.ShapeFill; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.ShapeFill; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeFill` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFillData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.ShapeFillData; } /** - * Represents the borders of a table cell. + * Represents the font attributes, such as font name, size, and color. * * @remarks * [Api set: PowerPointApi 1.8] */ - interface TableCellBorders { + interface FontProperties { /** - * Represents the bottom border. + * Represents whether the font uses all caps, where lowercase letters are shown as capital letters. * * @remarks * [Api set: PowerPointApi 1.8] */ - bottom?: PowerPoint.BorderProperties; + allCaps?: boolean | undefined; /** - * Represents the diagonal border (top-left to bottom-right). + * Represents the bold status of font. * * @remarks * [Api set: PowerPointApi 1.8] */ - diagonalDown?: PowerPoint.BorderProperties; + bold?: boolean | undefined; /** - * Represents the diagonal border (bottom-left to top-right). + * Represents the HTML color in the hexadecimal format (e.g., "#FF0000" represents red) or as a named HTML color value (e.g., "red"). * * @remarks * [Api set: PowerPointApi 1.8] */ - diagonalUp?: PowerPoint.BorderProperties; + color?: string | undefined; /** - * Represents the left border. + * Represents the double-strikethrough status of the font. * * @remarks * [Api set: PowerPointApi 1.8] */ - left?: PowerPoint.BorderProperties; + doubleStrikethrough?: boolean | undefined; /** - * Represents the right border. + * Represents the italic status of font. * * @remarks * [Api set: PowerPointApi 1.8] */ - right?: PowerPoint.BorderProperties; + italic?: boolean | undefined; /** - * Represents the top border. + * Represents the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. * * @remarks * [Api set: PowerPointApi 1.8] */ - top?: PowerPoint.BorderProperties; - } - /** - * Represents the margins of a table cell. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - interface TableCellMargins { + name?: string | undefined; /** - * Specifies the bottom margin in points. + * Represents the font size in points (e.g., 11). * * @remarks * [Api set: PowerPointApi 1.8] */ - bottom?: number | undefined; + size?: number | undefined; /** - * Specifies the left margin in points. + * Represents whether the text uses small caps, where lowercase letters are shown as small capital letters. * * @remarks * [Api set: PowerPointApi 1.8] */ - left?: number | undefined; + smallCaps?: boolean | undefined; /** - * Specifies the right margin in points. + * Represents the strikethrough status of the font. * * @remarks * [Api set: PowerPointApi 1.8] */ - right?: number | undefined; + strikethrough?: boolean | undefined; /** - * Specifies the top margin in points. + * Represents the subscript status of the font. * * @remarks * [Api set: PowerPointApi 1.8] */ - top?: number | undefined; + subscript?: boolean | undefined; + /** + * Represents the superscript status of the font. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + superscript?: boolean | undefined; + /** + * Type of underline applied to the font. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | undefined; } /** - * Represents the table cell properties to update. + * Represents a sequence of one or more characters with the same font attributes. * * @remarks * [Api set: PowerPointApi 1.8] */ - interface TableCellProperties { + interface TextRun { /** - * Specifies the border formatting of the table cell. + * The font attributes (such as font name, font size, and color) applied to this text run. * * @remarks * [Api set: PowerPointApi 1.8] */ - borders?: PowerPoint.TableCellBorders; + font?: PowerPoint.FontProperties; /** - * Specifies the fill formatting of the table cell. + * The text of this text run. * * @remarks * [Api set: PowerPointApi 1.8] */ - fill?: PowerPoint.FillProperties; + text: string; + } + /** + * Represents a table. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + class TableCell extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Specifies the font formatting of the table cell. + * Gets the collection of borders for the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + readonly borders: PowerPoint.Borders; + /** + * Gets the fill color of the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + readonly fill: PowerPoint.ShapeFill; + /** + * Gets the font of the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + readonly font: PowerPoint.ShapeFont; + /** + * Gets the set of margins in the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + readonly margins: PowerPoint.Margins; + /** + * Gets the number of table columns this cell spans across. + Will be greater than or equal to 1. * * @remarks * [Api set: PowerPointApi 1.8] */ - font?: PowerPoint.FontProperties; + readonly columnCount: number; /** - * Represents the horizontal alignment of the text in the table cell. + * Gets the zero-based column index of the cell within the table. * * @remarks * [Api set: PowerPointApi 1.8] */ - horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | undefined; + readonly columnIndex: number; + /** + * Specifies the horizontal alignment of the text in the table cell. Returns `null` if the cell text contains different alignments. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + horizontalAlignment: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; + /** + * Specifies the indent level of the text in the table cell. Returns `null` if the cell text contains different indent levels. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + indentLevel: number | null; /** - * Represents the indent level of the text in the table cell. + * Gets the number of table rows this cell spans across. + Will be greater than or equal to 1. * * @remarks * [Api set: PowerPointApi 1.8] */ - indentLevel?: number | undefined; + readonly rowCount: number; /** - * Specifies the margin settings in the table cell. + * Gets the zero-based row index of the cell within the table. * * @remarks * [Api set: PowerPointApi 1.8] */ - margins?: PowerPoint.TableCellMargins; + readonly rowIndex: number; /** * Specifies the text content of the table cell. - - If a portion of the text requires different formatting, use the `textRuns` property instead. * * @remarks * [Api set: PowerPointApi 1.8] */ - text?: string; + text: string; /** * Specifies the contents of the table cell as an array of {@link PowerPoint.TextRun} objects. Each `TextRun` object represents a sequence of one or more characters that share the same font attributes. * * @remarks + * [Api set: PowerPointApi 1.9] + */ + textRuns: PowerPoint.TextRun[]; + /** + * Specifies the vertical alignment of the text in the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + verticalAlignment: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; + /** + * Resizes the table cell to span across a specified number of rows and columns. + If rowCount or columnCount are greater than 1, the cell will become a merged area. If the cell + is already a merged area and rowCount and columnCount are set to 1, the cell will no longer be + a merged area. + * + * @remarks + * [Api set: PowerPointApi 1.9] + * + * @param rowCount The number of rows the cell will span across. Must be greater than 0. + * @param columnCount The number of columns the cell will span across. Must be greater than 0. + */ + resize(rowCount: number, columnCount: number): void; + /** + * Splits the cell into the specified number of rows and columns. + * + * @remarks + * [Api set: PowerPointApi 1.9] + * + * @param rowCount The number of rows to split into. Must be greater than 0. + * @param columnCount The number of columns to split into. Must be greater than 0. + */ + split(rowCount: number, columnCount: number): void; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.TableCellLoadOptions): PowerPoint.TableCell; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.TableCell; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.TableCell; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TableCell` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableCellData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.TableCellData; + } + /** + * Represents a collection of table cells. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + class TableCellCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.TableCell[]; + /** + * Gets the number of table cells in the collection. + * + * @remarks * [Api set: PowerPointApi 1.8] + * @returns The number of table cells in the collection. */ - textRuns?: PowerPoint.TextRun[]; + getCount(): OfficeExtension.ClientResult; /** - * Represents the vertical alignment of the text in the table cell. + * Gets the table cell using its zero-based index in the collection. If the `TableCell` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks * [Api set: PowerPointApi 1.8] + * + * @param row Row index value of the table cell to be retrieved, as a zero-based index. + * @param column Column index value of the table cell to be retrieved, as a zero-based index. + * @returns The `TableCell` object. */ - verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered" | undefined; + getItemAtOrNullObject(row: number, column: number): PowerPoint.TableCell; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.TableCellCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.TableCellCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.TableCellCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.TableCellCollection; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TableCellCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableCellCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.TableCellCollectionData; + } + /** + * Represents a column in a table. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + class TableColumn extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * Returns the index number of the column within the column collection of the table. Zero-indexed. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + readonly columnIndex: number; + /** + * Retrieves the width of the column in points. If the set column width is less than the minimum width, the column width will be increased to the minimum width. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + width: number; + /** + * Deletes the column. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + delete(): void; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.TableColumnLoadOptions): PowerPoint.TableColumn; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.TableColumn; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.TableColumn; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TableColumn` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableColumnData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.TableColumnData; } /** * Represents a collection of table columns. @@ -185705,69 +186554,61 @@ declare namespace PowerPoint { darkStyle2Accent3 = "DarkStyle2Accent3", } /** - * Represents the available table style options. + * Represents the available table style settings. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ - class TableStyleOptions extends OfficeExtension.ClientObject { + class TableStyleSettings extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** * Specifies if the columns show banded formatting in which odd columns are highlighted differently from even ones, to make reading the table easier. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ areColumnsBanded: boolean; /** * Specifies if the rows show banded formatting in which odd rows are highlighted differently from even ones, to make reading the table easier. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ areRowsBanded: boolean; /** * Specifies if the first column contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isFirstColumnHighlighted: boolean; /** * Specifies if the first row contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isFirstRowHighlighted: boolean; /** * Specifies if the last column contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isLastColumnHighlighted: boolean; /** * Specifies if the last row contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isLastRowHighlighted: boolean; /** * Specifies the table style. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ style: PowerPoint.TableStyle | "NoStyleNoGrid" | "ThemedStyle1Accent1" | "ThemedStyle1Accent2" | "ThemedStyle1Accent3" | "ThemedStyle1Accent4" | "ThemedStyle1Accent5" | "ThemedStyle1Accent6" | "NoStyleTableGrid" | "ThemedStyle2Accent1" | "ThemedStyle2Accent2" | "ThemedStyle2Accent3" | "ThemedStyle2Accent4" | "ThemedStyle2Accent5" | "ThemedStyle2Accent6" | "LightStyle1" | "LightStyle1Accent1" | "LightStyle1Accent2" | "LightStyle1Accent3" | "LightStyle1Accent4" | "LightStyle1Accent5" | "LightStyle1Accent6" | "LightStyle2" | "LightStyle2Accent1" | "LightStyle2Accent2" | "LightStyle2Accent3" | "LightStyle2Accent4" | "LightStyle2Accent5" | "LightStyle2Accent6" | "LightStyle3" | "LightStyle3Accent1" | "LightStyle3Accent2" | "LightStyle3Accent3" | "LightStyle3Accent4" | "LightStyle3Accent5" | "LightStyle3Accent6" | "MediumStyle1" | "MediumStyle1Accent1" | "MediumStyle1Accent2" | "MediumStyle1Accent3" | "MediumStyle1Accent4" | "MediumStyle1Accent5" | "MediumStyle1Accent6" | "MediumStyle2" | "MediumStyle2Accent1" | "MediumStyle2Accent2" | "MediumStyle2Accent3" | "MediumStyle2Accent4" | "MediumStyle2Accent5" | "MediumStyle2Accent6" | "MediumStyle3" | "MediumStyle3Accent1" | "MediumStyle3Accent2" | "MediumStyle3Accent3" | "MediumStyle3Accent4" | "MediumStyle3Accent5" | "MediumStyle3Accent6" | "MediumStyle4" | "MediumStyle4Accent1" | "MediumStyle4Accent2" | "MediumStyle4Accent3" | "MediumStyle4Accent4" | "MediumStyle4Accent5" | "MediumStyle4Accent6" | "DarkStyle1" | "DarkStyle1Accent1" | "DarkStyle1Accent2" | "DarkStyle1Accent3" | "DarkStyle1Accent4" | "DarkStyle1Accent5" | "DarkStyle1Accent6" | "DarkStyle2" | "DarkStyle2Accent1" | "DarkStyle2Accent2" | "DarkStyle2Accent3"; /** @@ -185775,13 +186616,13 @@ declare namespace PowerPoint { * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TableStyleOptionsLoadOptions): PowerPoint.TableStyleOptions; + load(options?: PowerPoint.Interfaces.TableStyleSettingsLoadOptions): PowerPoint.TableStyleSettings; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TableStyleOptions; + load(propertyNames?: string | string[]): PowerPoint.TableStyleSettings; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -185790,12 +186631,12 @@ declare namespace PowerPoint { load(propertyNamesAndPaths?: { select?: string; expand?: string; - }): PowerPoint.TableStyleOptions; + }): PowerPoint.TableStyleSettings; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TableStyleOptions` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableStyleOptionsData`) that contains shallow copies of any loaded child properties from the original object. + * Whereas the original `PowerPoint.TableStyleSettings` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableStyleSettingsData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.TableStyleOptionsData; + toJSON(): PowerPoint.Interfaces.TableStyleSettingsData; } /** * Represents a table. @@ -185821,13 +186662,12 @@ declare namespace PowerPoint { */ readonly rows: PowerPoint.TableRowCollection; /** - * Gets the table style options. + * Gets the table style settings. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ - readonly styleOptions: PowerPoint.TableStyleOptions; + readonly styleSettings: PowerPoint.TableStyleSettings; /** * Gets the number of columns in the table. * @@ -185923,6 +186763,224 @@ declare namespace PowerPoint { */ toJSON(): PowerPoint.Interfaces.TableData; } + /** + * Represents the fill formatting of a table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + interface FillProperties { + /** + * Represents the shape fill color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + color?: string | undefined; + /** + * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + transparency?: number | undefined; + } + /** + * Represents the properties for a table cell border. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + interface BorderProperties { + /** + * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + color?: string | undefined; + /** + * Represents the dash style of the line. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; + /** + * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + transparency?: number | undefined; + /** + * Represents the weight of the line, in points. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + weight?: number | undefined; + } + /** + * Represents the borders of a table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + interface TableCellBorders { + /** + * Represents the bottom border. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + bottom?: PowerPoint.BorderProperties; + /** + * Represents the diagonal border (top-left to bottom-right). + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + diagonalDown?: PowerPoint.BorderProperties; + /** + * Represents the diagonal border (bottom-left to top-right). + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + diagonalUp?: PowerPoint.BorderProperties; + /** + * Represents the left border. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + left?: PowerPoint.BorderProperties; + /** + * Represents the right border. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + right?: PowerPoint.BorderProperties; + /** + * Represents the top border. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + top?: PowerPoint.BorderProperties; + } + /** + * Represents the margins of a table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + interface TableCellMargins { + /** + * Specifies the bottom margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + bottom?: number | undefined; + /** + * Specifies the left margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + left?: number | undefined; + /** + * Specifies the right margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + right?: number | undefined; + /** + * Specifies the top margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + top?: number | undefined; + } + /** + * Represents the table cell properties to update. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + interface TableCellProperties { + /** + * Specifies the border formatting of the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + borders?: PowerPoint.TableCellBorders; + /** + * Specifies the fill formatting of the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + fill?: PowerPoint.FillProperties; + /** + * Specifies the font formatting of the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + font?: PowerPoint.FontProperties; + /** + * Specifies the horizontal alignment of the text in the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | undefined; + /** + * Specifies the indent level of the text in the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + indentLevel?: number | undefined; + /** + * Specifies the margin settings in the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + margins?: PowerPoint.TableCellMargins; + /** + * Specifies the text content of the table cell. + + If a portion of the text requires different formatting, use the `textRuns` property instead. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + text?: string; + /** + * Specifies the contents of the table cell as an array of {@link TextRun} objects. + Each `TextRun` object represents a sequence of one or more characters that share the same font attributes. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + textRuns?: PowerPoint.TextRun[]; + /** + * Specifies the vertical alignment of the text in the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered" | undefined; + } /** * Provides the table column properties. * @@ -186021,6 +187079,9 @@ declare namespace PowerPoint { * Specifies the height, in points, of the table. A default value is used when this parameter isn't provided. Throws an `InvalidArgument` exception when set with a negative value. + + Note: If the table height isn't evenly divisible by the number of rows, PowerPoint sets it to the nearest possible value. + For example, a height of 400 for 3 rows may result in an actual height of 399.9999. * * @remarks * [Api set: PowerPointApi 1.8] @@ -186109,6 +187170,9 @@ declare namespace PowerPoint { * Specifies the width, in points, of the table. A default value is used when this parameter isn't provided. Throws an `InvalidArgument` exception when set with a negative value. + + Note: If the table width isn't evenly divisible by the number of columns, PowerPoint sets it to the nearest possible value. + For example, a width of 400 for 3 columns may result in an actual width of 399.9999. * * @remarks * [Api set: PowerPointApi 1.8] @@ -188175,1067 +189239,371 @@ declare namespace PowerPoint { /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.TagCollection; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TagCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TagCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ - toJSON(): PowerPoint.Interfaces.TagCollectionData; - } - /** - * Represents a single slide of a presentation. - * - * @remarks - * [Api set: PowerPointApi 1.2] - */ - class Slide extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** - * Gets the background of the slide. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - readonly background: PowerPoint.SlideBackground; - /** - * Returns a collection of custom XML parts in the slide. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - readonly customXmlParts: PowerPoint.CustomXmlPartCollection; - /** - * Returns a collection of hyperlinks in the slide. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - readonly hyperlinks: PowerPoint.HyperlinkCollection; - /** - * Gets the layout of the slide. - * - * @remarks - * [Api set: PowerPointApi 1.3] - */ - readonly layout: PowerPoint.SlideLayout; - /** - * Returns a collection of shapes in the slide. - * - * @remarks - * [Api set: PowerPointApi 1.3] - */ - readonly shapes: PowerPoint.ShapeCollection; - /** - * Gets the `SlideMaster` object that represents the slide's default content. - * - * @remarks - * [Api set: PowerPointApi 1.3] - */ - readonly slideMaster: PowerPoint.SlideMaster; - /** - * Returns a collection of tags in the slide. - * - * @remarks - * [Api set: PowerPointApi 1.3] - */ - readonly tags: PowerPoint.TagCollection; - /** - * Returns the `ThemeColorScheme` of the slide. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - readonly themeColorScheme: PowerPoint.ThemeColorScheme; - /** - * Gets the unique ID of the slide. - * - * @remarks - * [Api set: PowerPointApi 1.2] - */ - readonly id: string; - /** - * Returns the zero-based index of the slide representing its position in the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - readonly index: number; - /** - * Applies the specified layout to the slide, changing its design and structure according to the chosen layout. - * - * @remarks - * [Api set: PowerPointApi 1.8] - * - * @param slideLayout The layout to be applied to the slide. This is typically an instance of a predefined layout from the slide master. - */ - applyLayout(slideLayout: PowerPoint.SlideLayout): void; - /** - * Deletes the slide from the presentation. Does nothing if the slide doesn't exist. - * - * @remarks - * [Api set: PowerPointApi 1.2] - */ - delete(): void; - /** - * Exports the slide to its own presentation file, returned as Base64-encoded data. - * - * @remarks - * [Api set: PowerPointApi 1.8] - * - * This method is optimized to export a single slide. Exporting multiple slides can impact performance. - */ - exportAsBase64(): OfficeExtension.ClientResult; - /** - * Renders an image of the slide. The image is scaled to fit into the desired dimensions. - If width and height aren't specified, the true size of the slide is used. If only one - of either width or height is specified, the other will be calculated to preserve aspect ratio. - * - * @remarks - * [Api set: PowerPointApi 1.8] - * - * @param options Optional. Options to specify the desired size of the slide image. - * @returns A Base64-encoded string of the slide image in PNG format. - */ - getImageAsBase64(options?: PowerPoint.SlideGetImageOptions): OfficeExtension.ClientResult; - /** - * Moves the slide to a new position within the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.8] - * - * @param slideIndex The zero-based index where the slide should be moved. - */ - moveTo(slideIndex: number): void; - /** - * Selects the specified shapes. Existing shape selection is replaced with the new selection. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param shapeIds List of shape IDs to select in the slide. If the list is empty, the selection is cleared. - */ - setSelectedShapes(shapeIds: string[]): void; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.SlideLoadOptions): PowerPoint.Slide; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): PowerPoint.Slide; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.Slide; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.Slide` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.SlideData; - } - /** - * Represents the format of an image. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - enum ShapeGetImageFormatType { - /** - * The picture is in PNG format. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - png = "Png", - } - /** - * Represents the available options when getting an image of a shape. - The image is scaled to fit into the desired dimensions. If width and height aren't specified, the true size of the shape is used. - If only one of either width or height is specified, the other will be calculated to preserve aspect ratio. - The resulting dimensions will automatically be clamped to the maximum supported size if too large. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - interface ShapeGetImageOptions { - /** - * The desired format of the resulting image. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - format?: PowerPoint.ShapeGetImageFormatType | "Png"; - /** - * The desired height of the resulting image in pixels. This value will automatically be clamped to the maximum supported size if too large. - Throws an `InvalidArgument` exception when set with a non-positive integer. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - height?: number; - /** - * The desired width of the resulting image in pixels. This value will automatically be clamped to the maximum supported size if too large. - Throws an `InvalidArgument` exception when set with a non-positive integer. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - width?: number; - } - /** - * Represents a collection of shapes. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - class ShapeScopedCollection extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.Shape[]; - /** - * Gets the number of shapes in the collection. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * @returns The number of shapes in the collection. - */ - getCount(): OfficeExtension.ClientResult; - /** - * Gets a shape using its unique ID. An error is thrown if the shape doesn't exist. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param key The ID of the shape. - * @returns The shape with the unique ID. If such a shape doesn't exist, an error is thrown. - */ - getItem(key: string): PowerPoint.Shape; - /** - * Gets a shape using its zero-based index in the collection. An error is thrown if the index is out of range. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param index The index of the shape in the collection. - * @returns The shape at the given index. An error is thrown if index is out of range. - */ - getItemAt(index: number): PowerPoint.Shape; - /** - * Gets a shape using its unique ID. If such a shape doesn't exist, an object with an `isNullObject` property set to true is returned. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param id The ID of the shape. - * @returns The shape with the unique ID. If such a shape doesn't exist, an object with an `isNullObject` property set to true is returned. - */ - getItemOrNullObject(id: string): PowerPoint.Shape; - /** - * Groups all shapes in this collection into a single shape. - If the collection contains fewer than two shapes, then this method returns the `GeneralException` error. - * - * @remarks - * [Api set: PowerPointApi 1.8] - * @returns The newly created grouped shape as a {@link PowerPoint.Shape}. - */ - group(): PowerPoint.Shape; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.ShapeScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.ShapeScopedCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): PowerPoint.ShapeScopedCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.ShapeScopedCollection; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.ShapeScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ - toJSON(): PowerPoint.Interfaces.ShapeScopedCollectionData; - } - /** - * Represents a shape group inside a presentation. To get the corresponding Shape object, use `ShapeGroup.shape`. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - class ShapeGroup extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** - * Returns the `Shape` object associated with the group. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - readonly shape: PowerPoint.Shape; - /** - * Returns the collection of `Shape` objects in the group. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - readonly shapes: PowerPoint.ShapeScopedCollection; - /** - * Gets the unique ID of the shape group. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - readonly id: string; - /** - * Ungroups any grouped shapes in the specified shape group. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - ungroup(): void; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.ShapeGroupLoadOptions): PowerPoint.ShapeGroup; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): PowerPoint.ShapeGroup; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.ShapeGroup; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.ShapeGroup` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeGroupData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.ShapeGroupData; - } - /** - * Specifies the style for a line. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum ShapeLineStyle { - /** - * Single line. - * @remarks - * [Api set: PowerPointApi 1.4] - */ - single = "Single", - /** - * Thick line with a thin line on each side. - * @remarks - * [Api set: PowerPointApi 1.4] - */ - thickBetweenThin = "ThickBetweenThin", - /** - * Thick line next to thin line. For horizontal lines, the thick line is above the thin line. For vertical lines, the thick line is to the left of the thin line. - * @remarks - * [Api set: PowerPointApi 1.4] - */ - thickThin = "ThickThin", - /** - * Thick line next to thin line. For horizontal lines, the thick line is below the thin line. For vertical lines, the thick line is to the right of the thin line. - * @remarks - * [Api set: PowerPointApi 1.4] - */ - thinThick = "ThinThick", - /** - * Two thin lines. - * @remarks - * [Api set: PowerPointApi 1.4] - */ - thinThin = "ThinThin", - } - /** - * Represents the line formatting for the shape object. For images and geometric shapes, line formatting represents the border of the shape. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - class ShapeLineFormat extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** - * Represents the line color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - color: string; - /** - * Represents the dash style of the line. Returns null when the line isn't visible or there are inconsistent dash styles. See {@link PowerPoint.ShapeLineDashStyle} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - dashStyle: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot"; - /** - * Represents the line style of the shape. Returns null when the line isn't visible or there are inconsistent styles. See {@link PowerPoint.ShapeLineStyle} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - style: PowerPoint.ShapeLineStyle | "Single" | "ThickBetweenThin" | "ThickThin" | "ThinThick" | "ThinThin"; - /** - * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). Returns null when the shape has inconsistent transparencies. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - transparency: number; - /** - * Specifies if the line formatting of a shape element is visible. Returns `null` when the shape has inconsistent visibilities. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - visible: boolean; - /** - * Represents the weight of the line, in points. Returns `null` when the line isn't visible or there are inconsistent line weights. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - weight: number; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.ShapeLineFormatLoadOptions): PowerPoint.ShapeLineFormat; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): PowerPoint.ShapeLineFormat; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.ShapeLineFormat; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.ShapeLineFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeLineFormatData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.ShapeLineFormatData; - } - /** - * Determines the type of automatic sizing allowed. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum ShapeAutoSize { - /** - * No autosizing. - * @remarks - * [Api set: PowerPointApi 1.4] - */ - autoSizeNone = "AutoSizeNone", - /** - * The text is adjusted to fit the shape. - * @remarks - * [Api set: PowerPointApi 1.4] - */ - autoSizeTextToFitShape = "AutoSizeTextToFitShape", - /** - * The shape is adjusted to fit the text. - * @remarks - * [Api set: PowerPointApi 1.4] - */ - autoSizeShapeToFitText = "AutoSizeShapeToFitText", - /** - * A combination of automatic sizing schemes are used. - * @remarks - * [Api set: PowerPointApi 1.4] - */ - autoSizeMixed = "AutoSizeMixed", - } - /** - * Specifies the style of a bullet. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - enum BulletStyle { - /** - * Style is unsupported. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - unsupported = "Unsupported", - /** - * Lowercase alphabetical characters with a period. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - alphabetLowercasePeriod = "AlphabetLowercasePeriod", - /** - * Uppercase alphabetical characters with a period. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - alphabetUppercasePeriod = "AlphabetUppercasePeriod", - /** - * Arabic numerals with closing parenthesis. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - arabicNumeralParenthesisRight = "ArabicNumeralParenthesisRight", - /** - * Arabic numerals with a period. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - arabicNumeralPeriod = "ArabicNumeralPeriod", - /** - * Lowercase Roman numerals with both parentheses. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - romanLowercaseParenthesesBoth = "RomanLowercaseParenthesesBoth", - /** - * Lowercase Roman numerals with closing parenthesis. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - romanLowercaseParenthesisRight = "RomanLowercaseParenthesisRight", - /** - * Lowercase Roman numerals with period. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - romanLowercasePeriod = "RomanLowercasePeriod", - /** - * Uppercase Roman numerals with period. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - romanUppercasePeriod = "RomanUppercasePeriod", - /** - * Lowercase alphabetical characters with both parentheses. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - alphabetLowercaseParenthesesBoth = "AlphabetLowercaseParenthesesBoth", - /** - * Lowercase alphabetical characters with closing parenthesis. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - alphabetLowercaseParenthesisRight = "AlphabetLowercaseParenthesisRight", - /** - * Uppercase alphabetical characters with both parentheses. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - alphabetUppercaseParenthesesBoth = "AlphabetUppercaseParenthesesBoth", - /** - * Uppercase alphabetical characters with closing parenthesis. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - alphabetUppercaseParenthesisRight = "AlphabetUppercaseParenthesisRight", - /** - * Arabic numerals with both parentheses. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - arabicNumeralParenthesesBoth = "ArabicNumeralParenthesesBoth", - /** - * Arabic numerals. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - arabicNumeralPlain = "ArabicNumeralPlain", - /** - * Uppercase Roman numerals with both parentheses. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - romanUppercaseParenthesesBoth = "RomanUppercaseParenthesesBoth", - /** - * Uppercase Roman numerals with closing parenthesis. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - romanUppercaseParenthesisRight = "RomanUppercaseParenthesisRight", - /** - * Simplified Chinese without a period. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - simplifiedChinesePlain = "SimplifiedChinesePlain", - /** - * Simplified Chinese with a period. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - simplifiedChinesePeriod = "SimplifiedChinesePeriod", - /** - * Double-byte circled number for values up to 10. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - circleNumberDoubleBytePlain = "CircleNumberDoubleBytePlain", - /** - * Text colored number with same color circle drawn around it. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - circleNumberWideDoubleByteWhitePlain = "CircleNumberWideDoubleByteWhitePlain", + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.TagCollection; /** - * Shadow color number with circular background of normal text color. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TagCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TagCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. */ - circleNumberWideDoubleByteBlackPlain = "CircleNumberWideDoubleByteBlackPlain", + toJSON(): PowerPoint.Interfaces.TagCollectionData; + } + /** + * Represents a single slide of a presentation. + * + * @remarks + * [Api set: PowerPointApi 1.2] + */ + class Slide extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Traditional Chinese without a period. + * Gets the background of the slide. + * * @remarks * [Api set: PowerPointApi BETA (PREVIEW ONLY)] * @beta */ - traditionalChinesePlain = "TraditionalChinesePlain", + readonly background: PowerPoint.SlideBackground; /** - * Traditional Chinese with a period. + * Returns a collection of custom XML parts in the slide. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ - traditionalChinesePeriod = "TraditionalChinesePeriod", + readonly customXmlParts: PowerPoint.CustomXmlPartCollection; /** - * Arabic alphabet with a dash. + * Returns a collection of hyperlinks in the slide. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.6] */ - arabicAlphabetDash = "ArabicAlphabetDash", + readonly hyperlinks: PowerPoint.HyperlinkCollection; /** - * Arabic Abjad alphabet with a dash. + * Gets the layout of the slide. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.3] */ - arabicAbjadDash = "ArabicAbjadDash", + readonly layout: PowerPoint.SlideLayout; /** - * Hebrew alphabet with a dash. + * Returns a collection of shapes in the slide. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.3] */ - hebrewAlphabetDash = "HebrewAlphabetDash", + readonly shapes: PowerPoint.ShapeCollection; /** - * Japanese/Korean numbers without a period. + * Gets the `SlideMaster` object that represents the slide's default content. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.3] */ - kanjiKoreanPlain = "KanjiKoreanPlain", + readonly slideMaster: PowerPoint.SlideMaster; /** - * Japanese/Korean numbers with a period. + * Returns a collection of tags in the slide. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.3] */ - kanjiKoreanPeriod = "KanjiKoreanPeriod", + readonly tags: PowerPoint.TagCollection; /** - * Double-byte Arabic numbering scheme (no punctuation). + * Returns the `ThemeColorScheme` of the slide. + * * @remarks * [Api set: PowerPointApi BETA (PREVIEW ONLY)] * @beta */ - arabicDoubleBytePlain = "ArabicDoubleBytePlain", + readonly themeColorScheme: PowerPoint.ThemeColorScheme; /** - * Double-byte Arabic numbering scheme with double-byte period. + * Gets the unique ID of the slide. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.2] */ - arabicDoubleBytePeriod = "ArabicDoubleBytePeriod", + readonly id: string; /** - * Thai alphabet with a period. + * Returns the zero-based index of the slide representing its position in the presentation. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.8] */ - thaiAlphabetPeriod = "ThaiAlphabetPeriod", + readonly index: number; /** - * Thai alphabet with closing parenthesis. + * Applies the specified layout to the slide, changing its design and structure according to the chosen layout. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.8] + * + * @param slideLayout The layout to be applied to the slide. This is typically an instance of a predefined layout from the slide master. */ - thaiAlphabetParenthesisRight = "ThaiAlphabetParenthesisRight", + applyLayout(slideLayout: PowerPoint.SlideLayout): void; /** - * Thai alphabet with both parentheses. + * Deletes the slide from the presentation. Does nothing if the slide doesn't exist. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.2] */ - thaiAlphabetParenthesesBoth = "ThaiAlphabetParenthesesBoth", + delete(): void; /** - * Thai numerals with a period. + * Exports the slide to its own presentation file, returned as Base64-encoded data. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.8] + * + * This method is optimized to export a single slide. Exporting multiple slides can impact performance. */ - thaiNumeralPeriod = "ThaiNumeralPeriod", + exportAsBase64(): OfficeExtension.ClientResult; /** - * Thai numerals with closing parenthesis. + * Renders an image of the slide. The image is scaled to fit into the desired dimensions. + If width and height aren't specified, the true size of the slide is used. If only one + of either width or height is specified, the other will be calculated to preserve aspect ratio. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.8] + * + * @param options Optional. Options to specify the desired size of the slide image. + * @returns A Base64-encoded string of the slide image in PNG format. */ - thaiNumeralParenthesisRight = "ThaiNumeralParenthesisRight", + getImageAsBase64(options?: PowerPoint.SlideGetImageOptions): OfficeExtension.ClientResult; /** - * Thai numerals with both parentheses. + * Moves the slide to a new position within the presentation. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.8] + * + * @param slideIndex The zero-based index where the slide should be moved. */ - thaiNumeralParenthesesBoth = "ThaiNumeralParenthesesBoth", + moveTo(slideIndex: number): void; /** - * Hindi alphabet (vowels) with a period. + * Selects the specified shapes. Existing shape selection is replaced with the new selection. + * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.5] + * + * @param shapeIds List of shape IDs to select in the slide. If the list is empty, the selection is cleared. */ - hindiAlphabetPeriod = "HindiAlphabetPeriod", + setSelectedShapes(shapeIds: string[]): void; /** - * Hindi numerals with a period. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - hindiNumeralPeriod = "HindiNumeralPeriod", + load(options?: PowerPoint.Interfaces.SlideLoadOptions): PowerPoint.Slide; /** - * Kanji Simplified Chinese with double-byte period. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - kanjiSimplifiedChineseDoubleBytePeriod = "KanjiSimplifiedChineseDoubleBytePeriod", + load(propertyNames?: string | string[]): PowerPoint.Slide; /** - * Hindi numerals with closing parenthesis. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - hindiNumeralParenthesisRight = "HindiNumeralParenthesisRight", + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.Slide; /** - * Hindi alphabet (consonants) with a period. - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Slide` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideData`) that contains shallow copies of any loaded child properties from the original object. */ - hindiAlphabet1Period = "HindiAlphabet1Period", + toJSON(): PowerPoint.Interfaces.SlideData; } /** - * Specifies the type of a bullet. + * Represents the format of an image. * * @remarks * [Api set: PowerPointApi BETA (PREVIEW ONLY)] * @beta */ - enum BulletType { + enum ShapeGetImageFormatType { /** - * Type is unsupported. + * The picture is in PNG format. * @remarks * [Api set: PowerPointApi BETA (PREVIEW ONLY)] * @beta */ - unsupported = "Unsupported", + png = "Png", + } + /** + * Represents the available options when getting an image of a shape. + The image is scaled to fit into the desired dimensions. If width and height aren't specified, the true size of the shape is used. + If only one of either width or height is specified, the other will be calculated to preserve aspect ratio. + The resulting dimensions will automatically be clamped to the maximum supported size if too large. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + interface ShapeGetImageOptions { /** - * No bullets. + * The desired format of the resulting image. + * * @remarks * [Api set: PowerPointApi BETA (PREVIEW ONLY)] * @beta */ - none = "None", + format?: PowerPoint.ShapeGetImageFormatType | "Png"; /** - * Numbered bullet (e.g., 1, 2, 3 or a, b, c). + * The desired height of the resulting image in pixels. This value will automatically be clamped to the maximum supported size if too large. + Throws an `InvalidArgument` exception when set with a non-positive integer. + * * @remarks * [Api set: PowerPointApi BETA (PREVIEW ONLY)] * @beta */ - numbered = "Numbered", + height?: number; /** - * Symbol-based bullet (e.g., disc, circle, square). + * The desired width of the resulting image in pixels. This value will automatically be clamped to the maximum supported size if too large. + Throws an `InvalidArgument` exception when set with a non-positive integer. + * * @remarks * [Api set: PowerPointApi BETA (PREVIEW ONLY)] * @beta */ - unnumbered = "Unnumbered", + width?: number; } /** - * Represents the bullet formatting properties of a text that is attached to the {@link PowerPoint.ParagraphFormat}. + * Represents a collection of shapes. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - class BulletFormat extends OfficeExtension.ClientObject { + class ShapeScopedCollection extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.Shape[]; /** - * Specifies the style of the bullets in the paragraph. See {@link PowerPoint.BulletStyle} for details. - Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - style: PowerPoint.BulletStyle | "Unsupported" | "AlphabetLowercasePeriod" | "AlphabetUppercasePeriod" | "ArabicNumeralParenthesisRight" | "ArabicNumeralPeriod" | "RomanLowercaseParenthesesBoth" | "RomanLowercaseParenthesisRight" | "RomanLowercasePeriod" | "RomanUppercasePeriod" | "AlphabetLowercaseParenthesesBoth" | "AlphabetLowercaseParenthesisRight" | "AlphabetUppercaseParenthesesBoth" | "AlphabetUppercaseParenthesisRight" | "ArabicNumeralParenthesesBoth" | "ArabicNumeralPlain" | "RomanUppercaseParenthesesBoth" | "RomanUppercaseParenthesisRight" | "SimplifiedChinesePlain" | "SimplifiedChinesePeriod" | "CircleNumberDoubleBytePlain" | "CircleNumberWideDoubleByteWhitePlain" | "CircleNumberWideDoubleByteBlackPlain" | "TraditionalChinesePlain" | "TraditionalChinesePeriod" | "ArabicAlphabetDash" | "ArabicAbjadDash" | "HebrewAlphabetDash" | "KanjiKoreanPlain" | "KanjiKoreanPeriod" | "ArabicDoubleBytePlain" | "ArabicDoubleBytePeriod" | "ThaiAlphabetPeriod" | "ThaiAlphabetParenthesisRight" | "ThaiAlphabetParenthesesBoth" | "ThaiNumeralPeriod" | "ThaiNumeralParenthesisRight" | "ThaiNumeralParenthesesBoth" | "HindiAlphabetPeriod" | "HindiNumeralPeriod" | "KanjiSimplifiedChineseDoubleBytePeriod" | "HindiNumeralParenthesisRight" | "HindiAlphabet1Period" | null; - /** - * Specifies the type of the bullets in the paragraph. See {@link PowerPoint.BulletType} for details. - Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. + * Gets the number of shapes in the collection. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.5] + * @returns The number of shapes in the collection. */ - type: PowerPoint.BulletType | "Unsupported" | "None" | "Numbered" | "Unnumbered" | null; + getCount(): OfficeExtension.ClientResult; /** - * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. + * Gets a shape using its unique ID. An error is thrown if the shape doesn't exist. * * @remarks - * [Api set: PowerPointApi 1.4] - */ - visible: boolean | null; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * [Api set: PowerPointApi 1.5] * - * @param options Provides options for which properties of the object to load. + * @param key The ID of the shape. + * @returns The shape with the unique ID. If such a shape doesn't exist, an error is thrown. */ - load(options?: PowerPoint.Interfaces.BulletFormatLoadOptions): PowerPoint.BulletFormat; + getItem(key: string): PowerPoint.Shape; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Gets a shape using its zero-based index in the collection. An error is thrown if the index is out of range. * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): PowerPoint.BulletFormat; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * @remarks + * [Api set: PowerPointApi 1.5] * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.BulletFormat; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.BulletFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BulletFormatData`) that contains shallow copies of any loaded child properties from the original object. + * @param index The index of the shape in the collection. + * @returns The shape at the given index. An error is thrown if index is out of range. */ - toJSON(): PowerPoint.Interfaces.BulletFormatData; - } - /** - * Represents the paragraph formatting properties of a text that is attached to the {@link PowerPoint.TextRange}. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - class ParagraphFormat extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + getItemAt(index: number): PowerPoint.Shape; /** - * Represents the bullet format of the paragraph. See {@link PowerPoint.BulletFormat} for details. + * Gets a shape using its unique ID. If such a shape doesn't exist, an object with an `isNullObject` property set to true is returned. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks - * [Api set: PowerPointApi 1.4] - */ - readonly bulletFormat: PowerPoint.BulletFormat; - /** - * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. + * [Api set: PowerPointApi 1.5] * - * @remarks - * [Api set: PowerPointApi 1.4] + * @param id The ID of the shape. + * @returns The shape with the unique ID. If such a shape doesn't exist, an object with an `isNullObject` property set to true is returned. */ - horizontalAlignment: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; + getItemOrNullObject(id: string): PowerPoint.Shape; /** - * Represents the indent level of the paragraph. + * Groups all shapes in this collection into a single shape. + If the collection contains fewer than two shapes, then this method returns the `GeneralException` error. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.8] + * @returns The newly created grouped shape as a {@link PowerPoint.Shape}. */ - indentLevel: number; + group(): PowerPoint.Shape; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.ParagraphFormatLoadOptions): PowerPoint.ParagraphFormat; + load(options?: PowerPoint.Interfaces.ShapeScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.ShapeScopedCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.ParagraphFormat; + load(propertyNames?: string | string[]): PowerPoint.ShapeScopedCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.ParagraphFormat; + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.ShapeScopedCollection; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.ParagraphFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ParagraphFormatData`) that contains shallow copies of any loaded child properties from the original object. + * Whereas the original `PowerPoint.ShapeScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. */ - toJSON(): PowerPoint.Interfaces.ParagraphFormatData; + toJSON(): PowerPoint.Interfaces.ShapeScopedCollectionData; } /** - * Contains the text that is attached to a shape, in addition to properties and methods for manipulating the text. + * Represents a shape group inside a presentation. To get the corresponding Shape object, use `ShapeGroup.shape`. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - class TextRange extends OfficeExtension.ClientObject { + class ShapeGroup extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Returns a `ShapeFont` object that represents the font attributes for the text range. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - readonly font: PowerPoint.ShapeFont; - /** - * Represents the paragraph format of the text range. See {@link PowerPoint.ParagraphFormat} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - readonly paragraphFormat: PowerPoint.ParagraphFormat; - /** - * Gets or sets the length of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - length: number; - /** - * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. + * Returns the `Shape` object associated with the group. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.8] */ - start: number; + readonly shape: PowerPoint.Shape; /** - * Represents the plain text content of the text range. + * Returns the collection of `Shape` objects in the group. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - text: string; + readonly shapes: PowerPoint.ShapeScopedCollection; /** - * Returns the parent {@link PowerPoint.TextFrame} object that holds this `TextRange`. + * Gets the creation ID of the shape group. Returns `null` if the shape group has no creation ID. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - getParentTextFrame(): PowerPoint.TextFrame; + readonly creationId: string | null; /** - * Returns a `TextRange` object for the substring in the given range. + * Gets the unique ID of the shape group. * * @remarks - * [Api set: PowerPointApi 1.4] - * - * @param start The zero-based index of the first character to get from the text range. - * @param length Optional. The number of characters to be returned in the new text range. If length is omitted, all the characters from start to the end of the text range's last paragraph will be returned. + * [Api set: PowerPointApi 1.8] */ - getSubstring(start: number, length?: number): PowerPoint.TextRange; + readonly id: string; /** - * Selects this `TextRange` in the current view. + * Ungroups any grouped shapes in the specified shape group. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.8] */ - setSelected(): void; + ungroup(): void; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TextRangeLoadOptions): PowerPoint.TextRange; + load(options?: PowerPoint.Interfaces.ShapeGroupLoadOptions): PowerPoint.ShapeGroup; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TextRange; + load(propertyNames?: string | string[]): PowerPoint.ShapeGroup; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -189244,111 +189612,114 @@ declare namespace PowerPoint { load(propertyNamesAndPaths?: { select?: string; expand?: string; - }): PowerPoint.TextRange; + }): PowerPoint.ShapeGroup; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TextRange` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextRangeData`) that contains shallow copies of any loaded child properties from the original object. + * Whereas the original `PowerPoint.ShapeGroup` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeGroupData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.TextRangeData; + toJSON(): PowerPoint.Interfaces.ShapeGroupData; } /** - * Represents the text frame of a shape object. + * Specifies the style for a line. * * @remarks * [Api set: PowerPointApi 1.4] */ - class TextFrame extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + enum ShapeLineStyle { /** - * Represents the text that is attached to a shape in the text frame, and properties and methods for manipulating the text. See {@link PowerPoint.TextRange} for details. - * + * Single line. * @remarks * [Api set: PowerPointApi 1.4] */ - readonly textRange: PowerPoint.TextRange; + single = "Single", /** - * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. - * + * Thick line with a thin line on each side. * @remarks * [Api set: PowerPointApi 1.4] */ - autoSizeSetting: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; + thickBetweenThin = "ThickBetweenThin", /** - * Represents the bottom margin, in points, of the text frame. - * + * Thick line next to thin line. For horizontal lines, the thick line is above the thin line. For vertical lines, the thick line is to the left of the thin line. * @remarks * [Api set: PowerPointApi 1.4] */ - bottomMargin: number; + thickThin = "ThickThin", /** - * Specifies if the text frame contains text. - * + * Thick line next to thin line. For horizontal lines, the thick line is below the thin line. For vertical lines, the thick line is to the right of the thin line. * @remarks * [Api set: PowerPointApi 1.4] */ - readonly hasText: boolean; + thinThick = "ThinThick", /** - * Represents the left margin, in points, of the text frame. - * + * Two thin lines. * @remarks * [Api set: PowerPointApi 1.4] */ - leftMargin: number; + thinThin = "ThinThin", + } + /** + * Represents the line formatting for the shape object. For images and geometric shapes, line formatting represents the border of the shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + class ShapeLineFormat extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Represents the right margin, in points, of the text frame. + * Represents the line color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). * * @remarks * [Api set: PowerPointApi 1.4] */ - rightMargin: number; + color: string; /** - * Represents the top margin, in points, of the text frame. + * Represents the dash style of the line. Returns null when the line isn't visible or there are inconsistent dash styles. See {@link PowerPoint.ShapeLineDashStyle} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - topMargin: number; + dashStyle: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot"; /** - * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. + * Represents the line style of the shape. Returns null when the line isn't visible or there are inconsistent styles. See {@link PowerPoint.ShapeLineStyle} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - verticalAlignment: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; + style: PowerPoint.ShapeLineStyle | "Single" | "ThickBetweenThin" | "ThickThin" | "ThinThick" | "ThinThin"; /** - * Determines whether lines break automatically to fit text inside the shape. + * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). Returns null when the shape has inconsistent transparencies. * * @remarks * [Api set: PowerPointApi 1.4] */ - wordWrap: boolean; + transparency: number; /** - * Deletes all the text in the text frame. + * Specifies if the line formatting of a shape element is visible. Returns `null` when the shape has inconsistent visibilities. * * @remarks * [Api set: PowerPointApi 1.4] */ - deleteText(): void; + visible: boolean; /** - * Returns the parent {@link PowerPoint.Shape} object that holds this `TextFrame`. + * Represents the weight of the line, in points. Returns `null` when the line isn't visible or there are inconsistent line weights. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.4] */ - getParentShape(): PowerPoint.Shape; + weight: number; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TextFrameLoadOptions): PowerPoint.TextFrame; + load(options?: PowerPoint.Interfaces.ShapeLineFormatLoadOptions): PowerPoint.ShapeLineFormat; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TextFrame; + load(propertyNames?: string | string[]): PowerPoint.ShapeLineFormat; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -189357,12 +189728,12 @@ declare namespace PowerPoint { load(propertyNamesAndPaths?: { select?: string; expand?: string; - }): PowerPoint.TextFrame; + }): PowerPoint.ShapeLineFormat; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TextFrame` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextFrameData`) that contains shallow copies of any loaded child properties from the original object. + * Whereas the original `PowerPoint.ShapeLineFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeLineFormatData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.TextFrameData; + toJSON(): PowerPoint.Interfaces.ShapeLineFormatData; } /** * Use with `setZOrder` to move the specified shape up or down the collection's z-order, which shifts it in front of or behind other shapes. @@ -189405,6 +189776,14 @@ declare namespace PowerPoint { class Shape extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; + /** + * Returns an `Adjustments` object that contains adjustment values for all the adjustments in this shape. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly adjustments: PowerPoint.Adjustments; /** * Returns a collection of custom XML parts in the shape. * @@ -189464,6 +189843,14 @@ declare namespace PowerPoint { * [Api set: PowerPointApi 1.4] */ readonly textFrame: PowerPoint.TextFrame; + /** + * Gets the creation ID of the shape. Returns `null` if the shape has no creation ID. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly creationId: string | null; /** * Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. * @@ -189627,6 +190014,17 @@ declare namespace PowerPoint { * @beta */ getTextFrameOrNullObject(): PowerPoint.TextFrame; + /** + * Sets a hyperlink on this `Shape` with the specified options. This will delete any existing hyperlink on this `Shape`. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + * + * @param options Optional. The options for the hyperlink. + * @returns The newly created {@link PowerPoint.Hyperlink} object. + */ + setHyperlink(options?: PowerPoint.HyperlinkAddOptions): PowerPoint.Hyperlink; /** * Moves the specified shape up or down the collection's z-order, which shifts it in front of or behind other shapes. * @@ -189995,6 +190393,18 @@ declare namespace PowerPoint { * Keys have a maximum length of 255 characters. If the argument exceeds 255 characters, then this method returns the `InvalidArgument` error. */ getItem(key: string): PowerPoint.CustomProperty; + /** + * Gets a `CustomProperty` by its zero-based index in the collection. + Throws an `InvalidArgument` exception when the index is out of range. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + * + * @param index The index of the custom property in the collection. + * @returns The custom property at the given index. + */ + getItemAt(index: number): PowerPoint.CustomProperty; /** * Gets a `CustomProperty` by its key. If the `CustomProperty` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. @@ -190537,105 +190947,55 @@ declare namespace PowerPoint { interface CustomXmlPartCollectionUpdateData { items?: PowerPoint.Interfaces.CustomXmlPartData[]; } - /** An interface for updating data on the `Hyperlink` object, for use in `hyperlink.set({ ... })`. */ - interface HyperlinkUpdateData { - /** - * Specifies the URL target of the hyperlink. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - address?: string; - /** - * Specifies the string displayed when hovering over the hyperlink. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - screenTip?: string; - } - /** An interface for updating data on the `HyperlinkCollection` object, for use in `hyperlinkCollection.set({ ... })`. */ - interface HyperlinkCollectionUpdateData { + /** An interface for updating data on the `HyperlinkScopedCollection` object, for use in `hyperlinkScopedCollection.set({ ... })`. */ + interface HyperlinkScopedCollectionUpdateData { items?: PowerPoint.Interfaces.HyperlinkData[]; } - /** An interface for updating data on the `Border` object, for use in `border.set({ ... })`. */ - interface BorderUpdateData { - /** - * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - color?: string | undefined; - /** - * Represents the dash style of the line. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; - /** - * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - transparency?: number | undefined; - /** - * Represents the weight of the line, in points. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - weight?: number | undefined; - } - /** An interface for updating data on the `Margins` object, for use in `margins.set({ ... })`. */ - interface MarginsUpdateData { - /** - * Specifies the bottom margin in points. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - bottom?: number | undefined; + /** An interface for updating data on the `BulletFormat` object, for use in `bulletFormat.set({ ... })`. */ + interface BulletFormatUpdateData { /** - * Specifies the left margin in points. + * Specifies the style of the bullets in the paragraph. See {@link PowerPoint.BulletStyle} for details. + Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - left?: number | undefined; + style?: PowerPoint.BulletStyle | "Unsupported" | "AlphabetLowercasePeriod" | "AlphabetUppercasePeriod" | "ArabicNumeralParenthesisRight" | "ArabicNumeralPeriod" | "RomanLowercaseParenthesesBoth" | "RomanLowercaseParenthesisRight" | "RomanLowercasePeriod" | "RomanUppercasePeriod" | "AlphabetLowercaseParenthesesBoth" | "AlphabetLowercaseParenthesisRight" | "AlphabetUppercaseParenthesesBoth" | "AlphabetUppercaseParenthesisRight" | "ArabicNumeralParenthesesBoth" | "ArabicNumeralPlain" | "RomanUppercaseParenthesesBoth" | "RomanUppercaseParenthesisRight" | "SimplifiedChinesePlain" | "SimplifiedChinesePeriod" | "CircleNumberDoubleBytePlain" | "CircleNumberWideDoubleByteWhitePlain" | "CircleNumberWideDoubleByteBlackPlain" | "TraditionalChinesePlain" | "TraditionalChinesePeriod" | "ArabicAlphabetDash" | "ArabicAbjadDash" | "HebrewAlphabetDash" | "KanjiKoreanPlain" | "KanjiKoreanPeriod" | "ArabicDoubleBytePlain" | "ArabicDoubleBytePeriod" | "ThaiAlphabetPeriod" | "ThaiAlphabetParenthesisRight" | "ThaiAlphabetParenthesesBoth" | "ThaiNumeralPeriod" | "ThaiNumeralParenthesisRight" | "ThaiNumeralParenthesesBoth" | "HindiAlphabetPeriod" | "HindiNumeralPeriod" | "KanjiSimplifiedChineseDoubleBytePeriod" | "HindiNumeralParenthesisRight" | "HindiAlphabet1Period" | null; /** - * Specifies the right margin in points. + * Specifies the type of the bullets in the paragraph. See {@link PowerPoint.BulletType} for details. + Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - right?: number | undefined; + type?: PowerPoint.BulletType | "Unsupported" | "None" | "Numbered" | "Unnumbered" | null; /** - * Specifies the top margin in points. + * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - top?: number | undefined; + visible?: boolean | null; } - /** An interface for updating data on the `ShapeFill` object, for use in `shapeFill.set({ ... })`. */ - interface ShapeFillUpdateData { + /** An interface for updating data on the `ParagraphFormat` object, for use in `paragraphFormat.set({ ... })`. */ + interface ParagraphFormatUpdateData { /** - * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). + * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - foregroundColor?: string; + horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; /** - * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. + * Represents the indent level of the paragraph. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - transparency?: number; + indentLevel?: number; } /** An interface for updating data on the `ShapeFont` object, for use in `shapeFont.set({ ... })`. */ interface ShapeFontUpdateData { @@ -190752,25 +191112,203 @@ declare namespace PowerPoint { */ subscript?: boolean | null; /** - * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Superscript** attribute. - - - `false`: None of the text has the **Superscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. + * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Superscript** attribute. + + - `false`: None of the text has the **Superscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + superscript?: boolean | null; + /** + * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; + } + /** An interface for updating data on the `TextFrame` object, for use in `textFrame.set({ ... })`. */ + interface TextFrameUpdateData { + /** + * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + autoSizeSetting?: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; + /** + * Represents the bottom margin, in points, of the text frame. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + bottomMargin?: number; + /** + * Represents the left margin, in points, of the text frame. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + leftMargin?: number; + /** + * Represents the right margin, in points, of the text frame. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + rightMargin?: number; + /** + * Represents the top margin, in points, of the text frame. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + topMargin?: number; + /** + * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; + /** + * Determines whether lines break automatically to fit text inside the shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + wordWrap?: boolean; + } + /** An interface for updating data on the `TextRange` object, for use in `textRange.set({ ... })`. */ + interface TextRangeUpdateData { + /** + * Gets or sets the length of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + length?: number; + /** + * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + start?: number; + /** + * Represents the plain text content of the text range. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + text?: string; + } + /** An interface for updating data on the `Hyperlink` object, for use in `hyperlink.set({ ... })`. */ + interface HyperlinkUpdateData { + /** + * Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. + * + * @remarks + * [Api set: PowerPointApi 1.6] + */ + address?: string; + /** + * Specifies the string displayed when hovering over the hyperlink. + * + * @remarks + * [Api set: PowerPointApi 1.6] + */ + screenTip?: string; + } + /** An interface for updating data on the `HyperlinkCollection` object, for use in `hyperlinkCollection.set({ ... })`. */ + interface HyperlinkCollectionUpdateData { + items?: PowerPoint.Interfaces.HyperlinkData[]; + } + /** An interface for updating data on the `Border` object, for use in `border.set({ ... })`. */ + interface BorderUpdateData { + /** + * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + color?: string | undefined; + /** + * Represents the dash style of the line. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; + /** + * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + transparency?: number | undefined; + /** + * Represents the weight of the line, in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + weight?: number | undefined; + } + /** An interface for updating data on the `Margins` object, for use in `margins.set({ ... })`. */ + interface MarginsUpdateData { + /** + * Specifies the bottom margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + bottom?: number | undefined; + /** + * Specifies the left margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + left?: number | undefined; + /** + * Specifies the right margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + right?: number | undefined; + /** + * Specifies the top margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + top?: number | undefined; + } + /** An interface for updating data on the `ShapeFill` object, for use in `shapeFill.set({ ... })`. */ + interface ShapeFillUpdateData { + /** + * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - superscript?: boolean | null; + foregroundColor?: string; /** - * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. + * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. * * @remarks * [Api set: PowerPointApi 1.4] */ - underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; + transparency?: number; } /** An interface for updating data on the `TableCell` object, for use in `tableCell.set({ ... })`. */ interface TableCellUpdateData { @@ -190843,62 +191381,55 @@ declare namespace PowerPoint { interface TableRowCollectionUpdateData { items?: PowerPoint.Interfaces.TableRowData[]; } - /** An interface for updating data on the `TableStyleOptions` object, for use in `tableStyleOptions.set({ ... })`. */ - interface TableStyleOptionsUpdateData { + /** An interface for updating data on the `TableStyleSettings` object, for use in `tableStyleSettings.set({ ... })`. */ + interface TableStyleSettingsUpdateData { /** * Specifies if the columns show banded formatting in which odd columns are highlighted differently from even ones, to make reading the table easier. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ areColumnsBanded?: boolean; /** * Specifies if the rows show banded formatting in which odd rows are highlighted differently from even ones, to make reading the table easier. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ areRowsBanded?: boolean; /** * Specifies if the first column contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isFirstColumnHighlighted?: boolean; /** * Specifies if the first row contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isFirstRowHighlighted?: boolean; /** * Specifies if the last column contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isLastColumnHighlighted?: boolean; /** * Specifies if the last row contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isLastRowHighlighted?: boolean; /** * Specifies the table style. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ style?: PowerPoint.TableStyle | "NoStyleNoGrid" | "ThemedStyle1Accent1" | "ThemedStyle1Accent2" | "ThemedStyle1Accent3" | "ThemedStyle1Accent4" | "ThemedStyle1Accent5" | "ThemedStyle1Accent6" | "NoStyleTableGrid" | "ThemedStyle2Accent1" | "ThemedStyle2Accent2" | "ThemedStyle2Accent3" | "ThemedStyle2Accent4" | "ThemedStyle2Accent5" | "ThemedStyle2Accent6" | "LightStyle1" | "LightStyle1Accent1" | "LightStyle1Accent2" | "LightStyle1Accent3" | "LightStyle1Accent4" | "LightStyle1Accent5" | "LightStyle1Accent6" | "LightStyle2" | "LightStyle2Accent1" | "LightStyle2Accent2" | "LightStyle2Accent3" | "LightStyle2Accent4" | "LightStyle2Accent5" | "LightStyle2Accent6" | "LightStyle3" | "LightStyle3Accent1" | "LightStyle3Accent2" | "LightStyle3Accent3" | "LightStyle3Accent4" | "LightStyle3Accent5" | "LightStyle3Accent6" | "MediumStyle1" | "MediumStyle1Accent1" | "MediumStyle1Accent2" | "MediumStyle1Accent3" | "MediumStyle1Accent4" | "MediumStyle1Accent5" | "MediumStyle1Accent6" | "MediumStyle2" | "MediumStyle2Accent1" | "MediumStyle2Accent2" | "MediumStyle2Accent3" | "MediumStyle2Accent4" | "MediumStyle2Accent5" | "MediumStyle2Accent6" | "MediumStyle3" | "MediumStyle3Accent1" | "MediumStyle3Accent2" | "MediumStyle3Accent3" | "MediumStyle3Accent4" | "MediumStyle3Accent5" | "MediumStyle3Accent6" | "MediumStyle4" | "MediumStyle4Accent1" | "MediumStyle4Accent2" | "MediumStyle4Accent3" | "MediumStyle4Accent4" | "MediumStyle4Accent5" | "MediumStyle4Accent6" | "DarkStyle1" | "DarkStyle1Accent1" | "DarkStyle1Accent2" | "DarkStyle1Accent3" | "DarkStyle1Accent4" | "DarkStyle1Accent5" | "DarkStyle1Accent6" | "DarkStyle2" | "DarkStyle2Accent1" | "DarkStyle2Accent2" | "DarkStyle2Accent3"; } @@ -191079,130 +191610,6 @@ declare namespace PowerPoint { */ weight?: number; } - /** An interface for updating data on the `BulletFormat` object, for use in `bulletFormat.set({ ... })`. */ - interface BulletFormatUpdateData { - /** - * Specifies the style of the bullets in the paragraph. See {@link PowerPoint.BulletStyle} for details. - Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - style?: PowerPoint.BulletStyle | "Unsupported" | "AlphabetLowercasePeriod" | "AlphabetUppercasePeriod" | "ArabicNumeralParenthesisRight" | "ArabicNumeralPeriod" | "RomanLowercaseParenthesesBoth" | "RomanLowercaseParenthesisRight" | "RomanLowercasePeriod" | "RomanUppercasePeriod" | "AlphabetLowercaseParenthesesBoth" | "AlphabetLowercaseParenthesisRight" | "AlphabetUppercaseParenthesesBoth" | "AlphabetUppercaseParenthesisRight" | "ArabicNumeralParenthesesBoth" | "ArabicNumeralPlain" | "RomanUppercaseParenthesesBoth" | "RomanUppercaseParenthesisRight" | "SimplifiedChinesePlain" | "SimplifiedChinesePeriod" | "CircleNumberDoubleBytePlain" | "CircleNumberWideDoubleByteWhitePlain" | "CircleNumberWideDoubleByteBlackPlain" | "TraditionalChinesePlain" | "TraditionalChinesePeriod" | "ArabicAlphabetDash" | "ArabicAbjadDash" | "HebrewAlphabetDash" | "KanjiKoreanPlain" | "KanjiKoreanPeriod" | "ArabicDoubleBytePlain" | "ArabicDoubleBytePeriod" | "ThaiAlphabetPeriod" | "ThaiAlphabetParenthesisRight" | "ThaiAlphabetParenthesesBoth" | "ThaiNumeralPeriod" | "ThaiNumeralParenthesisRight" | "ThaiNumeralParenthesesBoth" | "HindiAlphabetPeriod" | "HindiNumeralPeriod" | "KanjiSimplifiedChineseDoubleBytePeriod" | "HindiNumeralParenthesisRight" | "HindiAlphabet1Period" | null; - /** - * Specifies the type of the bullets in the paragraph. See {@link PowerPoint.BulletType} for details. - Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - type?: PowerPoint.BulletType | "Unsupported" | "None" | "Numbered" | "Unnumbered" | null; - /** - * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - visible?: boolean | null; - } - /** An interface for updating data on the `ParagraphFormat` object, for use in `paragraphFormat.set({ ... })`. */ - interface ParagraphFormatUpdateData { - /** - * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; - /** - * Represents the indent level of the paragraph. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - indentLevel?: number; - } - /** An interface for updating data on the `TextRange` object, for use in `textRange.set({ ... })`. */ - interface TextRangeUpdateData { - /** - * Gets or sets the length of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - length?: number; - /** - * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - start?: number; - /** - * Represents the plain text content of the text range. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - text?: string; - } - /** An interface for updating data on the `TextFrame` object, for use in `textFrame.set({ ... })`. */ - interface TextFrameUpdateData { - /** - * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - autoSizeSetting?: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; - /** - * Represents the bottom margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - bottomMargin?: number; - /** - * Represents the left margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - leftMargin?: number; - /** - * Represents the right margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - rightMargin?: number; - /** - * Represents the top margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - topMargin?: number; - /** - * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; - /** - * Determines whether lines break automatically to fit text inside the shape. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - wordWrap?: boolean; - } /** An interface for updating data on the `Shape` object, for use in `shape.set({ ... })`. */ interface ShapeUpdateData { /** @@ -191385,6 +191792,17 @@ declare namespace PowerPoint { id?: string; title?: string; } + /** An interface describing the data returned by calling `adjustments.toJSON()`. */ + interface AdjustmentsData { + /** + * Specifies the number of adjustment points. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + count?: number; + } /** An interface describing the data returned by calling `customXmlPart.toJSON()`. */ interface CustomXmlPartData { /** @@ -191410,133 +191828,55 @@ declare namespace PowerPoint { interface CustomXmlPartCollectionData { items?: PowerPoint.Interfaces.CustomXmlPartData[]; } - /** An interface describing the data returned by calling `placeholderFormat.toJSON()`. */ - interface PlaceholderFormatData { - /** - * Gets the type of the shape contained within the placeholder. See {@link PowerPoint.ShapeType} for details. - Returns `null` if the placeholder is empty. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - containedType?: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox" | null; - /** - * Returns the type of this placeholder. See {@link PowerPoint.PlaceholderType} for details. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - type?: PowerPoint.PlaceholderType | "Unsupported" | "Date" | "SlideNumber" | "Footer" | "Header" | "Title" | "Body" | "CenterTitle" | "Subtitle" | "VerticalTitle" | "VerticalBody" | "Content" | "Chart" | "Table" | "OnlinePicture" | "SmartArt" | "Media" | "VerticalContent" | "Picture" | "Cameo"; - } - /** An interface describing the data returned by calling `hyperlink.toJSON()`. */ - interface HyperlinkData { - /** - * Specifies the URL target of the hyperlink. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - address?: string; - /** - * Specifies the string displayed when hovering over the hyperlink. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - screenTip?: string; - } - /** An interface describing the data returned by calling `hyperlinkCollection.toJSON()`. */ - interface HyperlinkCollectionData { + /** An interface describing the data returned by calling `hyperlinkScopedCollection.toJSON()`. */ + interface HyperlinkScopedCollectionData { items?: PowerPoint.Interfaces.HyperlinkData[]; } - /** An interface describing the data returned by calling `border.toJSON()`. */ - interface BorderData { - /** - * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - color?: string | undefined; - /** - * Represents the dash style of the line. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; - /** - * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - transparency?: number | undefined; - /** - * Represents the weight of the line, in points. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - weight?: number | undefined; - } - /** An interface describing the data returned by calling `borders.toJSON()`. */ - interface BordersData { - } - /** An interface describing the data returned by calling `margins.toJSON()`. */ - interface MarginsData { - /** - * Specifies the bottom margin in points. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - bottom?: number | undefined; - /** - * Specifies the left margin in points. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - left?: number | undefined; + /** An interface describing the data returned by calling `bulletFormat.toJSON()`. */ + interface BulletFormatData { /** - * Specifies the right margin in points. + * Specifies the style of the bullets in the paragraph. See {@link PowerPoint.BulletStyle} for details. + Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - right?: number | undefined; + style?: PowerPoint.BulletStyle | "Unsupported" | "AlphabetLowercasePeriod" | "AlphabetUppercasePeriod" | "ArabicNumeralParenthesisRight" | "ArabicNumeralPeriod" | "RomanLowercaseParenthesesBoth" | "RomanLowercaseParenthesisRight" | "RomanLowercasePeriod" | "RomanUppercasePeriod" | "AlphabetLowercaseParenthesesBoth" | "AlphabetLowercaseParenthesisRight" | "AlphabetUppercaseParenthesesBoth" | "AlphabetUppercaseParenthesisRight" | "ArabicNumeralParenthesesBoth" | "ArabicNumeralPlain" | "RomanUppercaseParenthesesBoth" | "RomanUppercaseParenthesisRight" | "SimplifiedChinesePlain" | "SimplifiedChinesePeriod" | "CircleNumberDoubleBytePlain" | "CircleNumberWideDoubleByteWhitePlain" | "CircleNumberWideDoubleByteBlackPlain" | "TraditionalChinesePlain" | "TraditionalChinesePeriod" | "ArabicAlphabetDash" | "ArabicAbjadDash" | "HebrewAlphabetDash" | "KanjiKoreanPlain" | "KanjiKoreanPeriod" | "ArabicDoubleBytePlain" | "ArabicDoubleBytePeriod" | "ThaiAlphabetPeriod" | "ThaiAlphabetParenthesisRight" | "ThaiAlphabetParenthesesBoth" | "ThaiNumeralPeriod" | "ThaiNumeralParenthesisRight" | "ThaiNumeralParenthesesBoth" | "HindiAlphabetPeriod" | "HindiNumeralPeriod" | "KanjiSimplifiedChineseDoubleBytePeriod" | "HindiNumeralParenthesisRight" | "HindiAlphabet1Period" | null; /** - * Specifies the top margin in points. + * Specifies the type of the bullets in the paragraph. See {@link PowerPoint.BulletType} for details. + Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - top?: number | undefined; - } - /** An interface describing the data returned by calling `shapeFill.toJSON()`. */ - interface ShapeFillData { + type?: PowerPoint.BulletType | "Unsupported" | "None" | "Numbered" | "Unnumbered" | null; /** - * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). + * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. * * @remarks * [Api set: PowerPointApi 1.4] */ - foregroundColor?: string; + visible?: boolean | null; + } + /** An interface describing the data returned by calling `paragraphFormat.toJSON()`. */ + interface ParagraphFormatData { /** - * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. + * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - transparency?: number; + horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; /** - * Returns the fill type of the shape. See {@link PowerPoint.ShapeFillType} for details. + * Represents the indent level of the paragraph. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - type?: PowerPoint.ShapeFillType | "NoFill" | "Solid" | "Gradient" | "Pattern" | "PictureAndTexture" | "SlideBackground"; + indentLevel?: number; } /** An interface describing the data returned by calling `shapeFont.toJSON()`. */ interface ShapeFontData { @@ -191664,14 +192004,235 @@ declare namespace PowerPoint { * @remarks * [Api set: PowerPointApi 1.8] */ - superscript?: boolean | null; + superscript?: boolean | null; + /** + * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; + } + /** An interface describing the data returned by calling `textFrame.toJSON()`. */ + interface TextFrameData { + /** + * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + autoSizeSetting?: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; + /** + * Represents the bottom margin, in points, of the text frame. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + bottomMargin?: number; + /** + * Specifies if the text frame contains text. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + hasText?: boolean; + /** + * Represents the left margin, in points, of the text frame. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + leftMargin?: number; + /** + * Represents the right margin, in points, of the text frame. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + rightMargin?: number; + /** + * Represents the top margin, in points, of the text frame. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + topMargin?: number; + /** + * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; + /** + * Determines whether lines break automatically to fit text inside the shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + wordWrap?: boolean; + } + /** An interface describing the data returned by calling `textRange.toJSON()`. */ + interface TextRangeData { + /** + * Gets or sets the length of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + length?: number; + /** + * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + start?: number; + /** + * Represents the plain text content of the text range. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + text?: string; + } + /** An interface describing the data returned by calling `hyperlink.toJSON()`. */ + interface HyperlinkData { + /** + * Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. + * + * @remarks + * [Api set: PowerPointApi 1.6] + */ + address?: string; + /** + * Specifies the string displayed when hovering over the hyperlink. + * + * @remarks + * [Api set: PowerPointApi 1.6] + */ + screenTip?: string; + /** + * Returns the type of object that the hyperlink is applied to. See {@link PowerPoint.HyperlinkType} for details. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + type?: PowerPoint.HyperlinkType | "TextRange" | "Shape"; + } + /** An interface describing the data returned by calling `placeholderFormat.toJSON()`. */ + interface PlaceholderFormatData { + /** + * Gets the type of the shape contained within the placeholder. See {@link PowerPoint.ShapeType} for details. + Returns `null` if the placeholder is empty. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + containedType?: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox" | null; + /** + * Returns the type of this placeholder. See {@link PowerPoint.PlaceholderType} for details. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + type?: PowerPoint.PlaceholderType | "Unsupported" | "Date" | "SlideNumber" | "Footer" | "Header" | "Title" | "Body" | "CenterTitle" | "Subtitle" | "VerticalTitle" | "VerticalBody" | "Content" | "Chart" | "Table" | "OnlinePicture" | "SmartArt" | "Media" | "VerticalContent" | "Picture" | "Cameo"; + } + /** An interface describing the data returned by calling `hyperlinkCollection.toJSON()`. */ + interface HyperlinkCollectionData { + items?: PowerPoint.Interfaces.HyperlinkData[]; + } + /** An interface describing the data returned by calling `border.toJSON()`. */ + interface BorderData { + /** + * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + color?: string | undefined; + /** + * Represents the dash style of the line. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; + /** + * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + transparency?: number | undefined; + /** + * Represents the weight of the line, in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + weight?: number | undefined; + } + /** An interface describing the data returned by calling `borders.toJSON()`. */ + interface BordersData { + } + /** An interface describing the data returned by calling `margins.toJSON()`. */ + interface MarginsData { + /** + * Specifies the bottom margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + bottom?: number | undefined; + /** + * Specifies the left margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + left?: number | undefined; + /** + * Specifies the right margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + right?: number | undefined; + /** + * Specifies the top margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + top?: number | undefined; + } + /** An interface describing the data returned by calling `shapeFill.toJSON()`. */ + interface ShapeFillData { + /** + * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + foregroundColor?: string; + /** + * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + transparency?: number; /** - * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. + * Returns the fill type of the shape. See {@link PowerPoint.ShapeFillType} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; + type?: PowerPoint.ShapeFillType | "NoFill" | "Solid" | "Gradient" | "Pattern" | "PictureAndTexture" | "SlideBackground"; } /** An interface describing the data returned by calling `tableCell.toJSON()`. */ interface TableCellData { @@ -191795,62 +192356,55 @@ declare namespace PowerPoint { interface TableRowCollectionData { items?: PowerPoint.Interfaces.TableRowData[]; } - /** An interface describing the data returned by calling `tableStyleOptions.toJSON()`. */ - interface TableStyleOptionsData { + /** An interface describing the data returned by calling `tableStyleSettings.toJSON()`. */ + interface TableStyleSettingsData { /** * Specifies if the columns show banded formatting in which odd columns are highlighted differently from even ones, to make reading the table easier. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ areColumnsBanded?: boolean; /** * Specifies if the rows show banded formatting in which odd rows are highlighted differently from even ones, to make reading the table easier. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ areRowsBanded?: boolean; /** * Specifies if the first column contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isFirstColumnHighlighted?: boolean; /** * Specifies if the first row contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isFirstRowHighlighted?: boolean; /** * Specifies if the last column contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isLastColumnHighlighted?: boolean; /** * Specifies if the last row contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isLastRowHighlighted?: boolean; /** * Specifies the table style. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ style?: PowerPoint.TableStyle | "NoStyleNoGrid" | "ThemedStyle1Accent1" | "ThemedStyle1Accent2" | "ThemedStyle1Accent3" | "ThemedStyle1Accent4" | "ThemedStyle1Accent5" | "ThemedStyle1Accent6" | "NoStyleTableGrid" | "ThemedStyle2Accent1" | "ThemedStyle2Accent2" | "ThemedStyle2Accent3" | "ThemedStyle2Accent4" | "ThemedStyle2Accent5" | "ThemedStyle2Accent6" | "LightStyle1" | "LightStyle1Accent1" | "LightStyle1Accent2" | "LightStyle1Accent3" | "LightStyle1Accent4" | "LightStyle1Accent5" | "LightStyle1Accent6" | "LightStyle2" | "LightStyle2Accent1" | "LightStyle2Accent2" | "LightStyle2Accent3" | "LightStyle2Accent4" | "LightStyle2Accent5" | "LightStyle2Accent6" | "LightStyle3" | "LightStyle3Accent1" | "LightStyle3Accent2" | "LightStyle3Accent3" | "LightStyle3Accent4" | "LightStyle3Accent5" | "LightStyle3Accent6" | "MediumStyle1" | "MediumStyle1Accent1" | "MediumStyle1Accent2" | "MediumStyle1Accent3" | "MediumStyle1Accent4" | "MediumStyle1Accent5" | "MediumStyle1Accent6" | "MediumStyle2" | "MediumStyle2Accent1" | "MediumStyle2Accent2" | "MediumStyle2Accent3" | "MediumStyle2Accent4" | "MediumStyle2Accent5" | "MediumStyle2Accent6" | "MediumStyle3" | "MediumStyle3Accent1" | "MediumStyle3Accent2" | "MediumStyle3Accent3" | "MediumStyle3Accent4" | "MediumStyle3Accent5" | "MediumStyle3Accent6" | "MediumStyle4" | "MediumStyle4Accent1" | "MediumStyle4Accent2" | "MediumStyle4Accent3" | "MediumStyle4Accent4" | "MediumStyle4Accent5" | "MediumStyle4Accent6" | "DarkStyle1" | "DarkStyle1Accent1" | "DarkStyle1Accent2" | "DarkStyle1Accent3" | "DarkStyle1Accent4" | "DarkStyle1Accent5" | "DarkStyle1Accent6" | "DarkStyle2" | "DarkStyle2Accent1" | "DarkStyle2Accent2" | "DarkStyle2Accent3"; } @@ -192091,6 +192645,14 @@ declare namespace PowerPoint { } /** An interface describing the data returned by calling `shapeGroup.toJSON()`. */ interface ShapeGroupData { + /** + * Gets the creation ID of the shape group. Returns `null` if the shape group has no creation ID. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + creationId?: string | null; /** * Gets the unique ID of the shape group. * @@ -192144,500 +192706,806 @@ declare namespace PowerPoint { */ weight?: number; } - /** An interface describing the data returned by calling `bulletFormat.toJSON()`. */ - interface BulletFormatData { + /** An interface describing the data returned by calling `shape.toJSON()`. */ + interface ShapeData { /** - * Specifies the style of the bullets in the paragraph. See {@link PowerPoint.BulletStyle} for details. - Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. + * Gets the creation ID of the shape. Returns `null` if the shape has no creation ID. * * @remarks * [Api set: PowerPointApi BETA (PREVIEW ONLY)] * @beta */ - style?: PowerPoint.BulletStyle | "Unsupported" | "AlphabetLowercasePeriod" | "AlphabetUppercasePeriod" | "ArabicNumeralParenthesisRight" | "ArabicNumeralPeriod" | "RomanLowercaseParenthesesBoth" | "RomanLowercaseParenthesisRight" | "RomanLowercasePeriod" | "RomanUppercasePeriod" | "AlphabetLowercaseParenthesesBoth" | "AlphabetLowercaseParenthesisRight" | "AlphabetUppercaseParenthesesBoth" | "AlphabetUppercaseParenthesisRight" | "ArabicNumeralParenthesesBoth" | "ArabicNumeralPlain" | "RomanUppercaseParenthesesBoth" | "RomanUppercaseParenthesisRight" | "SimplifiedChinesePlain" | "SimplifiedChinesePeriod" | "CircleNumberDoubleBytePlain" | "CircleNumberWideDoubleByteWhitePlain" | "CircleNumberWideDoubleByteBlackPlain" | "TraditionalChinesePlain" | "TraditionalChinesePeriod" | "ArabicAlphabetDash" | "ArabicAbjadDash" | "HebrewAlphabetDash" | "KanjiKoreanPlain" | "KanjiKoreanPeriod" | "ArabicDoubleBytePlain" | "ArabicDoubleBytePeriod" | "ThaiAlphabetPeriod" | "ThaiAlphabetParenthesisRight" | "ThaiAlphabetParenthesesBoth" | "ThaiNumeralPeriod" | "ThaiNumeralParenthesisRight" | "ThaiNumeralParenthesesBoth" | "HindiAlphabetPeriod" | "HindiNumeralPeriod" | "KanjiSimplifiedChineseDoubleBytePeriod" | "HindiNumeralParenthesisRight" | "HindiAlphabet1Period" | null; + creationId?: string | null; /** - * Specifies the type of the bullets in the paragraph. See {@link PowerPoint.BulletType} for details. - Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. + * Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + height?: number; + /** + * Gets the unique ID of the shape. + * + * @remarks + * [Api set: PowerPointApi 1.3] + */ + id?: string; + /** + * The distance, in points, from the left side of the shape to the left side of the slide. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + left?: number; + /** + * Returns the level of the specified shape. + + - A level of 0 means the shape isn't part of a group. + + - A level of 1 means the shape is part of a top-level group. + + - A level greater than 1 indicates the shape is a nested group. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + level?: number; + /** + * Specifies the name of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + name?: string; + /** + * Specifies the rotation, in degrees, of the shape around the z-axis. + A positive value indicates clockwise rotation, and a negative value indicates counterclockwise rotation. * * @remarks * [Api set: PowerPointApi BETA (PREVIEW ONLY)] * @beta */ - type?: PowerPoint.BulletType | "Unsupported" | "None" | "Numbered" | "Unnumbered" | null; + rotation?: number; /** - * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. + * The distance, in points, from the top edge of the shape to the top edge of the slide. * * @remarks * [Api set: PowerPointApi 1.4] */ - visible?: boolean | null; - } - /** An interface describing the data returned by calling `paragraphFormat.toJSON()`. */ - interface ParagraphFormatData { + top?: number; /** - * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. + * Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; + type?: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox"; /** - * Represents the indent level of the paragraph. + * Specifies if the shape is visible. * * @remarks * [Api set: PowerPointApi BETA (PREVIEW ONLY)] * @beta */ - indentLevel?: number; + visible?: boolean; + /** + * Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + width?: number; + /** + * Returns the z-order position of the shape, with 0 representing the bottom of the order stack. Every shape on a slide has a unique z-order, but + each slide also has a unique z-order stack, so two shapes on separate slides could have the same z-order number. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + zOrderPosition?: number; } - /** An interface describing the data returned by calling `textRange.toJSON()`. */ - interface TextRangeData { + /** An interface describing the data returned by calling `binding.toJSON()`. */ + interface BindingData { /** - * Gets or sets the length of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. + * Represents the binding identifier. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.8] */ - length?: number; + id?: string; /** - * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. + * Returns the type of the binding. See `BindingType` for details. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + type?: PowerPoint.BindingType | "Shape"; + } + /** An interface describing the data returned by calling `bindingCollection.toJSON()`. */ + interface BindingCollectionData { + items?: PowerPoint.Interfaces.BindingData[]; + } + /** An interface describing the data returned by calling `customProperty.toJSON()`. */ + interface CustomPropertyData { + /** + * The string that uniquely identifies the custom property. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + key?: string; + /** + * The type of the value used for the custom property. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + type?: PowerPoint.DocumentPropertyType | "Boolean" | "Date" | "Number" | "String"; + /** + * The value of the custom property. + If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + value?: boolean | Date | number | string; + } + /** An interface describing the data returned by calling `customPropertyCollection.toJSON()`. */ + interface CustomPropertyCollectionData { + items?: PowerPoint.Interfaces.CustomPropertyData[]; + } + /** An interface describing the data returned by calling `documentProperties.toJSON()`. */ + interface DocumentPropertiesData { + /** + * The author of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + author?: string; + /** + * The category of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + category?: string; + /** + * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + comments?: string; + /** + * The company of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + company?: string; + /** + * The creation date of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + creationDate?: Date; + /** + * The keywords of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + keywords?: string; + /** + * The last author of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + lastAuthor?: string; + /** + * The manager of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + manager?: string; + /** + * The revision number of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + revisionNumber?: number; + /** + * The subject of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + subject?: string; + /** + * The title of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + title?: string; + } + /** An interface describing the data returned by calling `pageSetup.toJSON()`. */ + interface PageSetupData { + /** + * Specifies the height of the slides in the presentation, in points. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + slideHeight?: number; + /** + * Specifies the width of the slides in the presentation, in points. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + slideWidth?: number; + } + /** An interface describing the data returned by calling `slideCollection.toJSON()`. */ + interface SlideCollectionData { + items?: PowerPoint.Interfaces.SlideData[]; + } + /** An interface describing the data returned by calling `slideScopedCollection.toJSON()`. */ + interface SlideScopedCollectionData { + items?: PowerPoint.Interfaces.SlideData[]; + } + /** An interface describing the data returned by calling `slideMasterCollection.toJSON()`. */ + interface SlideMasterCollectionData { + items?: PowerPoint.Interfaces.SlideMasterData[]; + } + /** + * @remarks + * [Api set: PowerPointApi 1.0] + */ + interface PresentationLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Returns the page setup information whose properties control slide setup attributes for the presentation. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + pageSetup?: PowerPoint.Interfaces.PageSetupLoadOptions; + /** + * Gets the properties of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + properties?: PowerPoint.Interfaces.DocumentPropertiesLoadOptions; + /** + * Gets the ID of the presentation. * * @remarks * [Api set: PowerPointApi 1.5] */ - start?: number; + id?: boolean; + title?: boolean; + } + /** + * Represents the adjustment values for a shape. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + interface AdjustmentsLoadOptions { /** - * Represents the plain text content of the text range. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Specifies the number of adjustment points. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - text?: string; + count?: boolean; } - /** An interface describing the data returned by calling `textFrame.toJSON()`. */ - interface TextFrameData { + /** + * Represents a custom XML part object. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + interface CustomXmlPartLoadOptions { /** - * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - autoSizeSetting?: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; + id?: boolean; /** - * Represents the bottom margin, in points, of the text frame. + * The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - bottomMargin?: number; + namespaceUri?: boolean; + } + /** + * A scoped collection of custom XML parts. + A scoped collection is the result of some operation (such as filtering by namespace). + A scoped collection cannot be scoped any further. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + interface CustomXmlPartScopedCollectionLoadOptions { /** - * Specifies if the text frame contains text. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - hasText?: boolean; + id?: boolean; /** - * Represents the left margin, in points, of the text frame. + * For EACH ITEM in the collection: The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - leftMargin?: number; + namespaceUri?: boolean; + } + /** + * A collection of custom XML parts. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + interface CustomXmlPartCollectionLoadOptions { /** - * Represents the right margin, in points, of the text frame. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - rightMargin?: number; + id?: boolean; /** - * Represents the top margin, in points, of the text frame. + * For EACH ITEM in the collection: The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - topMargin?: number; + namespaceUri?: boolean; + } + /** + * Represents a scoped collection of hyperlinks. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + interface HyperlinkScopedCollectionLoadOptions { /** - * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.6] */ - verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; + address?: boolean; /** - * Determines whether lines break automatically to fit text inside the shape. + * For EACH ITEM in the collection: Specifies the string displayed when hovering over the hyperlink. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.6] */ - wordWrap?: boolean; + screenTip?: boolean; + /** + * For EACH ITEM in the collection: Returns the type of object that the hyperlink is applied to. See {@link PowerPoint.HyperlinkType} for details. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + type?: boolean; } - /** An interface describing the data returned by calling `shape.toJSON()`. */ - interface ShapeData { + /** + * Represents the bullet formatting properties of a text that is attached to the {@link PowerPoint.ParagraphFormat}. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + interface BulletFormatLoadOptions { /** - * Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Specifies the style of the bullets in the paragraph. See {@link PowerPoint.BulletStyle} for details. + Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - height?: number; + style?: boolean; /** - * Gets the unique ID of the shape. + * Specifies the type of the bullets in the paragraph. See {@link PowerPoint.BulletType} for details. + Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. * * @remarks - * [Api set: PowerPointApi 1.3] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - id?: string; + type?: boolean; /** - * The distance, in points, from the left side of the shape to the left side of the slide. + * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. * * @remarks * [Api set: PowerPointApi 1.4] */ - left?: number; + visible?: boolean; + } + /** + * Represents the paragraph formatting properties of a text that is attached to the {@link PowerPoint.TextRange}. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + interface ParagraphFormatLoadOptions { /** - * Returns the level of the specified shape. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Represents the bullet format of the paragraph. See {@link PowerPoint.BulletFormat} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + bulletFormat?: PowerPoint.Interfaces.BulletFormatLoadOptions; + /** + * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + horizontalAlignment?: boolean; + /** + * Represents the indent level of the paragraph. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + indentLevel?: boolean; + } + /** + * Represents the font attributes, such as font name, font size, and color, for a shape's TextRange object. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + interface ShapeFontLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: - - A level of 0 means the shape isn't part of a group. + - `true`: All the text has the **All Caps** attribute. - - A level of 1 means the shape is part of a top-level group. + - `false`: None of the text has the **All Caps** attribute. - - A level greater than 1 indicates the shape is a nested group. + - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. * * @remarks * [Api set: PowerPointApi 1.8] */ - level?: number; + allCaps?: boolean; /** - * Specifies the name of this shape. + * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: + + - `true`: All the text is bold. + + - `false`: None of the text is bold. + + - `null`: Returned if some, but not all, of the text is bold. * * @remarks * [Api set: PowerPointApi 1.4] */ - name?: string; + bold?: boolean; /** - * Specifies the rotation, in degrees, of the shape around the z-axis. - A positive value indicates clockwise rotation, and a negative value indicates counterclockwise rotation. + * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.4] */ - rotation?: number; + color?: boolean; /** - * The distance, in points, from the top edge of the shape to the top edge of the slide. + * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Double strikethrough** attribute. + + - `false`: None of the text has the **Double strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - top?: number; + doubleStrikethrough?: boolean; /** - * Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. + * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: + + - `true`: All the text is italicized. + + - `false`: None of the text is italicized. + + - `null`: Returned if some, but not all, of the text is italicized. * * @remarks * [Api set: PowerPointApi 1.4] */ - type?: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox"; + italic?: boolean; /** - * Specifies if the shape is visible. + * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.4] */ - visible?: boolean; + name?: boolean; /** - * Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. * * @remarks * [Api set: PowerPointApi 1.4] */ - width?: number; + size?: boolean; /** - * Returns the z-order position of the shape, with 0 representing the bottom of the order stack. Every shape on a slide has a unique z-order, but - each slide also has a unique z-order stack, so two shapes on separate slides could have the same z-order number. + * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: + + - `true`: All the text has the **Small Caps** attribute. + + - `false`: None of the text has the **Small Caps** attribute. + + - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. * * @remarks * [Api set: PowerPointApi 1.8] */ - zOrderPosition?: number; - } - /** An interface describing the data returned by calling `binding.toJSON()`. */ - interface BindingData { + smallCaps?: boolean; /** - * Represents the binding identifier. + * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Strikethrough** attribute. + + - `false`: None of the text has the **Strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. * * @remarks * [Api set: PowerPointApi 1.8] */ - id?: string; + strikethrough?: boolean; /** - * Returns the type of the binding. See `BindingType` for details. + * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Subscript** attribute. + + - `false`: None of the text has the **Subscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. * * @remarks * [Api set: PowerPointApi 1.8] */ - type?: PowerPoint.BindingType | "Shape"; - } - /** An interface describing the data returned by calling `bindingCollection.toJSON()`. */ - interface BindingCollectionData { - items?: PowerPoint.Interfaces.BindingData[]; - } - /** An interface describing the data returned by calling `customProperty.toJSON()`. */ - interface CustomPropertyData { - /** - * The string that uniquely identifies the custom property. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - key?: string; + subscript?: boolean; /** - * The type of the value used for the custom property. + * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Superscript** attribute. + + - `false`: None of the text has the **Superscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.8] */ - type?: PowerPoint.DocumentPropertyType | "Boolean" | "Date" | "Number" | "String"; + superscript?: boolean; /** - * The value of the custom property. - If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - value?: boolean | Date | number | string; - } - /** An interface describing the data returned by calling `customPropertyCollection.toJSON()`. */ - interface CustomPropertyCollectionData { - items?: PowerPoint.Interfaces.CustomPropertyData[]; + underline?: boolean; } - /** An interface describing the data returned by calling `documentProperties.toJSON()`. */ - interface DocumentPropertiesData { - /** - * The author of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - author?: string; - /** - * The category of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - category?: string; - /** - * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - comments?: string; + /** + * Represents the text frame of a shape object. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + interface TextFrameLoadOptions { /** - * The company of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ - company?: string; + $all?: boolean; /** - * The creation date of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - creationDate?: Date; + * Represents the text that is attached to a shape in the text frame, and properties and methods for manipulating the text. See {@link PowerPoint.TextRange} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + textRange?: PowerPoint.Interfaces.TextRangeLoadOptions; /** - * The keywords of the presentation. + * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - keywords?: string; + autoSizeSetting?: boolean; /** - * The last author of the presentation. + * Represents the bottom margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - lastAuthor?: string; + bottomMargin?: boolean; /** - * The manager of the presentation. + * Specifies if the text frame contains text. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - manager?: string; + hasText?: boolean; /** - * The revision number of the presentation. + * Represents the left margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - revisionNumber?: number; + leftMargin?: boolean; /** - * The subject of the presentation. + * Represents the right margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - subject?: string; + rightMargin?: boolean; /** - * The title of the presentation. + * Represents the top margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - title?: string; - } - /** An interface describing the data returned by calling `pageSetup.toJSON()`. */ - interface PageSetupData { + topMargin?: boolean; /** - * Specifies the height of the slides in the presentation, in points. + * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.4] */ - slideHeight?: number; + verticalAlignment?: boolean; /** - * Specifies the width of the slides in the presentation, in points. + * Determines whether lines break automatically to fit text inside the shape. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.4] */ - slideWidth?: number; - } - /** An interface describing the data returned by calling `slideCollection.toJSON()`. */ - interface SlideCollectionData { - items?: PowerPoint.Interfaces.SlideData[]; - } - /** An interface describing the data returned by calling `slideScopedCollection.toJSON()`. */ - interface SlideScopedCollectionData { - items?: PowerPoint.Interfaces.SlideData[]; - } - /** An interface describing the data returned by calling `slideMasterCollection.toJSON()`. */ - interface SlideMasterCollectionData { - items?: PowerPoint.Interfaces.SlideMasterData[]; + wordWrap?: boolean; } /** + * Contains the text that is attached to a shape, in addition to properties and methods for manipulating the text. + * * @remarks - * [Api set: PowerPointApi 1.0] + * [Api set: PowerPointApi 1.4] */ - interface PresentationLoadOptions { + interface TextRangeLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Returns the page setup information whose properties control slide setup attributes for the presentation. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - pageSetup?: PowerPoint.Interfaces.PageSetupLoadOptions; + * Returns a `ShapeFont` object that represents the font attributes for the text range. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + font?: PowerPoint.Interfaces.ShapeFontLoadOptions; /** - * Gets the properties of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - properties?: PowerPoint.Interfaces.DocumentPropertiesLoadOptions; + * Represents the paragraph format of the text range. See {@link PowerPoint.ParagraphFormat} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + paragraphFormat?: PowerPoint.Interfaces.ParagraphFormatLoadOptions; /** - * Gets the ID of the presentation. + * Gets or sets the length of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. * * @remarks * [Api set: PowerPointApi 1.5] */ - id?: boolean; - title?: boolean; - } - /** - * Represents a custom XML part object. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - interface CustomXmlPartLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; + length?: boolean; /** - * The ID of the custom XML part. + * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.5] */ - id?: boolean; + start?: boolean; /** - * The namespace URI of the custom XML part. + * Represents the plain text content of the text range. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - namespaceUri?: boolean; + text?: boolean; } /** - * A scoped collection of custom XML parts. - A scoped collection is the result of some operation (such as filtering by namespace). - A scoped collection cannot be scoped any further. + * Represents a single hyperlink. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.6] */ - interface CustomXmlPartScopedCollectionLoadOptions { + interface HyperlinkLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * For EACH ITEM in the collection: The ID of the custom XML part. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - id?: boolean; - /** - * For EACH ITEM in the collection: The namespace URI of the custom XML part. + * Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. * * @remarks - * [Api set: PowerPointApi 1.7] - */ - namespaceUri?: boolean; - } - /** - * A collection of custom XML parts. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - interface CustomXmlPartCollectionLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * [Api set: PowerPointApi 1.6] */ - $all?: boolean; + address?: boolean; /** - * For EACH ITEM in the collection: The ID of the custom XML part. + * Specifies the string displayed when hovering over the hyperlink. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.6] */ - id?: boolean; + screenTip?: boolean; /** - * For EACH ITEM in the collection: The namespace URI of the custom XML part. + * Returns the type of object that the hyperlink is applied to. See {@link PowerPoint.HyperlinkType} for details. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - namespaceUri?: boolean; + type?: boolean; } /** * Represents the properties of a `placeholder` shape. @@ -192667,56 +193535,38 @@ declare namespace PowerPoint { type?: boolean; } /** - * Represents a single hyperlink. + * Represents a collection of hyperlinks. * * @remarks * [Api set: PowerPointApi 1.6] */ - interface HyperlinkLoadOptions { + interface HyperlinkCollectionLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Specifies the URL target of the hyperlink. + * For EACH ITEM in the collection: Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. * * @remarks * [Api set: PowerPointApi 1.6] */ address?: boolean; /** - * Specifies the string displayed when hovering over the hyperlink. + * For EACH ITEM in the collection: Specifies the string displayed when hovering over the hyperlink. * * @remarks * [Api set: PowerPointApi 1.6] */ screenTip?: boolean; - } - /** - * Represents a collection of hyperlinks. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - interface HyperlinkCollectionLoadOptions { /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * For EACH ITEM in the collection: Specifies the URL target of the hyperlink. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - address?: boolean; - /** - * For EACH ITEM in the collection: Specifies the string displayed when hovering over the hyperlink. + * For EACH ITEM in the collection: Returns the type of object that the hyperlink is applied to. See {@link PowerPoint.HyperlinkType} for details. * * @remarks - * [Api set: PowerPointApi 1.6] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - screenTip?: boolean; + type?: boolean; } /** * Represents the properties for a table cell border. @@ -192885,150 +193735,6 @@ declare namespace PowerPoint { */ type?: boolean; } - /** - * Represents the font attributes, such as font name, font size, and color, for a shape's TextRange object. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - interface ShapeFontLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: - - - `true`: All the text has the **All Caps** attribute. - - - `false`: None of the text has the **All Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - allCaps?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: - - - `true`: All the text is bold. - - - `false`: None of the text is bold. - - - `null`: Returned if some, but not all, of the text is bold. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - bold?: boolean; - /** - * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - color?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Double strikethrough** attribute. - - - `false`: None of the text has the **Double strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - doubleStrikethrough?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: - - - `true`: All the text is italicized. - - - `false`: None of the text is italicized. - - - `null`: Returned if some, but not all, of the text is italicized. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - italic?: boolean; - /** - * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - name?: boolean; - /** - * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - size?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: - - - `true`: All the text has the **Small Caps** attribute. - - - `false`: None of the text has the **Small Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - smallCaps?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Strikethrough** attribute. - - - `false`: None of the text has the **Strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - strikethrough?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Subscript** attribute. - - - `false`: None of the text has the **Subscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - subscript?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Superscript** attribute. - - - `false`: None of the text has the **Superscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - superscript?: boolean; - /** - * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - underline?: boolean; - } /** * Represents a table. * @@ -193360,13 +194066,12 @@ declare namespace PowerPoint { rowIndex?: boolean; } /** - * Represents the available table style options. + * Represents the available table style settings. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ - interface TableStyleOptionsLoadOptions { + interface TableStyleSettingsLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ @@ -193375,56 +194080,49 @@ declare namespace PowerPoint { * Specifies if the columns show banded formatting in which odd columns are highlighted differently from even ones, to make reading the table easier. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ areColumnsBanded?: boolean; /** * Specifies if the rows show banded formatting in which odd rows are highlighted differently from even ones, to make reading the table easier. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ areRowsBanded?: boolean; /** * Specifies if the first column contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isFirstColumnHighlighted?: boolean; /** * Specifies if the first row contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isFirstRowHighlighted?: boolean; /** * Specifies if the last column contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isLastColumnHighlighted?: boolean; /** * Specifies if the last row contains special formatting. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ isLastRowHighlighted?: boolean; /** * Specifies the table style. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ style?: boolean; } @@ -193440,13 +194138,12 @@ declare namespace PowerPoint { */ $all?: boolean; /** - * Gets the table style options. + * Gets the table style settings. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.9] */ - styleOptions?: PowerPoint.Interfaces.TableStyleOptionsLoadOptions; + styleSettings?: PowerPoint.Interfaces.TableStyleSettingsLoadOptions; /** * Gets the number of columns in the table. * @@ -193480,6 +194177,14 @@ declare namespace PowerPoint { Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; + /** + * For EACH ITEM in the collection: Returns an `Adjustments` object that contains adjustment values for all the adjustments in this shape. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + adjustments?: PowerPoint.Interfaces.AdjustmentsLoadOptions; /** * For EACH ITEM in the collection: Returns the fill formatting of this shape. * @@ -193525,6 +194230,14 @@ declare namespace PowerPoint { * [Api set: PowerPointApi 1.4] */ textFrame?: PowerPoint.Interfaces.TextFrameLoadOptions; + /** + * For EACH ITEM in the collection: Gets the creation ID of the shape. Returns `null` if the shape has no creation ID. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + creationId?: boolean; /** * For EACH ITEM in the collection: Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. * @@ -194064,6 +194777,14 @@ declare namespace PowerPoint { Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; + /** + * For EACH ITEM in the collection: Returns an `Adjustments` object that contains adjustment values for all the adjustments in this shape. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + adjustments?: PowerPoint.Interfaces.AdjustmentsLoadOptions; /** * For EACH ITEM in the collection: Returns the fill formatting of this shape. * @@ -194109,6 +194830,14 @@ declare namespace PowerPoint { * [Api set: PowerPointApi 1.5] */ textFrame?: PowerPoint.Interfaces.TextFrameLoadOptions; + /** + * For EACH ITEM in the collection: Gets the creation ID of the shape. Returns `null` if the shape has no creation ID. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + creationId?: boolean; /** * For EACH ITEM in the collection: Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. * @@ -194215,6 +194944,14 @@ declare namespace PowerPoint { * [Api set: PowerPointApi 1.8] */ shape?: PowerPoint.Interfaces.ShapeLoadOptions; + /** + * Gets the creation ID of the shape group. Returns `null` if the shape group has no creation ID. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + creationId?: boolean; /** * Gets the unique ID of the shape group. * @@ -194278,211 +195015,24 @@ declare namespace PowerPoint { weight?: boolean; } /** - * Represents the bullet formatting properties of a text that is attached to the {@link PowerPoint.ParagraphFormat}. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - interface BulletFormatLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * Specifies the style of the bullets in the paragraph. See {@link PowerPoint.BulletStyle} for details. - Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - style?: boolean; - /** - * Specifies the type of the bullets in the paragraph. See {@link PowerPoint.BulletType} for details. - Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet formatting properties. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - type?: boolean; - /** - * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - visible?: boolean; - } - /** - * Represents the paragraph formatting properties of a text that is attached to the {@link PowerPoint.TextRange}. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - interface ParagraphFormatLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * Represents the bullet format of the paragraph. See {@link PowerPoint.BulletFormat} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - bulletFormat?: PowerPoint.Interfaces.BulletFormatLoadOptions; - /** - * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - horizontalAlignment?: boolean; - /** - * Represents the indent level of the paragraph. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ - indentLevel?: boolean; - } - /** - * Contains the text that is attached to a shape, in addition to properties and methods for manipulating the text. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - interface TextRangeLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * Returns a `ShapeFont` object that represents the font attributes for the text range. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - font?: PowerPoint.Interfaces.ShapeFontLoadOptions; - /** - * Represents the paragraph format of the text range. See {@link PowerPoint.ParagraphFormat} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - paragraphFormat?: PowerPoint.Interfaces.ParagraphFormatLoadOptions; - /** - * Gets or sets the length of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - length?: boolean; - /** - * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - start?: boolean; - /** - * Represents the plain text content of the text range. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - text?: boolean; - } - /** - * Represents the text frame of a shape object. + * Represents a single shape in the slide. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.3] */ - interface TextFrameLoadOptions { + interface ShapeLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Represents the text that is attached to a shape in the text frame, and properties and methods for manipulating the text. See {@link PowerPoint.TextRange} for details. + * Returns an `Adjustments` object that contains adjustment values for all the adjustments in this shape. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta */ - textRange?: PowerPoint.Interfaces.TextRangeLoadOptions; - /** - * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - autoSizeSetting?: boolean; - /** - * Represents the bottom margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - bottomMargin?: boolean; - /** - * Specifies if the text frame contains text. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - hasText?: boolean; - /** - * Represents the left margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - leftMargin?: boolean; - /** - * Represents the right margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - rightMargin?: boolean; - /** - * Represents the top margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - topMargin?: boolean; - /** - * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - verticalAlignment?: boolean; - /** - * Determines whether lines break automatically to fit text inside the shape. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - wordWrap?: boolean; - } - /** - * Represents a single shape in the slide. - * - * @remarks - * [Api set: PowerPointApi 1.3] - */ - interface ShapeLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; + adjustments?: PowerPoint.Interfaces.AdjustmentsLoadOptions; /** * Returns the fill formatting of this shape. * @@ -194528,6 +195078,14 @@ declare namespace PowerPoint { * [Api set: PowerPointApi 1.4] */ textFrame?: PowerPoint.Interfaces.TextFrameLoadOptions; + /** + * Gets the creation ID of the shape. Returns `null` if the shape has no creation ID. + * + * @remarks + * [Api set: PowerPointApi BETA (PREVIEW ONLY)] + * @beta + */ + creationId?: boolean; /** * Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. * diff --git a/types/office-js/index.d.ts b/types/office-js/index.d.ts index b900dd7e045c85..29c95c72385909 100644 --- a/types/office-js/index.d.ts +++ b/types/office-js/index.d.ts @@ -128006,2585 +128006,2464 @@ declare namespace PowerPoint { toJSON(): PowerPoint.Interfaces.CustomXmlPartCollectionData; } /** - * Specifies the type of a placeholder. + * Represents the horizontal alignment of the {@link PowerPoint.TextFrame} in a {@link PowerPoint.Shape}. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - enum PlaceholderType { - /** - * The placeholder is unsupported. - * @remarks - * [Api set: PowerPointApi 1.8] - */ - unsupported = "Unsupported", - /** - * The placeholder is for a date. - * @remarks - * [Api set: PowerPointApi 1.8] - */ - date = "Date", + enum ParagraphHorizontalAlignment { /** - * The placeholder is for a slide number. + * Align text to the left margin. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - slideNumber = "SlideNumber", + left = "Left", /** - * The placeholder is for a footer. + * Align text in the center. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - footer = "Footer", + center = "Center", /** - * The placeholder is for a header. + * Align text to the right margin. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - header = "Header", + right = "Right", /** - * The placeholder is for a title. + * Align text so that it's justified across the whole line. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - title = "Title", + justify = "Justify", /** - * The placeholder is for a body. + * Specifies the alignment or adjustment of kashida length in Arabic text. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - body = "Body", + justifyLow = "JustifyLow", /** - * The placeholder is for a center title. + * Distributes the text words across an entire text line. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - centerTitle = "CenterTitle", + distributed = "Distributed", /** - * The placeholder is for a subtitle. + * Distributes Thai text specially, because each character is treated as a word. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - subtitle = "Subtitle", + thaiDistributed = "ThaiDistributed", + } + /** + * Represents the bullet formatting properties of a text that is attached to the {@link PowerPoint.ParagraphFormat}. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + class BulletFormat extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * The placeholder is for a vertical title. + * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. + * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - verticalTitle = "VerticalTitle", + visible: boolean | null; /** - * The placeholder is for a vertical body. - * @remarks - * [Api set: PowerPointApi 1.8] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - verticalBody = "VerticalBody", + load(options?: PowerPoint.Interfaces.BulletFormatLoadOptions): PowerPoint.BulletFormat; /** - * The placeholder is for generic content. - * @remarks - * [Api set: PowerPointApi 1.8] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - content = "Content", + load(propertyNames?: string | string[]): PowerPoint.BulletFormat; /** - * The placeholder is for a chart. - * @remarks - * [Api set: PowerPointApi 1.8] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - chart = "Chart", + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.BulletFormat; /** - * The placeholder is for a table. - * @remarks - * [Api set: PowerPointApi 1.8] + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.BulletFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BulletFormatData`) that contains shallow copies of any loaded child properties from the original object. */ - table = "Table", + toJSON(): PowerPoint.Interfaces.BulletFormatData; + } + /** + * Represents the paragraph formatting properties of a text that is attached to the {@link PowerPoint.TextRange}. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + class ParagraphFormat extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * The placeholder is for an online picture. + * Represents the bullet format of the paragraph. See {@link PowerPoint.BulletFormat} for details. + * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - onlinePicture = "OnlinePicture", + readonly bulletFormat: PowerPoint.BulletFormat; /** - * The placeholder is for a SmartArt. + * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. + * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - smartArt = "SmartArt", + horizontalAlignment: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; /** - * The placeholder is for media. - * @remarks - * [Api set: PowerPointApi 1.8] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - media = "Media", + load(options?: PowerPoint.Interfaces.ParagraphFormatLoadOptions): PowerPoint.ParagraphFormat; /** - * The placeholder is for generic vertical content. - * @remarks - * [Api set: PowerPointApi 1.8] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - verticalContent = "VerticalContent", + load(propertyNames?: string | string[]): PowerPoint.ParagraphFormat; /** - * The placeholder is for a picture. - * @remarks - * [Api set: PowerPointApi 1.8] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - picture = "Picture", + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.ParagraphFormat; /** - * The placeholder is for a cameo. - * @remarks - * [Api set: PowerPointApi 1.8] + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ParagraphFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ParagraphFormatData`) that contains shallow copies of any loaded child properties from the original object. */ - cameo = "Cameo", + toJSON(): PowerPoint.Interfaces.ParagraphFormatData; } /** - * Specifies the type of a shape. + * The type of underline applied to a font. * * @remarks * [Api set: PowerPointApi 1.4] */ - enum ShapeType { - /** - * The given shape's type is unsupported. - * @remarks - * [Api set: PowerPointApi 1.4] - */ - unsupported = "Unsupported", - /** - * The shape is an image. - * @remarks - * [Api set: PowerPointApi 1.4] - */ - image = "Image", + enum ShapeFontUnderlineStyle { /** - * The shape is a geometric shape such as rectangle. + * No underlining. * @remarks * [Api set: PowerPointApi 1.4] */ - geometricShape = "GeometricShape", + none = "None", /** - * The shape is a group shape which contains sub-shapes. + * Regular single line underlining. * @remarks * [Api set: PowerPointApi 1.4] */ - group = "Group", + single = "Single", /** - * The shape is a line. + * Underlining of text with double lines. * @remarks * [Api set: PowerPointApi 1.4] */ - line = "Line", + double = "Double", /** - * The shape is a table. + * Underlining of text with a thick line. * @remarks * [Api set: PowerPointApi 1.4] */ - table = "Table", + heavy = "Heavy", /** - * The shape is a callout. + * Underlining of text with a dotted line. * @remarks * [Api set: PowerPointApi 1.4] */ - callout = "Callout", + dotted = "Dotted", /** - * The shape is a chart. + * Underlining of text with a thick, dotted line. * @remarks * [Api set: PowerPointApi 1.4] */ - chart = "Chart", + dottedHeavy = "DottedHeavy", /** - * The shape is a content Office Add-in. + * Underlining of text with a line containing dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - contentApp = "ContentApp", + dash = "Dash", /** - * The shape is a diagram. + * Underlining of text with a thick line containing dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - diagram = "Diagram", + dashHeavy = "DashHeavy", /** - * The shape is a freeform object. + * Underlining of text with a line containing long dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - freeform = "Freeform", + dashLong = "DashLong", /** - * The shape is a graphic. + * Underlining of text with a thick line containing long dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - graphic = "Graphic", + dashLongHeavy = "DashLongHeavy", /** - * The shape is an ink object. + * Underlining of text with a line containing dots and dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - ink = "Ink", + dotDash = "DotDash", /** - * The shape is a media object. + * Underlining of text with a thick line containing dots and dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - media = "Media", + dotDashHeavy = "DotDashHeavy", /** - * The shape is a 3D model. + * Underlining of text with a line containing double dots and dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - model3D = "Model3D", + dotDotDash = "DotDotDash", /** - * The shape is an OLE (Object Linking and Embedding) object. + * Underlining of text with a thick line containing double dots and dashes. * @remarks * [Api set: PowerPointApi 1.4] */ - ole = "Ole", + dotDotDashHeavy = "DotDotDashHeavy", /** - * The shape is a placeholder. + * Underlining of text with a wavy line. * @remarks * [Api set: PowerPointApi 1.4] */ - placeholder = "Placeholder", + wavy = "Wavy", /** - * The shape is a SmartArt graphic. + * Underlining of text with a thick, wavy line. * @remarks * [Api set: PowerPointApi 1.4] */ - smartArt = "SmartArt", + wavyHeavy = "WavyHeavy", /** - * The shape is a text box. + * Underlining of text with double wavy lines. * @remarks * [Api set: PowerPointApi 1.4] */ - textBox = "TextBox", + wavyDouble = "WavyDouble", } /** - * Represents the properties of a `placeholder` shape. + * Represents the font attributes, such as font name, font size, and color, for a shape's TextRange object. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - class PlaceholderFormat extends OfficeExtension.ClientObject { + class ShapeFont extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Gets the type of the shape contained within the placeholder. See {@link PowerPoint.ShapeType} for details. - Returns `null` if the placeholder is empty. + * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: + + - `true`: All the text has the **All Caps** attribute. + + - `false`: None of the text has the **All Caps** attribute. + + - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. * * @remarks * [Api set: PowerPointApi 1.8] */ - readonly containedType: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox" | null; + allCaps: boolean | null; /** - * Returns the type of this placeholder. See {@link PowerPoint.PlaceholderType} for details. + * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: + + - `true`: All the text is bold. + + - `false`: None of the text is bold. + + - `null`: Returned if some, but not all, of the text is bold. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - readonly type: PowerPoint.PlaceholderType | "Unsupported" | "Date" | "SlideNumber" | "Footer" | "Header" | "Title" | "Body" | "CenterTitle" | "Subtitle" | "VerticalTitle" | "VerticalBody" | "Content" | "Chart" | "Table" | "OnlinePicture" | "SmartArt" | "Media" | "VerticalContent" | "Picture" | "Cameo"; + bold: boolean | null; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. * - * @param options Provides options for which properties of the object to load. + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(options?: PowerPoint.Interfaces.PlaceholderFormatLoadOptions): PowerPoint.PlaceholderFormat; + color: string | null; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Double strikethrough** attribute. + + - `false`: None of the text has the **Double strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * @remarks + * [Api set: PowerPointApi 1.8] */ - load(propertyNames?: string | string[]): PowerPoint.PlaceholderFormat; + doubleStrikethrough: boolean | null; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: + + - `true`: All the text is italicized. + + - `false`: None of the text is italicized. + + - `null`: Returned if some, but not all, of the text is italicized. * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.PlaceholderFormat; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.PlaceholderFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.PlaceholderFormatData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.PlaceholderFormatData; - } - /** - * Represents a single hyperlink. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - class Hyperlink extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + italic: boolean | null; /** - * Specifies the URL target of the hyperlink. + * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. * * @remarks - * [Api set: PowerPointApi 1.6] + * [Api set: PowerPointApi 1.4] */ - address: string; + name: string | null; /** - * Specifies the string displayed when hovering over the hyperlink. + * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. * * @remarks - * [Api set: PowerPointApi 1.6] + * [Api set: PowerPointApi 1.4] */ - screenTip: string; + size: number | null; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: + + - `true`: All the text has the **Small Caps** attribute. + + - `false`: None of the text has the **Small Caps** attribute. + + - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. * - * @param options Provides options for which properties of the object to load. + * @remarks + * [Api set: PowerPointApi 1.8] */ - load(options?: PowerPoint.Interfaces.HyperlinkLoadOptions): PowerPoint.Hyperlink; + smallCaps: boolean | null; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Strikethrough** attribute. + + - `false`: None of the text has the **Strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * @remarks + * [Api set: PowerPointApi 1.8] */ - load(propertyNames?: string | string[]): PowerPoint.Hyperlink; + strikethrough: boolean | null; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Subscript** attribute. + + - `false`: None of the text has the **Subscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.Hyperlink; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.Hyperlink` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkData`) that contains shallow copies of any loaded child properties from the original object. + * @remarks + * [Api set: PowerPointApi 1.8] */ - toJSON(): PowerPoint.Interfaces.HyperlinkData; - } - /** - * Represents a collection of hyperlinks. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - class HyperlinkCollection extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.Hyperlink[]; + subscript: boolean | null; /** - * Gets the number of hyperlinks in the collection. + * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Superscript** attribute. + + - `false`: None of the text has the **Superscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. * * @remarks - * [Api set: PowerPointApi 1.6] - * @returns The number of hyperlinks in the collection. + * [Api set: PowerPointApi 1.8] */ - getCount(): OfficeExtension.ClientResult; + superscript: boolean | null; /** - * Gets a hyperlink using its zero-based index in the collection. An error is thrown if the index is out of range. + * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. * * @remarks - * [Api set: PowerPointApi 1.6] - * - * @param index The index of the hyperlink in the collection. - * @returns The hyperlink at the given index. An error is thrown if index is out of range. + * [Api set: PowerPointApi 1.4] */ - getItemAt(index: number): PowerPoint.Hyperlink; + underline: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.HyperlinkCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.HyperlinkCollection; + load(options?: PowerPoint.Interfaces.ShapeFontLoadOptions): PowerPoint.ShapeFont; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.HyperlinkCollection; + load(propertyNames?: string | string[]): PowerPoint.ShapeFont; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.HyperlinkCollection; + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.ShapeFont; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.HyperlinkCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + * Whereas the original `PowerPoint.ShapeFont` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFontData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.HyperlinkCollectionData; + toJSON(): PowerPoint.Interfaces.ShapeFontData; } /** - * Specifies the connector type for line shapes. + * Determines the type of automatic sizing allowed. * * @remarks * [Api set: PowerPointApi 1.4] */ - enum ConnectorType { + enum ShapeAutoSize { /** - * Straight connector type + * No autosizing. * @remarks * [Api set: PowerPointApi 1.4] */ - straight = "Straight", + autoSizeNone = "AutoSizeNone", /** - * Elbow connector type + * The text is adjusted to fit the shape. * @remarks * [Api set: PowerPointApi 1.4] */ - elbow = "Elbow", + autoSizeTextToFitShape = "AutoSizeTextToFitShape", /** - * Curve connector type + * The shape is adjusted to fit the text. * @remarks * [Api set: PowerPointApi 1.4] */ - curve = "Curve", + autoSizeShapeToFitText = "AutoSizeShapeToFitText", + /** + * A combination of automatic sizing schemes are used. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + autoSizeMixed = "AutoSizeMixed", } /** - * Specifies the shape type for a `GeometricShape` object. + * Represents the vertical alignment of a {@link PowerPoint.TextFrame} in a {@link PowerPoint.Shape}. + If one of the centered options is selected, the contents of the `TextFrame` will be centered horizontally within the `Shape` as a group. + To change the horizontal alignment of a text, see {@link PowerPoint.ParagraphFormat} and {@link PowerPoint.ParagraphHorizontalAlignment}. * * @remarks * [Api set: PowerPointApi 1.4] */ - enum GeometricShapeType { + enum TextVerticalAlignment { /** - * Straight Line from Top-Right Corner to Bottom-Left Corner of the Shape + * Specifies that the `TextFrame` should be top aligned to the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - lineInverse = "LineInverse", + top = "Top", /** - * Isosceles Triangle + * Specifies that the `TextFrame` should be center aligned to the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - triangle = "Triangle", + middle = "Middle", /** - * Right Triangle + * Specifies that the `TextFrame` should be bottom aligned to the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - rightTriangle = "RightTriangle", + bottom = "Bottom", /** - * Rectangle + * Specifies that the `TextFrame` should be top aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - rectangle = "Rectangle", + topCentered = "TopCentered", /** - * Diamond + * Specifies that the `TextFrame` should be center aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - diamond = "Diamond", + middleCentered = "MiddleCentered", /** - * Parallelogram + * Specifies that the `TextFrame` should be bottom aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. * @remarks * [Api set: PowerPointApi 1.4] */ - parallelogram = "Parallelogram", + bottomCentered = "BottomCentered", + } + /** + * Represents the text frame of a shape object. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + class TextFrame extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Trapezoid + * Represents the text that is attached to a shape in the text frame, and properties and methods for manipulating the text. See {@link PowerPoint.TextRange} for details. + * * @remarks * [Api set: PowerPointApi 1.4] */ - trapezoid = "Trapezoid", + readonly textRange: PowerPoint.TextRange; /** - * Trapezoid which may have Non-Equal Sides + * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. + * * @remarks * [Api set: PowerPointApi 1.4] */ - nonIsoscelesTrapezoid = "NonIsoscelesTrapezoid", + autoSizeSetting: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; /** - * Pentagon + * Represents the bottom margin, in points, of the text frame. + * * @remarks * [Api set: PowerPointApi 1.4] */ - pentagon = "Pentagon", + bottomMargin: number; /** - * Hexagon + * Specifies if the text frame contains text. + * * @remarks * [Api set: PowerPointApi 1.4] */ - hexagon = "Hexagon", + readonly hasText: boolean; /** - * Heptagon + * Represents the left margin, in points, of the text frame. + * * @remarks * [Api set: PowerPointApi 1.4] */ - heptagon = "Heptagon", + leftMargin: number; /** - * Octagon + * Represents the right margin, in points, of the text frame. + * * @remarks * [Api set: PowerPointApi 1.4] */ - octagon = "Octagon", + rightMargin: number; /** - * Decagon + * Represents the top margin, in points, of the text frame. + * * @remarks * [Api set: PowerPointApi 1.4] */ - decagon = "Decagon", + topMargin: number; /** - * Dodecagon + * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. + * * @remarks * [Api set: PowerPointApi 1.4] */ - dodecagon = "Dodecagon", + verticalAlignment: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; /** - * Star: 4 Points + * Determines whether lines break automatically to fit text inside the shape. + * * @remarks * [Api set: PowerPointApi 1.4] */ - star4 = "Star4", + wordWrap: boolean; /** - * Star: 5 Points + * Deletes all the text in the text frame. + * * @remarks * [Api set: PowerPointApi 1.4] */ - star5 = "Star5", + deleteText(): void; /** - * Star: 6 Points + * Returns the parent {@link PowerPoint.Shape} object that holds this `TextFrame`. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - star6 = "Star6", + getParentShape(): PowerPoint.Shape; /** - * Star: 7 Points - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - star7 = "Star7", + load(options?: PowerPoint.Interfaces.TextFrameLoadOptions): PowerPoint.TextFrame; /** - * Star: 8 Points - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - star8 = "Star8", + load(propertyNames?: string | string[]): PowerPoint.TextFrame; /** - * Star: 10 Points - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - star10 = "Star10", + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.TextFrame; /** - * Star: 12 Points - * @remarks - * [Api set: PowerPointApi 1.4] + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TextFrame` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextFrameData`) that contains shallow copies of any loaded child properties from the original object. */ - star12 = "Star12", + toJSON(): PowerPoint.Interfaces.TextFrameData; + } + /** + * Contains the text that is attached to a shape, in addition to properties and methods for manipulating the text. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + class TextRange extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Star: 16 Points + * Returns a `ShapeFont` object that represents the font attributes for the text range. + * * @remarks * [Api set: PowerPointApi 1.4] */ - star16 = "Star16", + readonly font: PowerPoint.ShapeFont; /** - * Star: 24 Points + * Represents the paragraph format of the text range. See {@link PowerPoint.ParagraphFormat} for details. + * * @remarks * [Api set: PowerPointApi 1.4] */ - star24 = "Star24", + readonly paragraphFormat: PowerPoint.ParagraphFormat; /** - * Star: 32 Points + * Gets or sets the length of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - star32 = "Star32", + length: number; /** - * Rectangle: Rounded Corners + * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - roundRectangle = "RoundRectangle", + start: number; /** - * Rectangle: Single Corner Rounded + * Represents the plain text content of the text range. + * * @remarks * [Api set: PowerPointApi 1.4] */ - round1Rectangle = "Round1Rectangle", + text: string; /** - * Rectangle: Top Corners Rounded + * Returns the parent {@link PowerPoint.TextFrame} object that holds this `TextRange`. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - round2SameRectangle = "Round2SameRectangle", + getParentTextFrame(): PowerPoint.TextFrame; /** - * Rectangle: Diagonal Corners Rounded + * Returns a `TextRange` object for the substring in the given range. + * * @remarks * [Api set: PowerPointApi 1.4] + * + * @param start The zero-based index of the first character to get from the text range. + * @param length Optional. The number of characters to be returned in the new text range. If length is omitted, all the characters from start to the end of the text range's last paragraph will be returned. */ - round2DiagonalRectangle = "Round2DiagonalRectangle", + getSubstring(start: number, length?: number): PowerPoint.TextRange; /** - * Rectangle: Top Corners One Rounded and One Snipped + * Selects this `TextRange` in the current view. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - snipRoundRectangle = "SnipRoundRectangle", + setSelected(): void; /** - * Rectangle: Single Corner Snipped - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - snip1Rectangle = "Snip1Rectangle", + load(options?: PowerPoint.Interfaces.TextRangeLoadOptions): PowerPoint.TextRange; /** - * Rectangle: Top Corners Snipped - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - snip2SameRectangle = "Snip2SameRectangle", + load(propertyNames?: string | string[]): PowerPoint.TextRange; /** - * Rectangle: Diagonal Corners Snipped - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - snip2DiagonalRectangle = "Snip2DiagonalRectangle", + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.TextRange; /** - * Plaque - * @remarks - * [Api set: PowerPointApi 1.4] + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TextRange` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextRangeData`) that contains shallow copies of any loaded child properties from the original object. */ - plaque = "Plaque", + toJSON(): PowerPoint.Interfaces.TextRangeData; + } + /** + * Represents a single hyperlink. + * + * @remarks + * [Api set: PowerPointApi 1.6] + */ + class Hyperlink extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Oval + * Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.6] */ - ellipse = "Ellipse", + address: string; /** - * Teardrop + * Specifies the string displayed when hovering over the hyperlink. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.6] */ - teardrop = "Teardrop", + screenTip: string; /** - * Arrow: Pentagon - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - homePlate = "HomePlate", + load(options?: PowerPoint.Interfaces.HyperlinkLoadOptions): PowerPoint.Hyperlink; /** - * Arrow: Chevron - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - chevron = "Chevron", + load(propertyNames?: string | string[]): PowerPoint.Hyperlink; /** - * Partial Circle - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - pieWedge = "PieWedge", + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.Hyperlink; /** - * Partial Circle with Adjustable Spanning Area - * @remarks - * [Api set: PowerPointApi 1.4] + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Hyperlink` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkData`) that contains shallow copies of any loaded child properties from the original object. */ - pie = "Pie", + toJSON(): PowerPoint.Interfaces.HyperlinkData; + } + /** + * Specifies the type of a placeholder. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + enum PlaceholderType { /** - * Block Arc + * The placeholder is unsupported. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - blockArc = "BlockArc", + unsupported = "Unsupported", /** - * Circle: Hollow + * The placeholder is for a date. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - donut = "Donut", + date = "Date", /** - * "Not Allowed" Symbol + * The placeholder is for a slide number. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - noSmoking = "NoSmoking", + slideNumber = "SlideNumber", /** - * Arrow: Right + * The placeholder is for a footer. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - rightArrow = "RightArrow", + footer = "Footer", /** - * Arrow: Left + * The placeholder is for a header. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - leftArrow = "LeftArrow", + header = "Header", /** - * Arrow: Up + * The placeholder is for a title. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - upArrow = "UpArrow", + title = "Title", /** - * Arrow: Down + * The placeholder is for a body. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - downArrow = "DownArrow", + body = "Body", /** - * Arrow: Striped Right + * The placeholder is for a center title. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - stripedRightArrow = "StripedRightArrow", + centerTitle = "CenterTitle", /** - * Arrow: Notched Right + * The placeholder is for a subtitle. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - notchedRightArrow = "NotchedRightArrow", + subtitle = "Subtitle", /** - * Arrow: Bent-Up + * The placeholder is for a vertical title. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - bentUpArrow = "BentUpArrow", + verticalTitle = "VerticalTitle", /** - * Arrow: Left-Right + * The placeholder is for a vertical body. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - leftRightArrow = "LeftRightArrow", + verticalBody = "VerticalBody", /** - * Arrow: Up-Down + * The placeholder is for generic content. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - upDownArrow = "UpDownArrow", + content = "Content", /** - * Arrow: Left-Up + * The placeholder is for a chart. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - leftUpArrow = "LeftUpArrow", + chart = "Chart", /** - * Arrow: Left-Right-Up + * The placeholder is for a table. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - leftRightUpArrow = "LeftRightUpArrow", + table = "Table", /** - * Arrow: Quad + * The placeholder is for an online picture. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - quadArrow = "QuadArrow", + onlinePicture = "OnlinePicture", /** - * Callout: Left Arrow + * The placeholder is for a SmartArt. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - leftArrowCallout = "LeftArrowCallout", + smartArt = "SmartArt", /** - * Callout: Right Arrow + * The placeholder is for media. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - rightArrowCallout = "RightArrowCallout", + media = "Media", /** - * Callout: Up Arrow + * The placeholder is for generic vertical content. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - upArrowCallout = "UpArrowCallout", + verticalContent = "VerticalContent", /** - * Callout: Down Arrow + * The placeholder is for a picture. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - downArrowCallout = "DownArrowCallout", + picture = "Picture", /** - * Callout: Left-Right Arrow + * The placeholder is for a cameo. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - leftRightArrowCallout = "LeftRightArrowCallout", + cameo = "Cameo", + } + /** + * Specifies the type of a shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum ShapeType { /** - * Callout: Up-Down Arrow + * The given shape's type is unsupported. * @remarks * [Api set: PowerPointApi 1.4] */ - upDownArrowCallout = "UpDownArrowCallout", + unsupported = "Unsupported", /** - * Callout: Quad Arrow + * The shape is an image. * @remarks * [Api set: PowerPointApi 1.4] */ - quadArrowCallout = "QuadArrowCallout", + image = "Image", /** - * Arrow: Bent + * The shape is a geometric shape such as rectangle. * @remarks * [Api set: PowerPointApi 1.4] */ - bentArrow = "BentArrow", + geometricShape = "GeometricShape", /** - * Arrow: U-Turn + * The shape is a group shape which contains sub-shapes. * @remarks * [Api set: PowerPointApi 1.4] */ - uturnArrow = "UturnArrow", + group = "Group", /** - * Arrow: Circular + * The shape is a line. * @remarks * [Api set: PowerPointApi 1.4] */ - circularArrow = "CircularArrow", + line = "Line", /** - * Arrow: Circular with Opposite Arrow Direction + * The shape is a table. * @remarks * [Api set: PowerPointApi 1.4] */ - leftCircularArrow = "LeftCircularArrow", + table = "Table", /** - * Arrow: Circular with Two Arrows in Both Directions + * The shape is a callout. * @remarks * [Api set: PowerPointApi 1.4] */ - leftRightCircularArrow = "LeftRightCircularArrow", + callout = "Callout", /** - * Arrow: Curved Right + * The shape is a chart. * @remarks * [Api set: PowerPointApi 1.4] */ - curvedRightArrow = "CurvedRightArrow", + chart = "Chart", /** - * Arrow: Curved Left + * The shape is a content Office Add-in. * @remarks * [Api set: PowerPointApi 1.4] */ - curvedLeftArrow = "CurvedLeftArrow", + contentApp = "ContentApp", /** - * Arrow: Curved Up + * The shape is a diagram. * @remarks * [Api set: PowerPointApi 1.4] */ - curvedUpArrow = "CurvedUpArrow", + diagram = "Diagram", /** - * Arrow: Curved Down + * The shape is a freeform object. * @remarks * [Api set: PowerPointApi 1.4] */ - curvedDownArrow = "CurvedDownArrow", + freeform = "Freeform", /** - * Arrow: Curved Right Arrow with Varying Width + * The shape is a graphic. * @remarks * [Api set: PowerPointApi 1.4] */ - swooshArrow = "SwooshArrow", + graphic = "Graphic", /** - * Cube + * The shape is an ink object. * @remarks * [Api set: PowerPointApi 1.4] */ - cube = "Cube", + ink = "Ink", /** - * Cylinder + * The shape is a media object. * @remarks * [Api set: PowerPointApi 1.4] */ - can = "Can", + media = "Media", /** - * Lightning Bolt + * The shape is a 3D model. * @remarks * [Api set: PowerPointApi 1.4] */ - lightningBolt = "LightningBolt", + model3D = "Model3D", /** - * Heart + * The shape is an OLE (Object Linking and Embedding) object. * @remarks * [Api set: PowerPointApi 1.4] */ - heart = "Heart", + ole = "Ole", /** - * Sun + * The shape is a placeholder. * @remarks * [Api set: PowerPointApi 1.4] */ - sun = "Sun", + placeholder = "Placeholder", /** - * Moon + * The shape is a SmartArt graphic. * @remarks * [Api set: PowerPointApi 1.4] */ - moon = "Moon", + smartArt = "SmartArt", /** - * Smiley Face + * The shape is a text box. * @remarks * [Api set: PowerPointApi 1.4] */ - smileyFace = "SmileyFace", + textBox = "TextBox", + } + /** + * Represents the properties of a `placeholder` shape. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + class PlaceholderFormat extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Explosion: 8 Points + * Gets the type of the shape contained within the placeholder. See {@link PowerPoint.ShapeType} for details. + Returns `null` if the placeholder is empty. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - irregularSeal1 = "IrregularSeal1", + readonly containedType: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox" | null; /** - * Explosion: 14 Points + * Returns the type of this placeholder. See {@link PowerPoint.PlaceholderType} for details. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - irregularSeal2 = "IrregularSeal2", + readonly type: PowerPoint.PlaceholderType | "Unsupported" | "Date" | "SlideNumber" | "Footer" | "Header" | "Title" | "Body" | "CenterTitle" | "Subtitle" | "VerticalTitle" | "VerticalBody" | "Content" | "Chart" | "Table" | "OnlinePicture" | "SmartArt" | "Media" | "VerticalContent" | "Picture" | "Cameo"; /** - * Rectangle: Folded Corner - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - foldedCorner = "FoldedCorner", + load(options?: PowerPoint.Interfaces.PlaceholderFormatLoadOptions): PowerPoint.PlaceholderFormat; /** - * Rectangle: Beveled - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - bevel = "Bevel", + load(propertyNames?: string | string[]): PowerPoint.PlaceholderFormat; /** - * Frame - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - frame = "Frame", + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.PlaceholderFormat; /** - * Half Frame - * @remarks - * [Api set: PowerPointApi 1.4] - */ - halfFrame = "HalfFrame", + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.PlaceholderFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.PlaceholderFormatData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.PlaceholderFormatData; + } + /** + * Represents a collection of hyperlinks. + * + * @remarks + * [Api set: PowerPointApi 1.6] + */ + class HyperlinkCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.Hyperlink[]; /** - * L-Shape + * Gets the number of hyperlinks in the collection. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.6] + * @returns The number of hyperlinks in the collection. */ - corner = "Corner", + getCount(): OfficeExtension.ClientResult; /** - * Diagonal Stripe + * Gets a hyperlink using its zero-based index in the collection. An error is thrown if the index is out of range. + Throws an `InvalidArgument` exception when the index is out of range. + * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.6] + * + * @param index The index of the hyperlink in the collection. + * @returns The hyperlink at the given index. */ - diagonalStripe = "DiagonalStripe", + getItemAt(index: number): PowerPoint.Hyperlink; /** - * Chord - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. */ - chord = "Chord", + load(options?: PowerPoint.Interfaces.HyperlinkCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.HyperlinkCollection; /** - * Arc - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - arc = "Arc", + load(propertyNames?: string | string[]): PowerPoint.HyperlinkCollection; /** - * Left Bracket - * @remarks - * [Api set: PowerPointApi 1.4] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - leftBracket = "LeftBracket", + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.HyperlinkCollection; /** - * Right Bracket + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.HyperlinkCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.HyperlinkCollectionData; + } + /** + * Specifies the connector type for line shapes. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum ConnectorType { + /** + * Straight connector type * @remarks * [Api set: PowerPointApi 1.4] */ - rightBracket = "RightBracket", + straight = "Straight", /** - * Left Brace + * Elbow connector type * @remarks * [Api set: PowerPointApi 1.4] */ - leftBrace = "LeftBrace", + elbow = "Elbow", /** - * Right Brace + * Curve connector type * @remarks * [Api set: PowerPointApi 1.4] */ - rightBrace = "RightBrace", + curve = "Curve", + } + /** + * Specifies the shape type for a `GeometricShape` object. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum GeometricShapeType { /** - * Double Bracket + * Straight Line from Top-Right Corner to Bottom-Left Corner of the Shape * @remarks * [Api set: PowerPointApi 1.4] */ - bracketPair = "BracketPair", + lineInverse = "LineInverse", /** - * Double Brace + * Isosceles Triangle * @remarks * [Api set: PowerPointApi 1.4] */ - bracePair = "BracePair", + triangle = "Triangle", /** - * Callout: Line with No Border + * Right Triangle * @remarks * [Api set: PowerPointApi 1.4] */ - callout1 = "Callout1", + rightTriangle = "RightTriangle", /** - * Callout: Bent Line with No Border + * Rectangle * @remarks * [Api set: PowerPointApi 1.4] */ - callout2 = "Callout2", + rectangle = "Rectangle", /** - * Callout: Double Bent Line with No Border + * Diamond * @remarks * [Api set: PowerPointApi 1.4] */ - callout3 = "Callout3", + diamond = "Diamond", /** - * Callout: Line with Accent Bar + * Parallelogram * @remarks * [Api set: PowerPointApi 1.4] */ - accentCallout1 = "AccentCallout1", + parallelogram = "Parallelogram", /** - * Callout: Bent Line with Accent Bar + * Trapezoid * @remarks * [Api set: PowerPointApi 1.4] */ - accentCallout2 = "AccentCallout2", + trapezoid = "Trapezoid", /** - * Callout: Double Bent Line with Accent Bar + * Trapezoid which may have Non-Equal Sides * @remarks * [Api set: PowerPointApi 1.4] */ - accentCallout3 = "AccentCallout3", + nonIsoscelesTrapezoid = "NonIsoscelesTrapezoid", /** - * Callout: Line + * Pentagon * @remarks * [Api set: PowerPointApi 1.4] */ - borderCallout1 = "BorderCallout1", + pentagon = "Pentagon", /** - * Callout: Bent Line + * Hexagon * @remarks * [Api set: PowerPointApi 1.4] */ - borderCallout2 = "BorderCallout2", + hexagon = "Hexagon", /** - * Callout: Double Bent Line + * Heptagon * @remarks * [Api set: PowerPointApi 1.4] */ - borderCallout3 = "BorderCallout3", + heptagon = "Heptagon", /** - * Callout: Line with Border and Accent Bar + * Octagon * @remarks * [Api set: PowerPointApi 1.4] */ - accentBorderCallout1 = "AccentBorderCallout1", + octagon = "Octagon", /** - * Callout: Bent Line with Border and Accent Bar + * Decagon * @remarks * [Api set: PowerPointApi 1.4] */ - accentBorderCallout2 = "AccentBorderCallout2", + decagon = "Decagon", /** - * Callout: Double Bent Line with Border and Accent Bar + * Dodecagon * @remarks * [Api set: PowerPointApi 1.4] */ - accentBorderCallout3 = "AccentBorderCallout3", + dodecagon = "Dodecagon", /** - * Speech Bubble: Rectangle + * Star: 4 Points * @remarks * [Api set: PowerPointApi 1.4] */ - wedgeRectCallout = "WedgeRectCallout", + star4 = "Star4", /** - * Speech Bubble: Rectangle with Corners Rounded + * Star: 5 Points * @remarks * [Api set: PowerPointApi 1.4] */ - wedgeRRectCallout = "WedgeRRectCallout", + star5 = "Star5", /** - * Speech Bubble: Oval + * Star: 6 Points * @remarks * [Api set: PowerPointApi 1.4] */ - wedgeEllipseCallout = "WedgeEllipseCallout", + star6 = "Star6", /** - * Thought Bubble: Cloud + * Star: 7 Points * @remarks * [Api set: PowerPointApi 1.4] */ - cloudCallout = "CloudCallout", + star7 = "Star7", /** - * Cloud + * Star: 8 Points * @remarks * [Api set: PowerPointApi 1.4] */ - cloud = "Cloud", + star8 = "Star8", /** - * Ribbon: Tilted Down + * Star: 10 Points * @remarks * [Api set: PowerPointApi 1.4] */ - ribbon = "Ribbon", + star10 = "Star10", /** - * Ribbon: Tilted Up + * Star: 12 Points * @remarks * [Api set: PowerPointApi 1.4] */ - ribbon2 = "Ribbon2", + star12 = "Star12", /** - * Ribbon: Curved and Tilted Down + * Star: 16 Points * @remarks * [Api set: PowerPointApi 1.4] */ - ellipseRibbon = "EllipseRibbon", + star16 = "Star16", /** - * Ribbon: Curved and Tilted Up + * Star: 24 Points * @remarks * [Api set: PowerPointApi 1.4] */ - ellipseRibbon2 = "EllipseRibbon2", + star24 = "Star24", /** - * Ribbon: Straight with Both Left and Right Arrows + * Star: 32 Points * @remarks * [Api set: PowerPointApi 1.4] */ - leftRightRibbon = "LeftRightRibbon", + star32 = "Star32", /** - * Scroll: Vertical + * Rectangle: Rounded Corners * @remarks * [Api set: PowerPointApi 1.4] */ - verticalScroll = "VerticalScroll", + roundRectangle = "RoundRectangle", /** - * Scroll: Horizontal + * Rectangle: Single Corner Rounded * @remarks * [Api set: PowerPointApi 1.4] */ - horizontalScroll = "HorizontalScroll", + round1Rectangle = "Round1Rectangle", /** - * Wave + * Rectangle: Top Corners Rounded * @remarks * [Api set: PowerPointApi 1.4] */ - wave = "Wave", + round2SameRectangle = "Round2SameRectangle", /** - * Double Wave + * Rectangle: Diagonal Corners Rounded * @remarks * [Api set: PowerPointApi 1.4] */ - doubleWave = "DoubleWave", + round2DiagonalRectangle = "Round2DiagonalRectangle", /** - * Cross + * Rectangle: Top Corners One Rounded and One Snipped * @remarks * [Api set: PowerPointApi 1.4] */ - plus = "Plus", + snipRoundRectangle = "SnipRoundRectangle", /** - * Flowchart: Process + * Rectangle: Single Corner Snipped * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartProcess = "FlowChartProcess", + snip1Rectangle = "Snip1Rectangle", /** - * Flowchart: Decision + * Rectangle: Top Corners Snipped * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartDecision = "FlowChartDecision", + snip2SameRectangle = "Snip2SameRectangle", /** - * Flowchart: Data + * Rectangle: Diagonal Corners Snipped * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartInputOutput = "FlowChartInputOutput", + snip2DiagonalRectangle = "Snip2DiagonalRectangle", /** - * Flowchart: Predefined Process + * Plaque * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartPredefinedProcess = "FlowChartPredefinedProcess", + plaque = "Plaque", /** - * Flowchart: Internal Storage + * Oval * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartInternalStorage = "FlowChartInternalStorage", + ellipse = "Ellipse", /** - * Flowchart: Document + * Teardrop * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartDocument = "FlowChartDocument", + teardrop = "Teardrop", /** - * Flowchart: Multidocument + * Arrow: Pentagon * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartMultidocument = "FlowChartMultidocument", + homePlate = "HomePlate", /** - * Flowchart: Terminator + * Arrow: Chevron * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartTerminator = "FlowChartTerminator", + chevron = "Chevron", /** - * Flowchart: Preparation + * Partial Circle * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartPreparation = "FlowChartPreparation", + pieWedge = "PieWedge", /** - * Flowchart: Manual Input + * Partial Circle with Adjustable Spanning Area * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartManualInput = "FlowChartManualInput", + pie = "Pie", /** - * Flowchart: Manual Operation + * Block Arc * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartManualOperation = "FlowChartManualOperation", + blockArc = "BlockArc", /** - * Flowchart: Connector + * Circle: Hollow * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartConnector = "FlowChartConnector", + donut = "Donut", /** - * Flowchart: Card + * "Not Allowed" Symbol * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartPunchedCard = "FlowChartPunchedCard", + noSmoking = "NoSmoking", /** - * Flowchart: Punched Tape + * Arrow: Right * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartPunchedTape = "FlowChartPunchedTape", + rightArrow = "RightArrow", /** - * Flowchart: Summing Junction + * Arrow: Left * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartSummingJunction = "FlowChartSummingJunction", + leftArrow = "LeftArrow", /** - * Flowchart: Or + * Arrow: Up * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartOr = "FlowChartOr", + upArrow = "UpArrow", /** - * Flowchart: Collate + * Arrow: Down * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartCollate = "FlowChartCollate", + downArrow = "DownArrow", /** - * Flowchart: Sort + * Arrow: Striped Right * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartSort = "FlowChartSort", + stripedRightArrow = "StripedRightArrow", /** - * Flowchart: Extract + * Arrow: Notched Right * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartExtract = "FlowChartExtract", + notchedRightArrow = "NotchedRightArrow", /** - * Flowchart: Merge + * Arrow: Bent-Up * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartMerge = "FlowChartMerge", + bentUpArrow = "BentUpArrow", /** - * FlowChart: Offline Storage + * Arrow: Left-Right * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartOfflineStorage = "FlowChartOfflineStorage", + leftRightArrow = "LeftRightArrow", /** - * Flowchart: Stored Data + * Arrow: Up-Down * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartOnlineStorage = "FlowChartOnlineStorage", + upDownArrow = "UpDownArrow", /** - * Flowchart: Sequential Access Storage + * Arrow: Left-Up * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartMagneticTape = "FlowChartMagneticTape", + leftUpArrow = "LeftUpArrow", /** - * Flowchart: Magnetic Disk + * Arrow: Left-Right-Up * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartMagneticDisk = "FlowChartMagneticDisk", + leftRightUpArrow = "LeftRightUpArrow", /** - * Flowchart: Direct Access Storage + * Arrow: Quad * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartMagneticDrum = "FlowChartMagneticDrum", + quadArrow = "QuadArrow", /** - * Flowchart: Display + * Callout: Left Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartDisplay = "FlowChartDisplay", + leftArrowCallout = "LeftArrowCallout", /** - * Flowchart: Delay + * Callout: Right Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartDelay = "FlowChartDelay", + rightArrowCallout = "RightArrowCallout", /** - * Flowchart: Alternate Process + * Callout: Up Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartAlternateProcess = "FlowChartAlternateProcess", + upArrowCallout = "UpArrowCallout", /** - * Flowchart: Off-page Connector + * Callout: Down Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - flowChartOffpageConnector = "FlowChartOffpageConnector", + downArrowCallout = "DownArrowCallout", /** - * Action Button: Blank + * Callout: Left-Right Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonBlank = "ActionButtonBlank", + leftRightArrowCallout = "LeftRightArrowCallout", /** - * Action Button: Go Home + * Callout: Up-Down Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonHome = "ActionButtonHome", + upDownArrowCallout = "UpDownArrowCallout", /** - * Action Button: Help + * Callout: Quad Arrow * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonHelp = "ActionButtonHelp", + quadArrowCallout = "QuadArrowCallout", /** - * Action Button: Get Information + * Arrow: Bent * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonInformation = "ActionButtonInformation", + bentArrow = "BentArrow", /** - * Action Button: Go Forward or Next + * Arrow: U-Turn * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonForwardNext = "ActionButtonForwardNext", + uturnArrow = "UturnArrow", /** - * Action Button: Go Back or Previous + * Arrow: Circular * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonBackPrevious = "ActionButtonBackPrevious", + circularArrow = "CircularArrow", /** - * Action Button: Go to End + * Arrow: Circular with Opposite Arrow Direction * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonEnd = "ActionButtonEnd", + leftCircularArrow = "LeftCircularArrow", /** - * Action Button: Go to Beginning + * Arrow: Circular with Two Arrows in Both Directions * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonBeginning = "ActionButtonBeginning", + leftRightCircularArrow = "LeftRightCircularArrow", /** - * Action Button: Return + * Arrow: Curved Right * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonReturn = "ActionButtonReturn", + curvedRightArrow = "CurvedRightArrow", /** - * Action Button: Document + * Arrow: Curved Left * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonDocument = "ActionButtonDocument", + curvedLeftArrow = "CurvedLeftArrow", /** - * Action Button: Sound + * Arrow: Curved Up * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonSound = "ActionButtonSound", + curvedUpArrow = "CurvedUpArrow", /** - * Action Button: Video + * Arrow: Curved Down * @remarks * [Api set: PowerPointApi 1.4] */ - actionButtonMovie = "ActionButtonMovie", + curvedDownArrow = "CurvedDownArrow", /** - * Gear: A Gear with Six Teeth + * Arrow: Curved Right Arrow with Varying Width * @remarks * [Api set: PowerPointApi 1.4] */ - gear6 = "Gear6", + swooshArrow = "SwooshArrow", /** - * Gear: A Gear with Nine Teeth + * Cube * @remarks * [Api set: PowerPointApi 1.4] */ - gear9 = "Gear9", + cube = "Cube", /** - * Funnel + * Cylinder * @remarks * [Api set: PowerPointApi 1.4] */ - funnel = "Funnel", + can = "Can", /** - * Plus Sign + * Lightning Bolt * @remarks * [Api set: PowerPointApi 1.4] */ - mathPlus = "MathPlus", + lightningBolt = "LightningBolt", /** - * Minus Sign + * Heart * @remarks * [Api set: PowerPointApi 1.4] */ - mathMinus = "MathMinus", + heart = "Heart", /** - * Multiplication Sign + * Sun * @remarks * [Api set: PowerPointApi 1.4] */ - mathMultiply = "MathMultiply", + sun = "Sun", /** - * Division Sign + * Moon * @remarks * [Api set: PowerPointApi 1.4] */ - mathDivide = "MathDivide", + moon = "Moon", /** - * Equals + * Smiley Face * @remarks * [Api set: PowerPointApi 1.4] */ - mathEqual = "MathEqual", + smileyFace = "SmileyFace", /** - * Not Equal + * Explosion: 8 Points * @remarks * [Api set: PowerPointApi 1.4] */ - mathNotEqual = "MathNotEqual", + irregularSeal1 = "IrregularSeal1", /** - * Four Right Triangles that Define a Rectangular Shape + * Explosion: 14 Points * @remarks * [Api set: PowerPointApi 1.4] */ - cornerTabs = "CornerTabs", + irregularSeal2 = "IrregularSeal2", /** - * Four Small Squares that Define a Rectangular Shape. + * Rectangle: Folded Corner * @remarks * [Api set: PowerPointApi 1.4] */ - squareTabs = "SquareTabs", + foldedCorner = "FoldedCorner", /** - * Four Quarter Circles that Define a Rectangular Shape. + * Rectangle: Beveled * @remarks * [Api set: PowerPointApi 1.4] */ - plaqueTabs = "PlaqueTabs", + bevel = "Bevel", /** - * A Rectangle Divided into Four Parts Along Diagonal Lines. + * Frame * @remarks * [Api set: PowerPointApi 1.4] */ - chartX = "ChartX", + frame = "Frame", /** - * A Rectangle Divided into Six Parts Along a Vertical Line and Diagonal Lines. + * Half Frame * @remarks * [Api set: PowerPointApi 1.4] */ - chartStar = "ChartStar", + halfFrame = "HalfFrame", /** - * A Rectangle Divided Vertically and Horizontally into Four Quarters. + * L-Shape * @remarks * [Api set: PowerPointApi 1.4] */ - chartPlus = "ChartPlus", - } - /** - * Represents the available options when adding shapes. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - interface ShapeAddOptions { + corner = "Corner", /** - * Specifies the height, in points, of the shape. - When not provided, a default value will be used. - Throws an `InvalidArgument` exception when set with a negative value. - * + * Diagonal Stripe * @remarks * [Api set: PowerPointApi 1.4] */ - height?: number; + diagonalStripe = "DiagonalStripe", /** - * Specifies the distance, in points, from the left side of the shape to the left side of the slide. - When not provided, a default value will be used. - * + * Chord * @remarks * [Api set: PowerPointApi 1.4] */ - left?: number; + chord = "Chord", /** - * Specifies the distance, in points, from the top edge of the shape to the top edge of the slide. - When not provided, a default value will be used. - * + * Arc * @remarks * [Api set: PowerPointApi 1.4] */ - top?: number; + arc = "Arc", /** - * Specifies the width, in points, of the shape. - When not provided, a default value will be used. - Throws an `InvalidArgument` exception when set with a negative value. - * + * Left Bracket * @remarks * [Api set: PowerPointApi 1.4] */ - width?: number; - } - /** - * Specifies the dash style for a line. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum ShapeLineDashStyle { + leftBracket = "LeftBracket", /** - * The dash line pattern. + * Right Bracket * @remarks * [Api set: PowerPointApi 1.4] */ - dash = "Dash", + rightBracket = "RightBracket", /** - * The dash-dot line pattern. + * Left Brace * @remarks * [Api set: PowerPointApi 1.4] */ - dashDot = "DashDot", + leftBrace = "LeftBrace", /** - * The dash-dot-dot line pattern. + * Right Brace * @remarks * [Api set: PowerPointApi 1.4] */ - dashDotDot = "DashDotDot", + rightBrace = "RightBrace", /** - * The long dash line pattern. + * Double Bracket * @remarks * [Api set: PowerPointApi 1.4] */ - longDash = "LongDash", + bracketPair = "BracketPair", /** - * The long dash-dot line pattern. + * Double Brace * @remarks * [Api set: PowerPointApi 1.4] */ - longDashDot = "LongDashDot", + bracePair = "BracePair", /** - * The round dot line pattern. + * Callout: Line with No Border * @remarks * [Api set: PowerPointApi 1.4] */ - roundDot = "RoundDot", + callout1 = "Callout1", /** - * The solid line pattern. + * Callout: Bent Line with No Border * @remarks * [Api set: PowerPointApi 1.4] */ - solid = "Solid", + callout2 = "Callout2", /** - * The square dot line pattern. + * Callout: Double Bent Line with No Border * @remarks * [Api set: PowerPointApi 1.4] */ - squareDot = "SquareDot", + callout3 = "Callout3", /** - * The long dash-dot-dot line pattern. + * Callout: Line with Accent Bar * @remarks * [Api set: PowerPointApi 1.4] */ - longDashDotDot = "LongDashDotDot", + accentCallout1 = "AccentCallout1", /** - * The system dash line pattern. + * Callout: Bent Line with Accent Bar * @remarks * [Api set: PowerPointApi 1.4] */ - systemDash = "SystemDash", + accentCallout2 = "AccentCallout2", /** - * The system dot line pattern. + * Callout: Double Bent Line with Accent Bar * @remarks * [Api set: PowerPointApi 1.4] */ - systemDot = "SystemDot", + accentCallout3 = "AccentCallout3", /** - * The system dash-dot line pattern. + * Callout: Line * @remarks * [Api set: PowerPointApi 1.4] */ - systemDashDot = "SystemDashDot", - } - /** - * Represents the properties for a table cell border. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - class Border extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + borderCallout1 = "BorderCallout1", /** - * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). - * + * Callout: Bent Line * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - color: string | undefined; + borderCallout2 = "BorderCallout2", /** - * Represents the dash style of the line. - * + * Callout: Double Bent Line * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - dashStyle: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; + borderCallout3 = "BorderCallout3", /** - * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). - * + * Callout: Line with Border and Accent Bar * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - transparency: number | undefined; + accentBorderCallout1 = "AccentBorderCallout1", /** - * Represents the weight of the line, in points. - * + * Callout: Bent Line with Border and Accent Bar * @remarks - * [Api set: PowerPointApi 1.9] - */ - weight: number | undefined; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.BorderLoadOptions): PowerPoint.Border; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): PowerPoint.Border; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * [Api set: PowerPointApi 1.4] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.Border; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.Border` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BorderData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.BorderData; - } - /** - * Represents the borders for a table cell. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - class Borders extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + accentBorderCallout2 = "AccentBorderCallout2", /** - * Gets the bottom border. - * + * Callout: Double Bent Line with Border and Accent Bar * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly bottom: PowerPoint.Border; + accentBorderCallout3 = "AccentBorderCallout3", /** - * Gets the diagonal border (top-left to bottom-right). - * + * Speech Bubble: Rectangle * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly diagonalDown: PowerPoint.Border; + wedgeRectCallout = "WedgeRectCallout", /** - * Gets the diagonal border (bottom-left to top-right). - * + * Speech Bubble: Rectangle with Corners Rounded * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly diagonalUp: PowerPoint.Border; + wedgeRRectCallout = "WedgeRRectCallout", /** - * Gets the left border. - * + * Speech Bubble: Oval * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly left: PowerPoint.Border; + wedgeEllipseCallout = "WedgeEllipseCallout", /** - * Gets the right border. - * + * Thought Bubble: Cloud * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly right: PowerPoint.Border; + cloudCallout = "CloudCallout", /** - * Gets the top border. - * + * Cloud * @remarks - * [Api set: PowerPointApi 1.9] - */ - readonly top: PowerPoint.Border; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.BordersLoadOptions): PowerPoint.Borders; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * [Api set: PowerPointApi 1.4] */ - load(propertyNames?: string | string[]): PowerPoint.Borders; + cloud = "Cloud", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * Ribbon: Tilted Down + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.Borders; + ribbon = "Ribbon", /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.Borders` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BordersData`) that contains shallow copies of any loaded child properties from the original object. + * Ribbon: Tilted Up + * @remarks + * [Api set: PowerPointApi 1.4] */ - toJSON(): PowerPoint.Interfaces.BordersData; - } - /** - * Represents the margins of a table cell. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - class Margins extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + ribbon2 = "Ribbon2", /** - * Specifies the bottom margin in points. - * + * Ribbon: Curved and Tilted Down * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - bottom: number | undefined; + ellipseRibbon = "EllipseRibbon", /** - * Specifies the left margin in points. - * + * Ribbon: Curved and Tilted Up * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - left: number | undefined; + ellipseRibbon2 = "EllipseRibbon2", /** - * Specifies the right margin in points. - * + * Ribbon: Straight with Both Left and Right Arrows * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - right: number | undefined; + leftRightRibbon = "LeftRightRibbon", /** - * Specifies the top margin in points. - * + * Scroll: Vertical * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - top: number | undefined; + verticalScroll = "VerticalScroll", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. + * Scroll: Horizontal + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(options?: PowerPoint.Interfaces.MarginsLoadOptions): PowerPoint.Margins; + horizontalScroll = "HorizontalScroll", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * Wave + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNames?: string | string[]): PowerPoint.Margins; + wave = "Wave", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * Double Wave + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.Margins; + doubleWave = "DoubleWave", /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.Margins` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.MarginsData`) that contains shallow copies of any loaded child properties from the original object. + * Cross + * @remarks + * [Api set: PowerPointApi 1.4] */ - toJSON(): PowerPoint.Interfaces.MarginsData; - } - /** - * Represents the horizontal alignment of the {@link PowerPoint.TextFrame} in a {@link PowerPoint.Shape}. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum ParagraphHorizontalAlignment { + plus = "Plus", /** - * Align text to the left margin. + * Flowchart: Process * @remarks * [Api set: PowerPointApi 1.4] */ - left = "Left", + flowChartProcess = "FlowChartProcess", /** - * Align text in the center. + * Flowchart: Decision * @remarks * [Api set: PowerPointApi 1.4] */ - center = "Center", + flowChartDecision = "FlowChartDecision", /** - * Align text to the right margin. + * Flowchart: Data * @remarks * [Api set: PowerPointApi 1.4] */ - right = "Right", + flowChartInputOutput = "FlowChartInputOutput", /** - * Align text so that it's justified across the whole line. + * Flowchart: Predefined Process * @remarks * [Api set: PowerPointApi 1.4] */ - justify = "Justify", + flowChartPredefinedProcess = "FlowChartPredefinedProcess", /** - * Specifies the alignment or adjustment of kashida length in Arabic text. + * Flowchart: Internal Storage * @remarks * [Api set: PowerPointApi 1.4] */ - justifyLow = "JustifyLow", + flowChartInternalStorage = "FlowChartInternalStorage", /** - * Distributes the text words across an entire text line. + * Flowchart: Document * @remarks * [Api set: PowerPointApi 1.4] */ - distributed = "Distributed", + flowChartDocument = "FlowChartDocument", /** - * Distributes Thai text specially, because each character is treated as a word. + * Flowchart: Multidocument * @remarks * [Api set: PowerPointApi 1.4] */ - thaiDistributed = "ThaiDistributed", - } - /** - * Specifies a shape's fill type. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum ShapeFillType { + flowChartMultidocument = "FlowChartMultidocument", /** - * Specifies that the shape should have no fill. + * Flowchart: Terminator * @remarks * [Api set: PowerPointApi 1.4] */ - noFill = "NoFill", + flowChartTerminator = "FlowChartTerminator", /** - * Specifies that the shape should have regular solid fill. + * Flowchart: Preparation * @remarks * [Api set: PowerPointApi 1.4] */ - solid = "Solid", + flowChartPreparation = "FlowChartPreparation", /** - * Specifies that the shape should have gradient fill. + * Flowchart: Manual Input * @remarks * [Api set: PowerPointApi 1.4] */ - gradient = "Gradient", + flowChartManualInput = "FlowChartManualInput", /** - * Specifies that the shape should have pattern fill. + * Flowchart: Manual Operation * @remarks * [Api set: PowerPointApi 1.4] */ - pattern = "Pattern", + flowChartManualOperation = "FlowChartManualOperation", /** - * Specifies that the shape should have picture or texture fill. + * Flowchart: Connector * @remarks * [Api set: PowerPointApi 1.4] */ - pictureAndTexture = "PictureAndTexture", + flowChartConnector = "FlowChartConnector", /** - * Specifies that the shape should have slide background fill. + * Flowchart: Card * @remarks * [Api set: PowerPointApi 1.4] */ - slideBackground = "SlideBackground", - } - /** - * Represents the fill formatting of a shape object. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - class ShapeFill extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + flowChartPunchedCard = "FlowChartPunchedCard", /** - * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). - * + * Flowchart: Punched Tape * @remarks * [Api set: PowerPointApi 1.4] */ - foregroundColor: string; + flowChartPunchedTape = "FlowChartPunchedTape", /** - * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. - * + * Flowchart: Summing Junction * @remarks * [Api set: PowerPointApi 1.4] */ - transparency: number; + flowChartSummingJunction = "FlowChartSummingJunction", /** - * Returns the fill type of the shape. See {@link PowerPoint.ShapeFillType} for details. - * + * Flowchart: Or * @remarks * [Api set: PowerPointApi 1.4] */ - readonly type: PowerPoint.ShapeFillType | "NoFill" | "Solid" | "Gradient" | "Pattern" | "PictureAndTexture" | "SlideBackground"; + flowChartOr = "FlowChartOr", /** - * Clears the fill formatting of this shape. - * + * Flowchart: Collate * @remarks * [Api set: PowerPointApi 1.4] */ - clear(): void; + flowChartCollate = "FlowChartCollate", /** - * Sets the fill formatting of the shape to an image. This changes the fill type to `PictureAndTexture`. - * + * Flowchart: Sort * @remarks - * [Api set: PowerPointApi 1.8] - * - * @param base64EncodedImage A string that is a Base64 encoding of the image data. + * [Api set: PowerPointApi 1.4] */ - setImage(base64EncodedImage: string): void; + flowChartSort = "FlowChartSort", /** - * Sets the fill formatting of the shape to a uniform color. This changes the fill type to `Solid`. - * + * Flowchart: Extract * @remarks * [Api set: PowerPointApi 1.4] - * - * @param color A string that specifies the fill color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). - */ - setSolidColor(color: string): void; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.ShapeFillLoadOptions): PowerPoint.ShapeFill; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.ShapeFill; + flowChartExtract = "FlowChartExtract", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * Flowchart: Merge + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.ShapeFill; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.ShapeFill` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFillData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.ShapeFillData; - } - /** - * The type of underline applied to a font. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum ShapeFontUnderlineStyle { + flowChartMerge = "FlowChartMerge", /** - * No underlining. + * FlowChart: Offline Storage * @remarks * [Api set: PowerPointApi 1.4] */ - none = "None", + flowChartOfflineStorage = "FlowChartOfflineStorage", /** - * Regular single line underlining. + * Flowchart: Stored Data * @remarks * [Api set: PowerPointApi 1.4] */ - single = "Single", + flowChartOnlineStorage = "FlowChartOnlineStorage", /** - * Underlining of text with double lines. + * Flowchart: Sequential Access Storage * @remarks * [Api set: PowerPointApi 1.4] */ - double = "Double", + flowChartMagneticTape = "FlowChartMagneticTape", /** - * Underlining of text with a thick line. + * Flowchart: Magnetic Disk * @remarks * [Api set: PowerPointApi 1.4] */ - heavy = "Heavy", + flowChartMagneticDisk = "FlowChartMagneticDisk", /** - * Underlining of text with a dotted line. + * Flowchart: Direct Access Storage * @remarks * [Api set: PowerPointApi 1.4] */ - dotted = "Dotted", + flowChartMagneticDrum = "FlowChartMagneticDrum", /** - * Underlining of text with a thick, dotted line. + * Flowchart: Display * @remarks * [Api set: PowerPointApi 1.4] */ - dottedHeavy = "DottedHeavy", + flowChartDisplay = "FlowChartDisplay", /** - * Underlining of text with a line containing dashes. + * Flowchart: Delay * @remarks * [Api set: PowerPointApi 1.4] */ - dash = "Dash", + flowChartDelay = "FlowChartDelay", /** - * Underlining of text with a thick line containing dashes. + * Flowchart: Alternate Process * @remarks * [Api set: PowerPointApi 1.4] */ - dashHeavy = "DashHeavy", + flowChartAlternateProcess = "FlowChartAlternateProcess", /** - * Underlining of text with a line containing long dashes. + * Flowchart: Off-page Connector * @remarks * [Api set: PowerPointApi 1.4] */ - dashLong = "DashLong", + flowChartOffpageConnector = "FlowChartOffpageConnector", /** - * Underlining of text with a thick line containing long dashes. + * Action Button: Blank * @remarks * [Api set: PowerPointApi 1.4] */ - dashLongHeavy = "DashLongHeavy", + actionButtonBlank = "ActionButtonBlank", /** - * Underlining of text with a line containing dots and dashes. + * Action Button: Go Home * @remarks * [Api set: PowerPointApi 1.4] */ - dotDash = "DotDash", + actionButtonHome = "ActionButtonHome", /** - * Underlining of text with a thick line containing dots and dashes. + * Action Button: Help * @remarks * [Api set: PowerPointApi 1.4] */ - dotDashHeavy = "DotDashHeavy", + actionButtonHelp = "ActionButtonHelp", /** - * Underlining of text with a line containing double dots and dashes. + * Action Button: Get Information * @remarks * [Api set: PowerPointApi 1.4] */ - dotDotDash = "DotDotDash", + actionButtonInformation = "ActionButtonInformation", /** - * Underlining of text with a thick line containing double dots and dashes. + * Action Button: Go Forward or Next * @remarks * [Api set: PowerPointApi 1.4] */ - dotDotDashHeavy = "DotDotDashHeavy", + actionButtonForwardNext = "ActionButtonForwardNext", /** - * Underlining of text with a wavy line. + * Action Button: Go Back or Previous * @remarks * [Api set: PowerPointApi 1.4] */ - wavy = "Wavy", + actionButtonBackPrevious = "ActionButtonBackPrevious", /** - * Underlining of text with a thick, wavy line. + * Action Button: Go to End * @remarks * [Api set: PowerPointApi 1.4] */ - wavyHeavy = "WavyHeavy", + actionButtonEnd = "ActionButtonEnd", /** - * Underlining of text with double wavy lines. + * Action Button: Go to Beginning * @remarks * [Api set: PowerPointApi 1.4] */ - wavyDouble = "WavyDouble", - } - /** - * Represents the font attributes, such as font name, font size, and color, for a shape's TextRange object. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - class ShapeFont extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + actionButtonBeginning = "ActionButtonBeginning", /** - * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: - - - `true`: All the text has the **All Caps** attribute. - - - `false`: None of the text has the **All Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. - * + * Action Button: Return * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - allCaps: boolean | null; + actionButtonReturn = "ActionButtonReturn", /** - * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: - - - `true`: All the text is bold. - - - `false`: None of the text is bold. - - - `null`: Returned if some, but not all, of the text is bold. - * + * Action Button: Document * @remarks * [Api set: PowerPointApi 1.4] */ - bold: boolean | null; + actionButtonDocument = "ActionButtonDocument", /** - * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. - * + * Action Button: Sound * @remarks * [Api set: PowerPointApi 1.4] */ - color: string | null; + actionButtonSound = "ActionButtonSound", /** - * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Double strikethrough** attribute. - - - `false`: None of the text has the **Double strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. - * + * Action Button: Video * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - doubleStrikethrough: boolean | null; + actionButtonMovie = "ActionButtonMovie", /** - * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: - - - `true`: All the text is italicized. - - - `false`: None of the text is italicized. - - - `null`: Returned if some, but not all, of the text is italicized. - * + * Gear: A Gear with Six Teeth * @remarks * [Api set: PowerPointApi 1.4] */ - italic: boolean | null; + gear6 = "Gear6", /** - * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. - * + * Gear: A Gear with Nine Teeth * @remarks * [Api set: PowerPointApi 1.4] */ - name: string | null; + gear9 = "Gear9", /** - * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. - * + * Funnel * @remarks * [Api set: PowerPointApi 1.4] */ - size: number | null; + funnel = "Funnel", /** - * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: - - - `true`: All the text has the **Small Caps** attribute. - - - `false`: None of the text has the **Small Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. - * + * Plus Sign * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - smallCaps: boolean | null; + mathPlus = "MathPlus", /** - * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Strikethrough** attribute. - - - `false`: None of the text has the **Strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. - * + * Minus Sign * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - strikethrough: boolean | null; + mathMinus = "MathMinus", /** - * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Subscript** attribute. - - - `false`: None of the text has the **Subscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. - * + * Multiplication Sign * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - subscript: boolean | null; + mathMultiply = "MathMultiply", /** - * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Superscript** attribute. - - - `false`: None of the text has the **Superscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. - * + * Division Sign * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - superscript: boolean | null; + mathDivide = "MathDivide", /** - * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. - * + * Equals * @remarks * [Api set: PowerPointApi 1.4] */ - underline: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; + mathEqual = "MathEqual", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. + * Not Equal + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(options?: PowerPoint.Interfaces.ShapeFontLoadOptions): PowerPoint.ShapeFont; + mathNotEqual = "MathNotEqual", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * Four Right Triangles that Define a Rectangular Shape + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNames?: string | string[]): PowerPoint.ShapeFont; + cornerTabs = "CornerTabs", /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * Four Small Squares that Define a Rectangular Shape. + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.ShapeFont; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.ShapeFont` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFontData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.ShapeFontData; - } - /** - * Represents the font attributes, such as font name, size, and color. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - interface FontProperties { + squareTabs = "SquareTabs", /** - * Represents whether the font uses all caps, where lowercase letters are shown as capital letters. - * + * Four Quarter Circles that Define a Rectangular Shape. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - allCaps?: boolean | undefined; + plaqueTabs = "PlaqueTabs", /** - * Represents the bold status of font. - * + * A Rectangle Divided into Four Parts Along Diagonal Lines. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - bold?: boolean | undefined; + chartX = "ChartX", /** - * Represents the HTML color in the hexadecimal format (e.g., "#FF0000" represents red) or as a named HTML color value (e.g., "red"). - * + * A Rectangle Divided into Six Parts Along a Vertical Line and Diagonal Lines. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - color?: string | undefined; + chartStar = "ChartStar", /** - * Represents the double-strikethrough status of the font. - * + * A Rectangle Divided Vertically and Horizontally into Four Quarters. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - doubleStrikethrough?: boolean | undefined; + chartPlus = "ChartPlus", + } + /** + * Represents the available options when adding shapes. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + interface ShapeAddOptions { /** - * Represents the italic status of font. + * Specifies the height, in points, of the shape. + When not provided, a default value will be used. + Throws an `InvalidArgument` exception when set with a negative value. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - italic?: boolean | undefined; + height?: number; /** - * Represents the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. + * Specifies the distance, in points, from the left side of the shape to the left side of the slide. + When not provided, a default value will be used. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - name?: string | undefined; + left?: number; /** - * Represents the font size in points (e.g., 11). + * Specifies the distance, in points, from the top edge of the shape to the top edge of the slide. + When not provided, a default value will be used. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - size?: number | undefined; + top?: number; /** - * Represents whether the text uses small caps, where lowercase letters are shown as small capital letters. + * Specifies the width, in points, of the shape. + When not provided, a default value will be used. + Throws an `InvalidArgument` exception when set with a negative value. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - smallCaps?: boolean | undefined; + width?: number; + } + /** + * Specifies the dash style for a line. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum ShapeLineDashStyle { /** - * Represents the strikethrough status of the font. - * + * The dash line pattern. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - strikethrough?: boolean | undefined; + dash = "Dash", /** - * Represents the subscript status of the font. - * + * The dash-dot line pattern. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - subscript?: boolean | undefined; + dashDot = "DashDot", /** - * Represents the superscript status of the font. - * + * The dash-dot-dot line pattern. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - superscript?: boolean | undefined; + dashDotDot = "DashDotDot", /** - * Type of underline applied to the font. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. - * + * The long dash line pattern. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | undefined; - } - /** - * Represents a sequence of one or more characters with the same font attributes. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - interface TextRun { + longDash = "LongDash", /** - * The font attributes (such as font name, font size, and color) applied to this text run. - * + * The long dash-dot line pattern. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - font?: PowerPoint.FontProperties; + longDashDot = "LongDashDot", /** - * The text of this text run. - * + * The round dot line pattern. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - text: string; - } - /** - * Represents the vertical alignment of a {@link PowerPoint.TextFrame} in a {@link PowerPoint.Shape}. - If one of the centered options is selected, the contents of the `TextFrame` will be centered horizontally within the `Shape` as a group. - To change the horizontal alignment of a text, see {@link PowerPoint.ParagraphFormat} and {@link PowerPoint.ParagraphHorizontalAlignment}. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - enum TextVerticalAlignment { + roundDot = "RoundDot", /** - * Specifies that the `TextFrame` should be top aligned to the `Shape`. + * The solid line pattern. * @remarks * [Api set: PowerPointApi 1.4] */ - top = "Top", + solid = "Solid", /** - * Specifies that the `TextFrame` should be center aligned to the `Shape`. + * The square dot line pattern. * @remarks * [Api set: PowerPointApi 1.4] */ - middle = "Middle", + squareDot = "SquareDot", /** - * Specifies that the `TextFrame` should be bottom aligned to the `Shape`. + * The long dash-dot-dot line pattern. * @remarks * [Api set: PowerPointApi 1.4] */ - bottom = "Bottom", + longDashDotDot = "LongDashDotDot", /** - * Specifies that the `TextFrame` should be top aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. + * The system dash line pattern. * @remarks * [Api set: PowerPointApi 1.4] */ - topCentered = "TopCentered", + systemDash = "SystemDash", /** - * Specifies that the `TextFrame` should be center aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. + * The system dot line pattern. * @remarks * [Api set: PowerPointApi 1.4] */ - middleCentered = "MiddleCentered", + systemDot = "SystemDot", /** - * Specifies that the `TextFrame` should be bottom aligned vertically to the `Shape`. Contents of the `TextFrame` will be centered horizontally within the `Shape`. + * The system dash-dot line pattern. * @remarks * [Api set: PowerPointApi 1.4] */ - bottomCentered = "BottomCentered", + systemDashDot = "SystemDashDot", } /** - * Represents a table. + * Represents the properties for a table cell border. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - class TableCell extends OfficeExtension.ClientObject { + class Border extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Gets the collection of borders for the table cell. + * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). * * @remarks * [Api set: PowerPointApi 1.9] */ - readonly borders: PowerPoint.Borders; + color: string | undefined; /** - * Gets the fill color of the table cell. + * Represents the dash style of the line. * * @remarks * [Api set: PowerPointApi 1.9] */ - readonly fill: PowerPoint.ShapeFill; + dashStyle: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; /** - * Gets the font of the table cell. + * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). * * @remarks * [Api set: PowerPointApi 1.9] */ - readonly font: PowerPoint.ShapeFont; + transparency: number | undefined; /** - * Gets the set of margins in the table cell. + * Represents the weight of the line, in points. * * @remarks * [Api set: PowerPointApi 1.9] */ - readonly margins: PowerPoint.Margins; - /** - * Gets the number of table columns this cell spans across. - Will be greater than or equal to 1. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - readonly columnCount: number; + weight: number | undefined; /** - * Gets the zero-based column index of the cell within the table. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @remarks - * [Api set: PowerPointApi 1.8] + * @param options Provides options for which properties of the object to load. */ - readonly columnIndex: number; + load(options?: PowerPoint.Interfaces.BorderLoadOptions): PowerPoint.Border; /** - * Specifies the horizontal alignment of the table cell. Returns `null` if the cell text contains different alignments. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @remarks - * [Api set: PowerPointApi 1.9] + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - horizontalAlignment: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; + load(propertyNames?: string | string[]): PowerPoint.Border; /** - * Specifies the indent level of the table cell. Returns `null` if the cell text contains different indent levels. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @remarks - * [Api set: PowerPointApi 1.9] + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - indentLevel: number | null; + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.Border; /** - * Gets the number of table rows this cell spans across. - Will be greater than or equal to 1. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - readonly rowCount: number; + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Border` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BorderData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.BorderData; + } + /** + * Represents the borders for a table cell. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + class Borders extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Gets the zero-based row index of the cell within the table. + * Gets the bottom border. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - readonly rowIndex: number; + readonly bottom: PowerPoint.Border; /** - * Specifies the text content of the table cell. + * Gets the diagonal border (top-left to bottom-right). * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - text: string; + readonly diagonalDown: PowerPoint.Border; /** - * Specifies the contents of the table cell as an array of {@link PowerPoint.TextRun} objects. - Each `TextRun` object represents a sequence of one or more characters that share the same font attributes. + * Gets the diagonal border (bottom-left to top-right). * * @remarks * [Api set: PowerPointApi 1.9] */ - textRuns: PowerPoint.TextRun[]; + readonly diagonalUp: PowerPoint.Border; /** - * Specifies the vertical alignment of the text in the table cell. + * Gets the left border. * * @remarks * [Api set: PowerPointApi 1.9] */ - verticalAlignment: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; + readonly left: PowerPoint.Border; /** - * Resizes the table cell to span across a specified number of rows and columns. - If rowCount or columnCount are greater than 1, the cell will become a merged area. If the cell - is already a merged area and rowCount and columnCount are set to 1, the cell will no longer be - a merged area. + * Gets the right border. * * @remarks * [Api set: PowerPointApi 1.9] - * - * @param rowCount The number of rows the cell will span across. Must be greater than 0. - * @param columnCount The number of columns the cell will span across. Must be greater than 0. */ - resize(rowCount: number, columnCount: number): void; + readonly right: PowerPoint.Border; /** - * Splits the cell into the specified number of rows and columns. + * Gets the top border. * * @remarks * [Api set: PowerPointApi 1.9] - * - * @param rowCount The number of rows to split into. Must be greater than 0. - * @param columnCount The number of columns to split into. Must be greater than 0. */ - split(rowCount: number, columnCount: number): void; + readonly top: PowerPoint.Border; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TableCellLoadOptions): PowerPoint.TableCell; + load(options?: PowerPoint.Interfaces.BordersLoadOptions): PowerPoint.Borders; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TableCell; + load(propertyNames?: string | string[]): PowerPoint.Borders; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -130593,109 +130472,188 @@ declare namespace PowerPoint { load(propertyNamesAndPaths?: { select?: string; expand?: string; - }): PowerPoint.TableCell; + }): PowerPoint.Borders; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TableCell` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableCellData`) that contains shallow copies of any loaded child properties from the original object. + * Whereas the original `PowerPoint.Borders` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BordersData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.TableCellData; + toJSON(): PowerPoint.Interfaces.BordersData; } /** - * Represents a collection of table cells. + * Represents the margins of a table cell. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - class TableCellCollection extends OfficeExtension.ClientObject { + class Margins extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.TableCell[]; /** - * Gets the number of table cells in the collection. + * Specifies the bottom margin in points. * * @remarks - * [Api set: PowerPointApi 1.8] - * @returns The number of table cells in the collection. + * [Api set: PowerPointApi 1.9] */ - getCount(): OfficeExtension.ClientResult; + bottom: number | undefined; /** - * Gets the table cell using its zero-based index in the collection. If the `TableCell` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * Specifies the left margin in points. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] + */ + left: number | undefined; + /** + * Specifies the right margin in points. * - * @param row Row index value of the table cell to be retrieved, as a zero-based index. - * @param column Column index value of the table cell to be retrieved, as a zero-based index. - * @returns The `TableCell` object. + * @remarks + * [Api set: PowerPointApi 1.9] */ - getItemAtOrNullObject(row: number, column: number): PowerPoint.TableCell; + right: number | undefined; + /** + * Specifies the top margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + top: number | undefined; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TableCellCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.TableCellCollection; + load(options?: PowerPoint.Interfaces.MarginsLoadOptions): PowerPoint.Margins; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TableCellCollection; + load(propertyNames?: string | string[]): PowerPoint.Margins; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.TableCellCollection; + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.Margins; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TableCellCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableCellCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + * Whereas the original `PowerPoint.Margins` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.MarginsData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.TableCellCollectionData; + toJSON(): PowerPoint.Interfaces.MarginsData; } /** - * Represents a column in a table. + * Specifies a shape's fill type. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - class TableColumn extends OfficeExtension.ClientObject { + enum ShapeFillType { + /** + * Specifies that the shape should have no fill. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + noFill = "NoFill", + /** + * Specifies that the shape should have regular solid fill. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + solid = "Solid", + /** + * Specifies that the shape should have gradient fill. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + gradient = "Gradient", + /** + * Specifies that the shape should have pattern fill. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + pattern = "Pattern", + /** + * Specifies that the shape should have picture or texture fill. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + pictureAndTexture = "PictureAndTexture", + /** + * Specifies that the shape should have slide background fill. + * @remarks + * [Api set: PowerPointApi 1.4] + */ + slideBackground = "SlideBackground", + } + /** + * Represents the fill formatting of a shape object. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + class ShapeFill extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Returns the index number of the column within the column collection of the table. Zero-indexed. + * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - readonly columnIndex: number; + foregroundColor: string; /** - * Retrieves the width of the column in points. If the set column width is less than the minimum width, the column width will be increased to the minimum width. + * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - width: number; + transparency: number; /** - * Deletes the column. + * Returns the fill type of the shape. See {@link PowerPoint.ShapeFillType} for details. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - delete(): void; + readonly type: PowerPoint.ShapeFillType | "NoFill" | "Solid" | "Gradient" | "Pattern" | "PictureAndTexture" | "SlideBackground"; + /** + * Clears the fill formatting of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + clear(): void; + /** + * Sets the fill formatting of the shape to an image. This changes the fill type to `PictureAndTexture`. + * + * @remarks + * [Api set: PowerPointApi 1.8] + * + * @param base64EncodedImage A string that is a Base64 encoding of the image data. + */ + setImage(base64EncodedImage: string): void; + /** + * Sets the fill formatting of the shape to a uniform color. This changes the fill type to `Solid`. + * + * @remarks + * [Api set: PowerPointApi 1.4] + * + * @param color A string that specifies the fill color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). + */ + setSolidColor(color: string): void; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TableColumnLoadOptions): PowerPoint.TableColumn; + load(options?: PowerPoint.Interfaces.ShapeFillLoadOptions): PowerPoint.ShapeFill; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TableColumn; + load(propertyNames?: string | string[]): PowerPoint.ShapeFill; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -130704,365 +130662,359 @@ declare namespace PowerPoint { load(propertyNamesAndPaths?: { select?: string; expand?: string; - }): PowerPoint.TableColumn; + }): PowerPoint.ShapeFill; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TableColumn` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableColumnData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.TableColumnData; + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeFill` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFillData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.ShapeFillData; } /** - * Represents the fill formatting of a table cell. + * Represents the font attributes, such as font name, size, and color. * * @remarks * [Api set: PowerPointApi 1.8] */ - interface FillProperties { + interface FontProperties { /** - * Represents the shape fill color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). + * Represents whether the font uses all caps, where lowercase letters are shown as capital letters. * * @remarks * [Api set: PowerPointApi 1.8] */ - color?: string | undefined; + allCaps?: boolean | undefined; /** - * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). + * Represents the bold status of font. * * @remarks * [Api set: PowerPointApi 1.8] */ - transparency?: number | undefined; - } - /** - * Represents the properties for a table cell border. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - interface BorderProperties { + bold?: boolean | undefined; /** - * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). + * Represents the HTML color in the hexadecimal format (e.g., "#FF0000" represents red) or as a named HTML color value (e.g., "red"). * * @remarks * [Api set: PowerPointApi 1.8] */ color?: string | undefined; /** - * Represents the dash style of the line. + * Represents the double-strikethrough status of the font. * * @remarks * [Api set: PowerPointApi 1.8] */ - dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; + doubleStrikethrough?: boolean | undefined; /** - * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). + * Represents the italic status of font. * * @remarks * [Api set: PowerPointApi 1.8] */ - transparency?: number | undefined; + italic?: boolean | undefined; /** - * Represents the weight of the line, in points. + * Represents the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. * * @remarks * [Api set: PowerPointApi 1.8] */ - weight?: number | undefined; - } - /** - * Represents the borders of a table cell. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - interface TableCellBorders { + name?: string | undefined; /** - * Represents the bottom border. + * Represents the font size in points (e.g., 11). * * @remarks * [Api set: PowerPointApi 1.8] */ - bottom?: PowerPoint.BorderProperties; + size?: number | undefined; /** - * Represents the diagonal border (top-left to bottom-right). + * Represents whether the text uses small caps, where lowercase letters are shown as small capital letters. * * @remarks * [Api set: PowerPointApi 1.8] */ - diagonalDown?: PowerPoint.BorderProperties; + smallCaps?: boolean | undefined; /** - * Represents the diagonal border (bottom-left to top-right). + * Represents the strikethrough status of the font. * * @remarks * [Api set: PowerPointApi 1.8] */ - diagonalUp?: PowerPoint.BorderProperties; + strikethrough?: boolean | undefined; /** - * Represents the left border. + * Represents the subscript status of the font. * * @remarks * [Api set: PowerPointApi 1.8] */ - left?: PowerPoint.BorderProperties; + subscript?: boolean | undefined; /** - * Represents the right border. + * Represents the superscript status of the font. * * @remarks * [Api set: PowerPointApi 1.8] */ - right?: PowerPoint.BorderProperties; + superscript?: boolean | undefined; /** - * Represents the top border. + * Type of underline applied to the font. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. * * @remarks * [Api set: PowerPointApi 1.8] */ - top?: PowerPoint.BorderProperties; + underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | undefined; } /** - * Represents the margins of a table cell. + * Represents a sequence of one or more characters with the same font attributes. * * @remarks * [Api set: PowerPointApi 1.8] */ - interface TableCellMargins { + interface TextRun { /** - * Specifies the bottom margin in points. + * The font attributes (such as font name, font size, and color) applied to this text run. * * @remarks * [Api set: PowerPointApi 1.8] */ - bottom?: number | undefined; + font?: PowerPoint.FontProperties; /** - * Specifies the left margin in points. + * The text of this text run. * * @remarks * [Api set: PowerPointApi 1.8] */ - left?: number | undefined; + text: string; + } + /** + * Represents a table. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + class TableCell extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; /** - * Specifies the right margin in points. + * Gets the collection of borders for the table cell. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - right?: number | undefined; + readonly borders: PowerPoint.Borders; /** - * Specifies the top margin in points. + * Gets the fill color of the table cell. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - top?: number | undefined; - } - /** - * Represents the table cell properties to update. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - interface TableCellProperties { + readonly fill: PowerPoint.ShapeFill; /** - * Specifies the border formatting of the table cell. + * Gets the font of the table cell. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - borders?: PowerPoint.TableCellBorders; + readonly font: PowerPoint.ShapeFont; /** - * Specifies the fill formatting of the table cell. + * Gets the set of margins in the table cell. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - fill?: PowerPoint.FillProperties; + readonly margins: PowerPoint.Margins; /** - * Specifies the font formatting of the table cell. + * Gets the number of table columns this cell spans across. + Will be greater than or equal to 1. * * @remarks * [Api set: PowerPointApi 1.8] */ - font?: PowerPoint.FontProperties; + readonly columnCount: number; /** - * Represents the horizontal alignment of the table cell. + * Gets the zero-based column index of the cell within the table. * * @remarks * [Api set: PowerPointApi 1.8] */ - horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | undefined; + readonly columnIndex: number; /** - * Represents the indent level of the text in the table cell. + * Specifies the horizontal alignment of the text in the table cell. Returns `null` if the cell text contains different alignments. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - indentLevel?: number | undefined; + horizontalAlignment: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; /** - * Specifies the margin settings in the table cell. + * Specifies the indent level of the text in the table cell. Returns `null` if the cell text contains different indent levels. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - margins?: PowerPoint.TableCellMargins; + indentLevel: number | null; /** - * Specifies the text content of the table cell. - - If a portion of the text requires different formatting, use the `textRuns` property instead. + * Gets the number of table rows this cell spans across. + Will be greater than or equal to 1. * * @remarks * [Api set: PowerPointApi 1.8] */ - text?: string; + readonly rowCount: number; /** - * Specifies the contents of the table cell as an array of {@link PowerPoint.TextRun} objects. - Each `TextRun` object represents a sequence of one or more characters that share the same font attributes. + * Gets the zero-based row index of the cell within the table. * * @remarks * [Api set: PowerPointApi 1.8] */ - textRuns?: PowerPoint.TextRun[]; + readonly rowIndex: number; /** - * Represents the vertical alignment of the table cell. + * Specifies the text content of the table cell. * * @remarks * [Api set: PowerPointApi 1.8] */ - verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered" | undefined; - } - /** - * Represents a collection of table columns. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - class TableColumnCollection extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.TableColumn[]; + text: string; /** - * Adds one or more columns to the table. + * Specifies the contents of the table cell as an array of {@link PowerPoint.TextRun} objects. + Each `TextRun` object represents a sequence of one or more characters that share the same font attributes. * * @remarks * [Api set: PowerPointApi 1.9] - * - * @param index Optional. Specifies the zero-based index where the new columns are added. Existing columns starting at the index location are shifted right. If the index value is undefined, null, -1, or greater than the number of columns in the table, the new columns are added at the end of the table. - * @param count Optional. The number of columns to add. If the value is undefined or 0, only one column is added. */ - // eslint-disable-next-line @definitelytyped/redundant-undefined - add(index?: number | null | undefined, count?: number | undefined): void; + textRuns: PowerPoint.TextRun[]; /** - * Deletes the specified columns from the collection. + * Specifies the vertical alignment of the text in the table cell. * * @remarks * [Api set: PowerPointApi 1.9] - * - * @param columns An array of `TableColumn` objects representing the columns to be deleted. */ - deleteColumns(columns: PowerPoint.TableColumn[]): void; + verticalAlignment: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; /** - * Gets the number of columns in the collection. + * Resizes the table cell to span across a specified number of rows and columns. + If rowCount or columnCount are greater than 1, the cell will become a merged area. If the cell + is already a merged area and rowCount and columnCount are set to 1, the cell will no longer be + a merged area. * * @remarks * [Api set: PowerPointApi 1.9] - * @returns The number of columns in the collection. + * + * @param rowCount The number of rows the cell will span across. Must be greater than 0. + * @param columnCount The number of columns the cell will span across. Must be greater than 0. */ - getCount(): OfficeExtension.ClientResult; + resize(rowCount: number, columnCount: number): void; /** - * Gets the column using its zero-based index in the collection. + * Splits the cell into the specified number of rows and columns. * * @remarks * [Api set: PowerPointApi 1.9] * - * @param index Index value of the column to be retrieved, as a zero-based index. - * @returns The column object. + * @param rowCount The number of rows to split into. Must be greater than 0. + * @param columnCount The number of columns to split into. Must be greater than 0. */ - getItemAt(index: number): PowerPoint.TableColumn; + split(rowCount: number, columnCount: number): void; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TableColumnCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.TableColumnCollection; + load(options?: PowerPoint.Interfaces.TableCellLoadOptions): PowerPoint.TableCell; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TableColumnCollection; + load(propertyNames?: string | string[]): PowerPoint.TableCell; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.TableColumnCollection; + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.TableCell; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TableColumnCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableColumnCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + * Whereas the original `PowerPoint.TableCell` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableCellData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.TableColumnCollectionData; + toJSON(): PowerPoint.Interfaces.TableCellData; } /** - * Represents the available options when clearing a table. + * Represents a collection of table cells. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.8] */ - interface TableClearOptions { + class TableCellCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.TableCell[]; /** - * Specifies if both values and formatting of the table should be cleared. + * Gets the number of table cells in the collection. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.8] + * @returns The number of table cells in the collection. */ - all?: boolean; + getCount(): OfficeExtension.ClientResult; /** - * Specifies if the formatting of the table should be cleared. + * Gets the table cell using its zero-based index in the collection. If the `TableCell` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.8] + * + * @param row Row index value of the table cell to be retrieved, as a zero-based index. + * @param column Column index value of the table cell to be retrieved, as a zero-based index. + * @returns The `TableCell` object. */ - format?: boolean; + getItemAtOrNullObject(row: number, column: number): PowerPoint.TableCell; /** - * Specifies if the values of the table should be cleared. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @remarks - * [Api set: PowerPointApi 1.9] + * @param options Provides options for which properties of the object to load. */ - text?: boolean; + load(options?: PowerPoint.Interfaces.TableCellCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.TableCellCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.TableCellCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.TableCellCollection; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TableCellCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableCellCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.TableCellCollectionData; } /** - * Represents a row in a table. + * Represents a column in a table. * * @remarks * [Api set: PowerPointApi 1.9] */ - class TableRow extends OfficeExtension.ClientObject { + class TableColumn extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Retrieves the current height of the row in points. - * - * @remarks - * [Api set: PowerPointApi 1.9] - */ - readonly currentHeight: number; - /** - * Specifies the height of the row in points. If the set row height is less than the minimum height, the row height will be increased to the minimum height. + * Returns the index number of the column within the column collection of the table. Zero-indexed. * * @remarks * [Api set: PowerPointApi 1.9] */ - height: number; + readonly columnIndex: number; /** - * Returns the index number of the row within the rows collection of the table. Zero-indexed. + * Retrieves the width of the column in points. If the set column width is less than the minimum width, the column width will be increased to the minimum width. * * @remarks * [Api set: PowerPointApi 1.9] */ - readonly rowIndex: number; + width: number; /** - * Deletes the row. + * Deletes the column. * * @remarks * [Api set: PowerPointApi 1.9] @@ -131073,13 +131025,13 @@ declare namespace PowerPoint { * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TableRowLoadOptions): PowerPoint.TableRow; + load(options?: PowerPoint.Interfaces.TableColumnLoadOptions): PowerPoint.TableColumn; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TableRow; + load(propertyNames?: string | string[]): PowerPoint.TableColumn; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -131088,10 +131040,176 @@ declare namespace PowerPoint { load(propertyNamesAndPaths?: { select?: string; expand?: string; - }): PowerPoint.TableRow; + }): PowerPoint.TableColumn; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TableRow` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableRowData`) that contains shallow copies of any loaded child properties from the original object. + * Whereas the original `PowerPoint.TableColumn` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableColumnData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.TableColumnData; + } + /** + * Represents a collection of table columns. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + class TableColumnCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.TableColumn[]; + /** + * Adds one or more columns to the table. + * + * @remarks + * [Api set: PowerPointApi 1.9] + * + * @param index Optional. Specifies the zero-based index where the new columns are added. Existing columns starting at the index location are shifted right. If the index value is undefined, null, -1, or greater than the number of columns in the table, the new columns are added at the end of the table. + * @param count Optional. The number of columns to add. If the value is undefined or 0, only one column is added. + */ + // eslint-disable-next-line @definitelytyped/redundant-undefined + add(index?: number | null | undefined, count?: number | undefined): void; + /** + * Deletes the specified columns from the collection. + * + * @remarks + * [Api set: PowerPointApi 1.9] + * + * @param columns An array of `TableColumn` objects representing the columns to be deleted. + */ + deleteColumns(columns: PowerPoint.TableColumn[]): void; + /** + * Gets the number of columns in the collection. + * + * @remarks + * [Api set: PowerPointApi 1.9] + * @returns The number of columns in the collection. + */ + getCount(): OfficeExtension.ClientResult; + /** + * Gets the column using its zero-based index in the collection. + * + * @remarks + * [Api set: PowerPointApi 1.9] + * + * @param index Index value of the column to be retrieved, as a zero-based index. + * @returns The column object. + */ + getItemAt(index: number): PowerPoint.TableColumn; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.TableColumnCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.TableColumnCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.TableColumnCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.TableColumnCollection; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TableColumnCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableColumnCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.TableColumnCollectionData; + } + /** + * Represents the available options when clearing a table. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + interface TableClearOptions { + /** + * Specifies if both values and formatting of the table should be cleared. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + all?: boolean; + /** + * Specifies if the formatting of the table should be cleared. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + format?: boolean; + /** + * Specifies if the values of the table should be cleared. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + text?: boolean; + } + /** + * Represents a row in a table. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + class TableRow extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * Retrieves the current height of the row in points. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + readonly currentHeight: number; + /** + * Specifies the height of the row in points. If the set row height is less than the minimum height, the row height will be increased to the minimum height. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + height: number; + /** + * Returns the index number of the row within the rows collection of the table. Zero-indexed. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + readonly rowIndex: number; + /** + * Deletes the row. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + delete(): void; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.TableRowLoadOptions): PowerPoint.TableRow; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.TableRow; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.TableRow; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TableRow` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableRowData`) that contains shallow copies of any loaded child properties from the original object. */ toJSON(): PowerPoint.Interfaces.TableRowData; } @@ -131620,6 +131738,91 @@ declare namespace PowerPoint { */ darkStyle2Accent3 = "DarkStyle2Accent3", } + /** + * Represents the available table style settings. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + class TableStyleSettings extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * Specifies if the columns show banded formatting in which odd columns are highlighted differently from even ones, to make reading the table easier. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + areColumnsBanded: boolean; + /** + * Specifies if the rows show banded formatting in which odd rows are highlighted differently from even ones, to make reading the table easier. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + areRowsBanded: boolean; + /** + * Specifies if the first column contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isFirstColumnHighlighted: boolean; + /** + * Specifies if the first row contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isFirstRowHighlighted: boolean; + /** + * Specifies if the last column contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isLastColumnHighlighted: boolean; + /** + * Specifies if the last row contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isLastRowHighlighted: boolean; + /** + * Specifies the table style. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + style: PowerPoint.TableStyle | "NoStyleNoGrid" | "ThemedStyle1Accent1" | "ThemedStyle1Accent2" | "ThemedStyle1Accent3" | "ThemedStyle1Accent4" | "ThemedStyle1Accent5" | "ThemedStyle1Accent6" | "NoStyleTableGrid" | "ThemedStyle2Accent1" | "ThemedStyle2Accent2" | "ThemedStyle2Accent3" | "ThemedStyle2Accent4" | "ThemedStyle2Accent5" | "ThemedStyle2Accent6" | "LightStyle1" | "LightStyle1Accent1" | "LightStyle1Accent2" | "LightStyle1Accent3" | "LightStyle1Accent4" | "LightStyle1Accent5" | "LightStyle1Accent6" | "LightStyle2" | "LightStyle2Accent1" | "LightStyle2Accent2" | "LightStyle2Accent3" | "LightStyle2Accent4" | "LightStyle2Accent5" | "LightStyle2Accent6" | "LightStyle3" | "LightStyle3Accent1" | "LightStyle3Accent2" | "LightStyle3Accent3" | "LightStyle3Accent4" | "LightStyle3Accent5" | "LightStyle3Accent6" | "MediumStyle1" | "MediumStyle1Accent1" | "MediumStyle1Accent2" | "MediumStyle1Accent3" | "MediumStyle1Accent4" | "MediumStyle1Accent5" | "MediumStyle1Accent6" | "MediumStyle2" | "MediumStyle2Accent1" | "MediumStyle2Accent2" | "MediumStyle2Accent3" | "MediumStyle2Accent4" | "MediumStyle2Accent5" | "MediumStyle2Accent6" | "MediumStyle3" | "MediumStyle3Accent1" | "MediumStyle3Accent2" | "MediumStyle3Accent3" | "MediumStyle3Accent4" | "MediumStyle3Accent5" | "MediumStyle3Accent6" | "MediumStyle4" | "MediumStyle4Accent1" | "MediumStyle4Accent2" | "MediumStyle4Accent3" | "MediumStyle4Accent4" | "MediumStyle4Accent5" | "MediumStyle4Accent6" | "DarkStyle1" | "DarkStyle1Accent1" | "DarkStyle1Accent2" | "DarkStyle1Accent3" | "DarkStyle1Accent4" | "DarkStyle1Accent5" | "DarkStyle1Accent6" | "DarkStyle2" | "DarkStyle2Accent1" | "DarkStyle2Accent2" | "DarkStyle2Accent3"; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.TableStyleSettingsLoadOptions): PowerPoint.TableStyleSettings; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.TableStyleSettings; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.TableStyleSettings; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TableStyleSettings` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TableStyleSettingsData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.TableStyleSettingsData; + } /** * Represents a table. * @@ -131643,6 +131846,13 @@ declare namespace PowerPoint { * [Api set: PowerPointApi 1.9] */ readonly rows: PowerPoint.TableRowCollection; + /** + * Gets the table style settings. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + readonly styleSettings: PowerPoint.TableStyleSettings; /** * Gets the number of columns in the table. * @@ -131739,29 +131949,247 @@ declare namespace PowerPoint { toJSON(): PowerPoint.Interfaces.TableData; } /** - * Provides the table column properties. + * Represents the fill formatting of a table cell. * * @remarks * [Api set: PowerPointApi 1.8] */ - interface TableColumnProperties { + interface FillProperties { /** - * Represents the desired width of each column in points, or is undefined. - - When a table is being added, for columns whose width is undefined, - the column width will be calculated by evenly dividing the remaining width - of the table amongst those columns. If the table doesn't have a defined width, - a default column width will be used. + * Represents the shape fill color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). * * @remarks * [Api set: PowerPointApi 1.8] */ - columnWidth?: number | undefined; - } - /** - * Represents the properties of a merged area of cells in a table. - * - * @remarks + color?: string | undefined; + /** + * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + transparency?: number | undefined; + } + /** + * Represents the properties for a table cell border. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + interface BorderProperties { + /** + * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + color?: string | undefined; + /** + * Represents the dash style of the line. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; + /** + * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + transparency?: number | undefined; + /** + * Represents the weight of the line, in points. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + weight?: number | undefined; + } + /** + * Represents the borders of a table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + interface TableCellBorders { + /** + * Represents the bottom border. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + bottom?: PowerPoint.BorderProperties; + /** + * Represents the diagonal border (top-left to bottom-right). + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + diagonalDown?: PowerPoint.BorderProperties; + /** + * Represents the diagonal border (bottom-left to top-right). + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + diagonalUp?: PowerPoint.BorderProperties; + /** + * Represents the left border. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + left?: PowerPoint.BorderProperties; + /** + * Represents the right border. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + right?: PowerPoint.BorderProperties; + /** + * Represents the top border. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + top?: PowerPoint.BorderProperties; + } + /** + * Represents the margins of a table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + interface TableCellMargins { + /** + * Specifies the bottom margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + bottom?: number | undefined; + /** + * Specifies the left margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + left?: number | undefined; + /** + * Specifies the right margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + right?: number | undefined; + /** + * Specifies the top margin in points. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + top?: number | undefined; + } + /** + * Represents the table cell properties to update. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + interface TableCellProperties { + /** + * Specifies the border formatting of the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + borders?: PowerPoint.TableCellBorders; + /** + * Specifies the fill formatting of the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + fill?: PowerPoint.FillProperties; + /** + * Specifies the font formatting of the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + font?: PowerPoint.FontProperties; + /** + * Specifies the horizontal alignment of the text in the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | undefined; + /** + * Specifies the indent level of the text in the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + indentLevel?: number | undefined; + /** + * Specifies the margin settings in the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + margins?: PowerPoint.TableCellMargins; + /** + * Specifies the text content of the table cell. + + If a portion of the text requires different formatting, use the `textRuns` property instead. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + text?: string; + /** + * Specifies the contents of the table cell as an array of {@link TextRun} objects. + Each `TextRun` object represents a sequence of one or more characters that share the same font attributes. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + textRuns?: PowerPoint.TextRun[]; + /** + * Specifies the vertical alignment of the text in the table cell. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered" | undefined; + } + /** + * Provides the table column properties. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + interface TableColumnProperties { + /** + * Represents the desired width of each column in points, or is undefined. + + When a table is being added, for columns whose width is undefined, + the column width will be calculated by evenly dividing the remaining width + of the table amongst those columns. If the table doesn't have a defined width, + a default column width will be used. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + columnWidth?: number | undefined; + } + /** + * Represents the properties of a merged area of cells in a table. + * + * @remarks * [Api set: PowerPointApi 1.8] */ interface TableMergedAreaProperties { @@ -131836,6 +132264,9 @@ declare namespace PowerPoint { * Specifies the height, in points, of the table. A default value is used when this parameter isn't provided. Throws an `InvalidArgument` exception when set with a negative value. + + Note: If the table height isn't evenly divisible by the number of rows, PowerPoint sets it to the nearest possible value. + For example, a height of 400 for 3 rows may result in an actual height of 399.9999. * * @remarks * [Api set: PowerPointApi 1.8] @@ -131924,6 +132355,9 @@ declare namespace PowerPoint { * Specifies the width, in points, of the table. A default value is used when this parameter isn't provided. Throws an `InvalidArgument` exception when set with a negative value. + + Note: If the table width isn't evenly divisible by the number of columns, PowerPoint sets it to the nearest possible value. + For example, a width of 400 for 3 columns may result in an actual width of 399.9999. * * @remarks * [Api set: PowerPointApi 1.8] @@ -133101,212 +133535,261 @@ declare namespace PowerPoint { toJSON(): PowerPoint.Interfaces.ShapeLineFormatData; } /** - * Determines the type of automatic sizing allowed. + * Use with `setZOrder` to move the specified shape up or down the collection's z-order, which shifts it in front of or behind other shapes. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - enum ShapeAutoSize { + enum ShapeZOrder { /** - * No autosizing. + * Brings the shape forward one spot in the z-order. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - autoSizeNone = "AutoSizeNone", + bringForward = "BringForward", /** - * The text is adjusted to fit the shape. + * Brings the shape to the front of the z-order. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - autoSizeTextToFitShape = "AutoSizeTextToFitShape", + bringToFront = "BringToFront", /** - * The shape is adjusted to fit the text. + * Sends the shape backward one spot in the z-order. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - autoSizeShapeToFitText = "AutoSizeShapeToFitText", + sendBackward = "SendBackward", /** - * A combination of automatic sizing schemes are used. + * Sends the shape to the back of the z-order. * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - autoSizeMixed = "AutoSizeMixed", + sendToBack = "SendToBack", } /** - * Represents the bullet formatting properties of a text that is attached to the {@link PowerPoint.ParagraphFormat}. + * Represents a single shape in the slide. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.3] */ - class BulletFormat extends OfficeExtension.ClientObject { + class Shape extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. + * Returns a collection of custom XML parts in the shape. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + readonly customXmlParts: PowerPoint.CustomXmlPartCollection; + /** + * Returns the fill formatting of this shape. * * @remarks * [Api set: PowerPointApi 1.4] */ - visible: boolean | null; + readonly fill: PowerPoint.ShapeFill; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Returns the `ShapeGroup` associated with the shape. + If the shape type isn't `group`, then this method returns the `GeneralException` error. * - * @param options Provides options for which properties of the object to load. + * @remarks + * [Api set: PowerPointApi 1.8] */ - load(options?: PowerPoint.Interfaces.BulletFormatLoadOptions): PowerPoint.BulletFormat; + readonly group: PowerPoint.ShapeGroup; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Returns the line formatting of this shape. * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNames?: string | string[]): PowerPoint.BulletFormat; + readonly lineFormat: PowerPoint.ShapeLineFormat; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Returns the parent group of this shape. + If the shape isn't part of a group, then this method returns the `GeneralException` error. * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * @remarks + * [Api set: PowerPointApi 1.8] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.BulletFormat; + readonly parentGroup: PowerPoint.Shape; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.BulletFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BulletFormatData`) that contains shallow copies of any loaded child properties from the original object. + * Returns the properties that apply specifically to this placeholder. + If the shape type isn't `placeholder`, then this method returns the `GeneralException` error. + * + * @remarks + * [Api set: PowerPointApi 1.8] */ - toJSON(): PowerPoint.Interfaces.BulletFormatData; - } - /** - * Represents the paragraph formatting properties of a text that is attached to the {@link PowerPoint.TextRange}. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - class ParagraphFormat extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + readonly placeholderFormat: PowerPoint.PlaceholderFormat; /** - * Represents the bullet format of the paragraph. See {@link PowerPoint.BulletFormat} for details. + * Returns a collection of tags in the shape. + * + * @remarks + * [Api set: PowerPointApi 1.3] + */ + readonly tags: PowerPoint.TagCollection; + /** + * Returns the {@link PowerPoint.TextFrame} object of this `Shape`. Throws an `InvalidArgument` exception if the shape doesn't support a `TextFrame`. * * @remarks * [Api set: PowerPointApi 1.4] */ - readonly bulletFormat: PowerPoint.BulletFormat; + readonly textFrame: PowerPoint.TextFrame; /** - * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. + * Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. * * @remarks * [Api set: PowerPointApi 1.4] */ - horizontalAlignment: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; + height: number; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Gets the unique ID of the shape. * - * @param options Provides options for which properties of the object to load. + * @remarks + * [Api set: PowerPointApi 1.3] */ - load(options?: PowerPoint.Interfaces.ParagraphFormatLoadOptions): PowerPoint.ParagraphFormat; + readonly id: string; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * The distance, in points, from the left side of the shape to the left side of the slide. * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * @remarks + * [Api set: PowerPointApi 1.4] */ - load(propertyNames?: string | string[]): PowerPoint.ParagraphFormat; + left: number; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Returns the level of the specified shape. + + - A level of 0 means the shape isn't part of a group. + + - A level of 1 means the shape is part of a top-level group. + + - A level greater than 1 indicates the shape is a nested group. * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * @remarks + * [Api set: PowerPointApi 1.8] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.ParagraphFormat; + readonly level: number; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.ParagraphFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ParagraphFormatData`) that contains shallow copies of any loaded child properties from the original object. + * Specifies the name of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] */ - toJSON(): PowerPoint.Interfaces.ParagraphFormatData; - } - /** - * Contains the text that is attached to a shape, in addition to properties and methods for manipulating the text. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - class TextRange extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + name: string; /** - * Returns a `ShapeFont` object that represents the font attributes for the text range. + * The distance, in points, from the top edge of the shape to the top edge of the slide. * * @remarks * [Api set: PowerPointApi 1.4] */ - readonly font: PowerPoint.ShapeFont; + top: number; /** - * Represents the paragraph format of the text range. See {@link PowerPoint.ParagraphFormat} for details. + * Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - readonly paragraphFormat: PowerPoint.ParagraphFormat; + readonly type: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox"; /** - * Gets or sets the length of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. + * Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.4] */ - length: number; + width: number; /** - * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. + * Returns the z-order position of the shape, with 0 representing the bottom of the order stack. Every shape on a slide has a unique z-order, but + each slide also has a unique z-order stack, so two shapes on separate slides could have the same z-order number. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + readonly zOrderPosition: number; + /** + * Deletes the shape from the shape collection. Does nothing if the shape doesn't exist. + * + * @remarks + * [Api set: PowerPointApi 1.3] + */ + delete(): void; + /** + * Returns the parent {@link PowerPoint.Slide} object that holds this `Shape`. Throws an exception if this shape doesn't belong to a `Slide`. * * @remarks * [Api set: PowerPointApi 1.5] */ - start: number; + getParentSlide(): PowerPoint.Slide; /** - * Represents the plain text content of the text range. + * Returns the parent {@link PowerPoint.SlideLayout} object that holds this `Shape`. Throws an exception if this shape doesn't belong to a `SlideLayout`. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - text: string; + getParentSlideLayout(): PowerPoint.SlideLayout; /** - * Returns the parent {@link PowerPoint.TextFrame} object that holds this `TextRange`. + * Returns the parent {@link PowerPoint.SlideLayout} object that holds this `Shape`. If this shape doesn't belong to a `SlideLayout`, an object with an `isNullObject` property set to `true` is returned. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks * [Api set: PowerPointApi 1.5] */ - getParentTextFrame(): PowerPoint.TextFrame; + getParentSlideLayoutOrNullObject(): PowerPoint.SlideLayout; /** - * Returns a `TextRange` object for the substring in the given range. + * Returns the parent {@link PowerPoint.SlideMaster} object that holds this `Shape`. Throws an exception if this shape doesn't belong to a `SlideMaster`. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] + */ + getParentSlideMaster(): PowerPoint.SlideMaster; + /** + * Returns the parent {@link PowerPoint.SlideMaster} object that holds this `Shape`. If this shape doesn't belong to a `SlideMaster`, an object with an `isNullObject` property set to `true` is returned. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * - * @param start The zero-based index of the first character to get from the text range. - * @param length Optional. The number of characters to be returned in the new text range. If length is omitted, all the characters from start to the end of the text range's last paragraph will be returned. + * @remarks + * [Api set: PowerPointApi 1.5] */ - getSubstring(start: number, length?: number): PowerPoint.TextRange; + getParentSlideMasterOrNullObject(): PowerPoint.SlideMaster; /** - * Selects this `TextRange` in the current view. + * Returns the parent {@link PowerPoint.Slide} object that holds this `Shape`. If this shape doesn't belong to a `Slide`, an object with an `isNullObject` property set to `true` is returned. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks * [Api set: PowerPointApi 1.5] */ - setSelected(): void; + getParentSlideOrNullObject(): PowerPoint.Slide; + /** + * Returns the `Table` object if this shape is a table. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + getTable(): PowerPoint.Table; + /** + * Moves the specified shape up or down the collection's z-order, which shifts it in front of or behind other shapes. + * + * @remarks + * [Api set: PowerPointApi 1.8] + * + * @param position Specifies how to move the shape within the z-order stack. Uses the `ShapeZOrder` enum. + */ + setZOrder(position: PowerPoint.ShapeZOrder): void; + /** + * Moves the specified shape up or down the collection's z-order, which shifts it in front of or behind other shapes. + * + * @remarks + * [Api set: PowerPointApi 1.8] + * + * @param position Specifies how to move the shape within the z-order stack. Uses the `ShapeZOrder` enum. + */ + setZOrder(position: "BringForward" | "BringToFront" | "SendBackward" | "SendToBack"): void; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TextRangeLoadOptions): PowerPoint.TextRange; + load(options?: PowerPoint.Interfaces.ShapeLoadOptions): PowerPoint.Shape; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TextRange; + load(propertyNames?: string | string[]): PowerPoint.Shape; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -133315,382 +133798,477 @@ declare namespace PowerPoint { load(propertyNamesAndPaths?: { select?: string; expand?: string; - }): PowerPoint.TextRange; + }): PowerPoint.Shape; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TextRange` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextRangeData`) that contains shallow copies of any loaded child properties from the original object. + * Whereas the original `PowerPoint.Shape` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.TextRangeData; + toJSON(): PowerPoint.Interfaces.ShapeData; } /** - * Represents the text frame of a shape object. + * Represents an Office.js binding that is defined in the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - class TextFrame extends OfficeExtension.ClientObject { + class Binding extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Represents the text that is attached to a shape in the text frame, and properties and methods for manipulating the text. See {@link PowerPoint.TextRange} for details. + * Represents the binding identifier. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - readonly textRange: PowerPoint.TextRange; + readonly id: string; /** - * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. + * Returns the type of the binding. See `BindingType` for details. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - autoSizeSetting: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; + readonly type: PowerPoint.BindingType | "Shape"; /** - * Represents the bottom margin, in points, of the text frame. + * Deletes the binding. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - bottomMargin: number; + delete(): void; /** - * Specifies if the text frame contains text. + * Returns the shape represented by the binding. Will throw an error if the binding isn't of the correct type. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - readonly hasText: boolean; + getShape(): PowerPoint.Shape; /** - * Represents the left margin, in points, of the text frame. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.BindingLoadOptions): PowerPoint.Binding; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.Binding; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.Binding; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Binding` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BindingData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.BindingData; + } + /** + * Represents the collection of all the binding objects that are part of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + class BindingCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.Binding[]; + /** + * Adds a new binding to a particular Shape. If the provided ID is already being used by a binding, the existing binding will be overwritten. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] + * + * @param shape Shape to which the binding is added. + * @param bindingType Type of binding. See `BindingType`. + * @param id ID of the binding. */ - leftMargin: number; + add(shape: PowerPoint.Shape, bindingType: PowerPoint.BindingType, id: string): PowerPoint.Binding; /** - * Represents the right margin, in points, of the text frame. + * Adds a new binding to a particular Shape. If the provided ID is already being used by a binding, the existing binding will be overwritten. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] + * + * @param shape Shape to which the binding is added. + * @param bindingType Type of binding. See `BindingType`. + * @param id ID of the binding. */ - rightMargin: number; + add(shape: PowerPoint.Shape, bindingType: "Shape", id: string): PowerPoint.Binding; /** - * Represents the top margin, in points, of the text frame. + * Adds a new binding based on the current selection. + If the selection has multiple areas, the `InvalidReference` error will be returned. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] + * + * @param bindingType Type of binding. See `BindingType`. + * @param id ID of the binding. */ - topMargin: number; + addFromSelection(bindingType: PowerPoint.BindingType, id: string): PowerPoint.Binding; /** - * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. + * Adds a new binding based on the current selection. + If the selection has multiple areas, the `InvalidReference` error will be returned. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] + * + * @param bindingType Type of binding. See `BindingType`. + * @param id ID of the binding. */ - verticalAlignment: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; + addFromSelection(bindingType: "Shape", id: string): PowerPoint.Binding; /** - * Determines whether lines break automatically to fit text inside the shape. + * Gets the number of bindings in the collection. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - wordWrap: boolean; + getCount(): OfficeExtension.ClientResult; /** - * Deletes all the text in the text frame. + * Gets a binding object by ID. Throws an ItemNotFoundException if there's no binding with that ID. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] + * + * @param key ID of the binding object to be retrieved. */ - deleteText(): void; + getItem(key: string): PowerPoint.Binding; /** - * Returns the parent {@link PowerPoint.Shape} object that holds this `TextFrame`. + * Gets a binding object based on its position in the items array. Throws an InvalidArgumentException if the index less than 0, or greater than or equal to the count of items in the collection. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.8] + * + * @param index Index value of the object to be retrieved. Zero-indexed. */ - getParentShape(): PowerPoint.Shape; + getItemAt(index: number): PowerPoint.Binding; + /** + * Gets a binding object by ID. If the binding object doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. + For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * + * @remarks + * [Api set: PowerPointApi 1.8] + * + * @param id ID of the binding object to be retrieved. + */ + getItemOrNullObject(id: string): PowerPoint.Binding; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.TextFrameLoadOptions): PowerPoint.TextFrame; + load(options?: PowerPoint.Interfaces.BindingCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.BindingCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.TextFrame; + load(propertyNames?: string | string[]): PowerPoint.BindingCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.TextFrame; + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.BindingCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.TextFrame` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextFrameData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.TextFrameData; + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.BindingCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BindingCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.BindingCollectionData; } /** - * Use with `setZOrder` to move the specified shape up or down the collection's z-order, which shifts it in front of or behind other shapes. + * Specifies the document property type for custom properties. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] */ - enum ShapeZOrder { + enum DocumentPropertyType { /** - * Brings the shape forward one spot in the z-order. + * The Boolean document property type. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] */ - bringForward = "BringForward", + boolean = "Boolean", /** - * Brings the shape to the front of the z-order. + * The Date document property type. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] */ - bringToFront = "BringToFront", + date = "Date", /** - * Sends the shape backward one spot in the z-order. + * The Number document property type. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] */ - sendBackward = "SendBackward", + number = "Number", /** - * Sends the shape to the back of the z-order. + * The String document property type. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] */ - sendToBack = "SendToBack", + string = "String", } /** - * Represents a single shape in the slide. + * Represents a custom property. * * @remarks - * [Api set: PowerPointApi 1.3] + * [Api set: PowerPointApi 1.7] */ - class Shape extends OfficeExtension.ClientObject { + class CustomProperty extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Returns a collection of custom XML parts in the shape. + * The string that uniquely identifies the custom property. * * @remarks * [Api set: PowerPointApi 1.7] */ - readonly customXmlParts: PowerPoint.CustomXmlPartCollection; + readonly key: string; /** - * Returns the fill formatting of this shape. + * The type of the value used for the custom property. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - readonly fill: PowerPoint.ShapeFill; + readonly type: PowerPoint.DocumentPropertyType | "Boolean" | "Date" | "Number" | "String"; /** - * Returns the `ShapeGroup` associated with the shape. - If the shape type isn't `group`, then this method returns the `GeneralException` error. + * The value of the custom property. + If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] */ - readonly group: PowerPoint.ShapeGroup; + value: boolean | Date | number | string; /** - * Returns the line formatting of this shape. + * Deletes the custom property. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - readonly lineFormat: PowerPoint.ShapeLineFormat; + delete(): void; /** - * Returns the parent group of this shape. - If the shape isn't part of a group, then this method returns the `GeneralException` error. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @remarks - * [Api set: PowerPointApi 1.8] + * @param options Provides options for which properties of the object to load. */ - readonly parentGroup: PowerPoint.Shape; + load(options?: PowerPoint.Interfaces.CustomPropertyLoadOptions): PowerPoint.CustomProperty; /** - * Returns the properties that apply specifically to this placeholder. - If the shape type isn't `placeholder`, then this method returns the `GeneralException` error. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @remarks - * [Api set: PowerPointApi 1.8] + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - readonly placeholderFormat: PowerPoint.PlaceholderFormat; + load(propertyNames?: string | string[]): PowerPoint.CustomProperty; /** - * Returns a collection of tags in the shape. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @remarks - * [Api set: PowerPointApi 1.3] + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - readonly tags: PowerPoint.TagCollection; + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.CustomProperty; /** - * Returns the {@link PowerPoint.TextFrame} object of this `Shape`. Throws an `InvalidArgument` exception if the shape doesn't support a `TextFrame`. - * - * @remarks - * [Api set: PowerPointApi 1.4] + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.CustomProperty` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomPropertyData`) that contains shallow copies of any loaded child properties from the original object. */ - readonly textFrame: PowerPoint.TextFrame; + toJSON(): PowerPoint.Interfaces.CustomPropertyData; + } + /** + * A collection of custom properties. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + class CustomPropertyCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.CustomProperty[]; /** - * Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * Creates a new `CustomProperty` or updates the property with the given key. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] + * + * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. + * The maximum key length is 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * @param value The value of the `CustomProperty`. + * If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. */ - height: number; + add(key: string, value: boolean | Date | number | string): PowerPoint.CustomProperty; /** - * Gets the unique ID of the shape. + * Deletes all custom properties in this collection. * * @remarks - * [Api set: PowerPointApi 1.3] + * [Api set: PowerPointApi 1.7] */ - readonly id: string; + deleteAll(): void; /** - * The distance, in points, from the left side of the shape to the left side of the slide. + * Gets the number of custom properties in the collection. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] + * @returns The number of custom properties in the collection. */ - left: number; + getCount(): OfficeExtension.ClientResult; /** - * Returns the level of the specified shape. - - - A level of 0 means the shape isn't part of a group. - - - A level of 1 means the shape is part of a top-level group. - - - A level greater than 1 indicates the shape is a nested group. + * Gets a `CustomProperty` by its key. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] + * + * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. + * Keys have a maximum length of 255 characters. If the argument exceeds 255 characters, then this method returns the `InvalidArgument` error. */ - readonly level: number; + getItem(key: string): PowerPoint.CustomProperty; /** - * Specifies the name of this shape. + * Gets a `CustomProperty` by its key. + If the `CustomProperty` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. + For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] + * + * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. + * Keys have a maximum length of 255 characters. If the argument exceeds 255 characters, then this method returns the `InvalidArgument` error. */ - name: string; + getItemOrNullObject(key: string): PowerPoint.CustomProperty; /** - * The distance, in points, from the top edge of the shape to the top edge of the slide. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @remarks - * [Api set: PowerPointApi 1.4] + * @param options Provides options for which properties of the object to load. */ - top: number; + load(options?: PowerPoint.Interfaces.CustomPropertyCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.CustomPropertyCollection; /** - * Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @remarks - * [Api set: PowerPointApi 1.4] + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - readonly type: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox"; + load(propertyNames?: string | string[]): PowerPoint.CustomPropertyCollection; /** - * Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @remarks - * [Api set: PowerPointApi 1.4] + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - width: number; + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.CustomPropertyCollection; /** - * Returns the z-order position of the shape, with 0 representing the bottom of the order stack. Every shape on a slide has a unique z-order, but - each slide also has a unique z-order stack, so two shapes on separate slides could have the same z-order number. + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.CustomPropertyCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomPropertyCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.CustomPropertyCollectionData; + } + /** + * Represents presentation properties. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + class DocumentProperties extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * The collection of custom properties of the presentation. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] */ - readonly zOrderPosition: number; + readonly customProperties: PowerPoint.CustomPropertyCollection; /** - * Deletes the shape from the shape collection. Does nothing if the shape doesn't exist. + * The author of the presentation. * * @remarks - * [Api set: PowerPointApi 1.3] + * [Api set: PowerPointApi 1.7] */ - delete(): void; + author: string; /** - * Returns the parent {@link PowerPoint.Slide} object that holds this `Shape`. Throws an exception if this shape doesn't belong to a `Slide`. + * The category of the presentation. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - getParentSlide(): PowerPoint.Slide; + category: string; /** - * Returns the parent {@link PowerPoint.SlideLayout} object that holds this `Shape`. Throws an exception if this shape doesn't belong to a `SlideLayout`. + * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - getParentSlideLayout(): PowerPoint.SlideLayout; + comments: string; /** - * Returns the parent {@link PowerPoint.SlideLayout} object that holds this `Shape`. If this shape doesn't belong to a `SlideLayout`, an object with an `isNullObject` property set to `true` is returned. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * The company of the presentation. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - getParentSlideLayoutOrNullObject(): PowerPoint.SlideLayout; + company: string; /** - * Returns the parent {@link PowerPoint.SlideMaster} object that holds this `Shape`. Throws an exception if this shape doesn't belong to a `SlideMaster`. + * The creation date of the presentation. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - getParentSlideMaster(): PowerPoint.SlideMaster; + readonly creationDate: Date; /** - * Returns the parent {@link PowerPoint.SlideMaster} object that holds this `Shape`. If this shape doesn't belong to a `SlideMaster`, an object with an `isNullObject` property set to `true` is returned. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * The keywords of the presentation. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - getParentSlideMasterOrNullObject(): PowerPoint.SlideMaster; + keywords: string; /** - * Returns the parent {@link PowerPoint.Slide} object that holds this `Shape`. If this shape doesn't belong to a `Slide`, an object with an `isNullObject` property set to `true` is returned. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * The last author of the presentation. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - getParentSlideOrNullObject(): PowerPoint.Slide; + readonly lastAuthor: string; /** - * Returns the `Table` object if this shape is a table. + * The manager of the presentation. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] */ - getTable(): PowerPoint.Table; + manager: string; /** - * Moves the specified shape up or down the collection's z-order, which shifts it in front of or behind other shapes. + * The revision number of the presentation. * * @remarks - * [Api set: PowerPointApi 1.8] - * - * @param position Specifies how to move the shape within the z-order stack. Uses the `ShapeZOrder` enum. + * [Api set: PowerPointApi 1.7] */ - setZOrder(position: PowerPoint.ShapeZOrder): void; + revisionNumber: number; /** - * Moves the specified shape up or down the collection's z-order, which shifts it in front of or behind other shapes. + * The subject of the presentation. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] + */ + subject: string; + /** + * The title of the presentation. * - * @param position Specifies how to move the shape within the z-order stack. Uses the `ShapeZOrder` enum. + * @remarks + * [Api set: PowerPointApi 1.7] */ - setZOrder(position: "BringForward" | "BringToFront" | "SendBackward" | "SendToBack"): void; + title: string; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.ShapeLoadOptions): PowerPoint.Shape; + load(options?: PowerPoint.Interfaces.DocumentPropertiesLoadOptions): PowerPoint.DocumentProperties; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.Shape; + load(propertyNames?: string | string[]): PowerPoint.DocumentProperties; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -133699,1050 +134277,669 @@ declare namespace PowerPoint { load(propertyNamesAndPaths?: { select?: string; expand?: string; - }): PowerPoint.Shape; + }): PowerPoint.DocumentProperties; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.Shape` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeData`) that contains shallow copies of any loaded child properties from the original object. + * Whereas the original `PowerPoint.DocumentProperties` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.DocumentPropertiesData`) that contains shallow copies of any loaded child properties from the original object. */ - toJSON(): PowerPoint.Interfaces.ShapeData; + toJSON(): PowerPoint.Interfaces.DocumentPropertiesData; } /** - * Represents an Office.js binding that is defined in the presentation. + * Specifies the formatting options for when slides are inserted. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.2] */ - class Binding extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + enum InsertSlideFormatting { /** - * Represents the binding identifier. - * + * Copy the source theme into the target presentation and use that theme. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.2] */ - readonly id: string; + keepSourceFormatting = "KeepSourceFormatting", /** - * Returns the type of the binding. See `BindingType` for details. - * + * Use the existing theme in the target presentation. * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.2] */ - readonly type: PowerPoint.BindingType | "Shape"; + useDestinationTheme = "UseDestinationTheme", + } + /** + * Represents the available options when inserting slides. + * + * @remarks + * [Api set: PowerPointApi 1.2] + */ + interface InsertSlideOptions { /** - * Deletes the binding. + * Specifies which formatting to use during slide insertion. + The default option is to use "KeepSourceFormatting". * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.2] */ - delete(): void; + formatting?: PowerPoint.InsertSlideFormatting | "KeepSourceFormatting" | "UseDestinationTheme"; /** - * Returns the shape represented by the binding. Will throw an error if the binding isn't of the correct type. + * Specifies the slides from the source presentation that will be inserted into the current presentation. These slides are represented by their IDs which can be retrieved from a `Slide` object. + The order of these slides is preserved during the insertion. + If any of the source slides aren't found, or if the IDs are invalid, the operation throws a `SlideNotFound` exception and no slides will be inserted. + All of the source slides will be inserted when `sourceSlideIds` isn't provided (this is the default behavior). * * @remarks - * [Api set: PowerPointApi 1.8] - */ - getShape(): PowerPoint.Shape; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.BindingLoadOptions): PowerPoint.Binding; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * [Api set: PowerPointApi 1.2] */ - load(propertyNames?: string | string[]): PowerPoint.Binding; + sourceSlideIds?: string[]; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Specifies where in the presentation the new slides will be inserted. The new slides will be inserted after the slide with the given slide ID. + If `targetSlideId` isn't provided, the slides will be inserted at the beginning of the presentation. + If `targetSlideId` is invalid or if it's pointing to a non-existing slide, the operation throws a `SlideNotFound` exception and no slides will be inserted. * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * @remarks + * [Api set: PowerPointApi 1.2] */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.Binding; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.Binding` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BindingData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.BindingData; + targetSlideId?: string; } /** - * Represents the collection of all the binding objects that are part of the presentation. + * Represents the collection of slides in the presentation. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.2] */ - class BindingCollection extends OfficeExtension.ClientObject { + class SlideCollection extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.Binding[]; + readonly items: PowerPoint.Slide[]; /** - * Adds a new binding to a particular Shape. If the provided ID is already being used by a binding, the existing binding will be overwritten. + * Adds a new slide at the end of the collection. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.3] * - * @param shape Shape to which the binding is added. - * @param bindingType Type of binding. See `BindingType`. - * @param id ID of the binding. + * @param options The options that define the theme of the new slide. */ - add(shape: PowerPoint.Shape, bindingType: PowerPoint.BindingType, id: string): PowerPoint.Binding; + add(options?: PowerPoint.AddSlideOptions): void; /** - * Adds a new binding to a particular Shape. If the provided ID is already being used by a binding, the existing binding will be overwritten. + * Gets the number of slides in the collection. * * @remarks - * [Api set: PowerPointApi 1.8] - * - * @param shape Shape to which the binding is added. - * @param bindingType Type of binding. See `BindingType`. - * @param id ID of the binding. + * [Api set: PowerPointApi 1.2] + * @returns The number of slides in the collection. */ - add(shape: PowerPoint.Shape, bindingType: "Shape", id: string): PowerPoint.Binding; + getCount(): OfficeExtension.ClientResult; /** - * Adds a new binding based on the current selection. - If the selection has multiple areas, the `InvalidReference` error will be returned. + * Gets a slide using its unique ID. * * @remarks - * [Api set: PowerPointApi 1.8] - * - * @param bindingType Type of binding. See `BindingType`. - * @param id ID of the binding. - */ - addFromSelection(bindingType: PowerPoint.BindingType, id: string): PowerPoint.Binding; - /** - * Adds a new binding based on the current selection. - If the selection has multiple areas, the `InvalidReference` error will be returned. - * - * @remarks - * [Api set: PowerPointApi 1.8] - * - * @param bindingType Type of binding. See `BindingType`. - * @param id ID of the binding. - */ - addFromSelection(bindingType: "Shape", id: string): PowerPoint.Binding; - /** - * Gets the number of bindings in the collection. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - getCount(): OfficeExtension.ClientResult; - /** - * Gets a binding object by ID. Throws an ItemNotFoundException if there's no binding with that ID. - * - * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.2] * - * @param key ID of the binding object to be retrieved. + * @param key The ID of the slide. + * @returns The slide with the unique ID. If such a slide doesn't exist, an error is thrown. */ - getItem(key: string): PowerPoint.Binding; + getItem(key: string): PowerPoint.Slide; /** - * Gets a binding object based on its position in the items array. Throws an InvalidArgumentException if the index less than 0, or greater than or equal to the count of items in the collection. + * Gets a slide using its zero-based index in the collection. Slides are stored in the same order as they + are shown in the presentation. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.2] * - * @param index Index value of the object to be retrieved. Zero-indexed. + * @param index The index of the slide in the collection. + * @returns The slide at the given index. An error is thrown if index is out of range. */ - getItemAt(index: number): PowerPoint.Binding; + getItemAt(index: number): PowerPoint.Slide; /** - * Gets a binding object by ID. If the binding object doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. - For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * Gets a slide using its unique ID. If such a slide doesn't exist, an object with an `isNullObject` property set to true is returned. For further information, see + {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.2] * - * @param id ID of the binding object to be retrieved. + * @param id The ID of the slide. + * @returns The slide with the unique ID. */ - getItemOrNullObject(id: string): PowerPoint.Binding; + getItemOrNullObject(id: string): PowerPoint.Slide; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.BindingCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.BindingCollection; + load(options?: PowerPoint.Interfaces.SlideCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.SlideCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.BindingCollection; + load(propertyNames?: string | string[]): PowerPoint.SlideCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.BindingCollection; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.BindingCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BindingCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ - toJSON(): PowerPoint.Interfaces.BindingCollectionData; - } - /** - * Specifies the document property type for custom properties. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - enum DocumentPropertyType { - /** - * The Boolean document property type. - * @remarks - * [Api set: PowerPointApi 1.7] - */ - boolean = "Boolean", - /** - * The Date document property type. - * @remarks - * [Api set: PowerPointApi 1.7] - */ - date = "Date", - /** - * The Number document property type. - * @remarks - * [Api set: PowerPointApi 1.7] - */ - number = "Number", + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideCollection; /** - * The String document property type. - * @remarks - * [Api set: PowerPointApi 1.7] + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. */ - string = "String", + toJSON(): PowerPoint.Interfaces.SlideCollectionData; } /** - * Represents a custom property. + * Represents a collection of slides in the presentation. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.5] */ - class CustomProperty extends OfficeExtension.ClientObject { + class SlideScopedCollection extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.Slide[]; /** - * The string that uniquely identifies the custom property. + * Gets the number of slides in the collection. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.5] + * @returns The number of slides in the collection. */ - readonly key: string; + getCount(): OfficeExtension.ClientResult; /** - * The type of the value used for the custom property. + * Gets a slide using its unique ID. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.5] + * + * @param key The ID of the slide. + * @returns The slide with the unique ID. If such a slide doesn't exist, an error is thrown. */ - readonly type: PowerPoint.DocumentPropertyType | "Boolean" | "Date" | "Number" | "String"; + getItem(key: string): PowerPoint.Slide; /** - * The value of the custom property. - If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * Gets a slide using its zero-based index in the collection. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.5] + * + * @param index The index of the slide in the collection. + * @returns The slide at the given index. An error is thrown if index is out of range. */ - value: boolean | Date | number | string; + getItemAt(index: number): PowerPoint.Slide; /** - * Deletes the custom property. + * Gets a slide using its unique ID. If such a slide doesn't exist, an object with an `isNullObject` property set to true is returned. For further information, see + {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.5] + * + * @param id The ID of the slide. + * @returns The slide with the unique ID. */ - delete(): void; + getItemOrNullObject(id: string): PowerPoint.Slide; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.CustomPropertyLoadOptions): PowerPoint.CustomProperty; + load(options?: PowerPoint.Interfaces.SlideScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.SlideScopedCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.CustomProperty; + load(propertyNames?: string | string[]): PowerPoint.SlideScopedCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.CustomProperty; + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideScopedCollection; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.CustomProperty` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomPropertyData`) that contains shallow copies of any loaded child properties from the original object. + * Whereas the original `PowerPoint.SlideScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. */ - toJSON(): PowerPoint.Interfaces.CustomPropertyData; + toJSON(): PowerPoint.Interfaces.SlideScopedCollectionData; } /** - * A collection of custom properties. + * Represents the collection of Slide Masters in the presentation. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.3] */ - class CustomPropertyCollection extends OfficeExtension.ClientObject { + class SlideMasterCollection extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.CustomProperty[]; + readonly items: PowerPoint.SlideMaster[]; /** - * Creates a new `CustomProperty` or updates the property with the given key. + * Gets the number of Slide Masters in the collection. * * @remarks - * [Api set: PowerPointApi 1.7] - * - * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. - * The maximum key length is 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. - * @param value The value of the `CustomProperty`. - * If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * [Api set: PowerPointApi 1.3] + * @returns The number of Slide Masters in the collection. */ - add(key: string, value: boolean | Date | number | string): PowerPoint.CustomProperty; + getCount(): OfficeExtension.ClientResult; /** - * Deletes all custom properties in this collection. + * Gets a Slide Master using its unique ID. * * @remarks - * [Api set: PowerPointApi 1.7] - */ - deleteAll(): void; - /** - * Gets the number of custom properties in the collection. + * [Api set: PowerPointApi 1.3] * - * @remarks - * [Api set: PowerPointApi 1.7] - * @returns The number of custom properties in the collection. + * @param key The ID of the Slide Master. + * @returns The Slide Master with the unique ID. If such a Slide Master doesn't exist, an error is thrown. */ - getCount(): OfficeExtension.ClientResult; + getItem(key: string): PowerPoint.SlideMaster; /** - * Gets a `CustomProperty` by its key. + * Gets a Slide Master using its zero-based index in the collection. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.3] * - * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. - * Keys have a maximum length of 255 characters. If the argument exceeds 255 characters, then this method returns the `InvalidArgument` error. + * @param index The index of the Slide Master in the collection. + * @returns The Slide Master at the given index. An error is thrown if index is out of range. */ - getItem(key: string): PowerPoint.CustomProperty; + getItemAt(index: number): PowerPoint.SlideMaster; /** - * Gets a `CustomProperty` by its key. - If the `CustomProperty` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. + * Gets a Slide Master using its unique ID. If such a Slide Master doesn't exist, an object with an `isNullObject` property set to true is returned. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.3] * - * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. - * Keys have a maximum length of 255 characters. If the argument exceeds 255 characters, then this method returns the `InvalidArgument` error. + * @param id The ID of the Slide Master. + * @returns The Slide Master with the unique ID. */ - getItemOrNullObject(key: string): PowerPoint.CustomProperty; + getItemOrNullObject(id: string): PowerPoint.SlideMaster; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.CustomPropertyCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.CustomPropertyCollection; + load(options?: PowerPoint.Interfaces.SlideMasterCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.SlideMasterCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.CustomPropertyCollection; + load(propertyNames?: string | string[]): PowerPoint.SlideMasterCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.CustomPropertyCollection; + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideMasterCollection; /** * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.CustomPropertyCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomPropertyCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + * Whereas the original `PowerPoint.SlideMasterCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideMasterCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. */ - toJSON(): PowerPoint.Interfaces.CustomPropertyCollectionData; + toJSON(): PowerPoint.Interfaces.SlideMasterCollectionData; } - /** - * Represents presentation properties. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - class DocumentProperties extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** - * The collection of custom properties of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - readonly customProperties: PowerPoint.CustomPropertyCollection; - /** - * The author of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - author: string; - /** - * The category of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - category: string; - /** - * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - comments: string; - /** - * The company of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - company: string; - /** - * The creation date of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - readonly creationDate: Date; - /** - * The keywords of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - keywords: string; - /** - * The last author of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - readonly lastAuthor: string; - /** - * The manager of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - manager: string; - /** - * The revision number of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - revisionNumber: number; - /** - * The subject of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - subject: string; - /** - * The title of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - title: string; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.DocumentPropertiesLoadOptions): PowerPoint.DocumentProperties; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): PowerPoint.DocumentProperties; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): PowerPoint.DocumentProperties; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.DocumentProperties` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.DocumentPropertiesData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): PowerPoint.Interfaces.DocumentPropertiesData; - } - /** - * Specifies the formatting options for when slides are inserted. - * - * @remarks - * [Api set: PowerPointApi 1.2] - */ - enum InsertSlideFormatting { - /** - * Copy the source theme into the target presentation and use that theme. - * @remarks - * [Api set: PowerPointApi 1.2] - */ - keepSourceFormatting = "KeepSourceFormatting", - /** - * Use the existing theme in the target presentation. - * @remarks - * [Api set: PowerPointApi 1.2] - */ - useDestinationTheme = "UseDestinationTheme", - } - /** - * Represents the available options when inserting slides. - * - * @remarks - * [Api set: PowerPointApi 1.2] - */ - interface InsertSlideOptions { - /** - * Specifies which formatting to use during slide insertion. - The default option is to use "KeepSourceFormatting". - * - * @remarks - * [Api set: PowerPointApi 1.2] - */ - formatting?: PowerPoint.InsertSlideFormatting | "KeepSourceFormatting" | "UseDestinationTheme"; - /** - * Specifies the slides from the source presentation that will be inserted into the current presentation. These slides are represented by their IDs which can be retrieved from a `Slide` object. - The order of these slides is preserved during the insertion. - If any of the source slides aren't found, or if the IDs are invalid, the operation throws a `SlideNotFound` exception and no slides will be inserted. - All of the source slides will be inserted when `sourceSlideIds` isn't provided (this is the default behavior). - * - * @remarks - * [Api set: PowerPointApi 1.2] - */ - sourceSlideIds?: string[]; - /** - * Specifies where in the presentation the new slides will be inserted. The new slides will be inserted after the slide with the given slide ID. - If `targetSlideId` isn't provided, the slides will be inserted at the beginning of the presentation. - If `targetSlideId` is invalid or if it's pointing to a non-existing slide, the operation throws a `SlideNotFound` exception and no slides will be inserted. - * - * @remarks - * [Api set: PowerPointApi 1.2] - */ - targetSlideId?: string; - } - /** - * Represents the collection of slides in the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.2] - */ - class SlideCollection extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.Slide[]; - /** - * Adds a new slide at the end of the collection. - * - * @remarks - * [Api set: PowerPointApi 1.3] - * - * @param options The options that define the theme of the new slide. - */ - add(options?: PowerPoint.AddSlideOptions): void; - /** - * Gets the number of slides in the collection. - * - * @remarks - * [Api set: PowerPointApi 1.2] - * @returns The number of slides in the collection. - */ - getCount(): OfficeExtension.ClientResult; - /** - * Gets a slide using its unique ID. - * - * @remarks - * [Api set: PowerPointApi 1.2] - * - * @param key The ID of the slide. - * @returns The slide with the unique ID. If such a slide doesn't exist, an error is thrown. - */ - getItem(key: string): PowerPoint.Slide; - /** - * Gets a slide using its zero-based index in the collection. Slides are stored in the same order as they - are shown in the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.2] - * - * @param index The index of the slide in the collection. - * @returns The slide at the given index. An error is thrown if index is out of range. - */ - getItemAt(index: number): PowerPoint.Slide; - /** - * Gets a slide using its unique ID. If such a slide doesn't exist, an object with an `isNullObject` property set to true is returned. For further information, see - {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. - * - * @remarks - * [Api set: PowerPointApi 1.2] - * - * @param id The ID of the slide. - * @returns The slide with the unique ID. - */ - getItemOrNullObject(id: string): PowerPoint.Slide; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.SlideCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.SlideCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): PowerPoint.SlideCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideCollection; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.SlideCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ - toJSON(): PowerPoint.Interfaces.SlideCollectionData; - } - /** - * Represents a collection of slides in the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - class SlideScopedCollection extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.Slide[]; - /** - * Gets the number of slides in the collection. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * @returns The number of slides in the collection. - */ - getCount(): OfficeExtension.ClientResult; - /** - * Gets a slide using its unique ID. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param key The ID of the slide. - * @returns The slide with the unique ID. If such a slide doesn't exist, an error is thrown. - */ - getItem(key: string): PowerPoint.Slide; - /** - * Gets a slide using its zero-based index in the collection. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param index The index of the slide in the collection. - * @returns The slide at the given index. An error is thrown if index is out of range. - */ - getItemAt(index: number): PowerPoint.Slide; - /** - * Gets a slide using its unique ID. If such a slide doesn't exist, an object with an `isNullObject` property set to true is returned. For further information, see - {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param id The ID of the slide. - * @returns The slide with the unique ID. - */ - getItemOrNullObject(id: string): PowerPoint.Slide; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.SlideScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.SlideScopedCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): PowerPoint.SlideScopedCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideScopedCollection; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.SlideScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ - toJSON(): PowerPoint.Interfaces.SlideScopedCollectionData; - } - /** - * Represents the collection of Slide Masters in the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.3] - */ - class SlideMasterCollection extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.SlideMaster[]; - /** - * Gets the number of Slide Masters in the collection. - * - * @remarks - * [Api set: PowerPointApi 1.3] - * @returns The number of Slide Masters in the collection. - */ - getCount(): OfficeExtension.ClientResult; - /** - * Gets a Slide Master using its unique ID. - * - * @remarks - * [Api set: PowerPointApi 1.3] - * - * @param key The ID of the Slide Master. - * @returns The Slide Master with the unique ID. If such a Slide Master doesn't exist, an error is thrown. - */ - getItem(key: string): PowerPoint.SlideMaster; - /** - * Gets a Slide Master using its zero-based index in the collection. - * - * @remarks - * [Api set: PowerPointApi 1.3] - * - * @param index The index of the Slide Master in the collection. - * @returns The Slide Master at the given index. An error is thrown if index is out of range. - */ - getItemAt(index: number): PowerPoint.SlideMaster; - /** - * Gets a Slide Master using its unique ID. If such a Slide Master doesn't exist, an object with an `isNullObject` property set to true is returned. - For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. - * - * @remarks - * [Api set: PowerPointApi 1.3] - * - * @param id The ID of the Slide Master. - * @returns The Slide Master with the unique ID. - */ - getItemOrNullObject(id: string): PowerPoint.SlideMaster; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.SlideMasterCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.SlideMasterCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): PowerPoint.SlideMasterCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideMasterCollection; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `PowerPoint.SlideMasterCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideMasterCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ - toJSON(): PowerPoint.Interfaces.SlideMasterCollectionData; - } - enum ErrorCodes { - generalException = "GeneralException", - } - namespace Interfaces { + enum ErrorCodes { + generalException = "GeneralException", + } + namespace Interfaces { /** * Provides ways to load properties of only a subset of members of a collection. */ interface CollectionLoadOptions { /** - * Specify the number of items in the queried collection to be included in the result. - */ - $top?: number; + * Specify the number of items in the queried collection to be included in the result. + */ + $top?: number; + /** + * Specify the number of items in the collection that are to be skipped and not included in the result. If top is specified, the selection of result will start after skipping the specified number of items. + */ + $skip?: number; + } + /** An interface for updating data on the `CustomXmlPartScopedCollection` object, for use in `customXmlPartScopedCollection.set({ ... })`. */ + interface CustomXmlPartScopedCollectionUpdateData { + items?: PowerPoint.Interfaces.CustomXmlPartData[]; + } + /** An interface for updating data on the `CustomXmlPartCollection` object, for use in `customXmlPartCollection.set({ ... })`. */ + interface CustomXmlPartCollectionUpdateData { + items?: PowerPoint.Interfaces.CustomXmlPartData[]; + } + /** An interface for updating data on the `BulletFormat` object, for use in `bulletFormat.set({ ... })`. */ + interface BulletFormatUpdateData { + /** + * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + visible?: boolean | null; + } + /** An interface for updating data on the `ParagraphFormat` object, for use in `paragraphFormat.set({ ... })`. */ + interface ParagraphFormatUpdateData { + /** + * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; + } + /** An interface for updating data on the `ShapeFont` object, for use in `shapeFont.set({ ... })`. */ + interface ShapeFontUpdateData { + /** + * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: + + - `true`: All the text has the **All Caps** attribute. + + - `false`: None of the text has the **All Caps** attribute. + + - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + allCaps?: boolean | null; + /** + * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: + + - `true`: All the text is bold. + + - `false`: None of the text is bold. + + - `null`: Returned if some, but not all, of the text is bold. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + bold?: boolean | null; /** - * Specify the number of items in the collection that are to be skipped and not included in the result. If top is specified, the selection of result will start after skipping the specified number of items. - */ - $skip?: number; - } - /** An interface for updating data on the `CustomXmlPartScopedCollection` object, for use in `customXmlPartScopedCollection.set({ ... })`. */ - interface CustomXmlPartScopedCollectionUpdateData { - items?: PowerPoint.Interfaces.CustomXmlPartData[]; - } - /** An interface for updating data on the `CustomXmlPartCollection` object, for use in `customXmlPartCollection.set({ ... })`. */ - interface CustomXmlPartCollectionUpdateData { - items?: PowerPoint.Interfaces.CustomXmlPartData[]; - } - /** An interface for updating data on the `Hyperlink` object, for use in `hyperlink.set({ ... })`. */ - interface HyperlinkUpdateData { + * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + color?: string | null; /** - * Specifies the URL target of the hyperlink. + * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Double strikethrough** attribute. + + - `false`: None of the text has the **Double strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. * * @remarks - * [Api set: PowerPointApi 1.6] + * [Api set: PowerPointApi 1.8] */ - address?: string; + doubleStrikethrough?: boolean | null; /** - * Specifies the string displayed when hovering over the hyperlink. + * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: + + - `true`: All the text is italicized. + + - `false`: None of the text is italicized. + + - `null`: Returned if some, but not all, of the text is italicized. * * @remarks - * [Api set: PowerPointApi 1.6] + * [Api set: PowerPointApi 1.4] */ - screenTip?: string; - } - /** An interface for updating data on the `HyperlinkCollection` object, for use in `hyperlinkCollection.set({ ... })`. */ - interface HyperlinkCollectionUpdateData { - items?: PowerPoint.Interfaces.HyperlinkData[]; - } - /** An interface for updating data on the `Border` object, for use in `border.set({ ... })`. */ - interface BorderUpdateData { + italic?: boolean | null; /** - * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). + * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - color?: string | undefined; + name?: string | null; /** - * Represents the dash style of the line. + * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; + size?: number | null; /** - * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). + * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: + + - `true`: All the text has the **Small Caps** attribute. + + - `false`: None of the text has the **Small Caps** attribute. + + - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.8] */ - transparency?: number | undefined; + smallCaps?: boolean | null; /** - * Represents the weight of the line, in points. + * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Strikethrough** attribute. + + - `false`: None of the text has the **Strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.8] */ - weight?: number | undefined; + strikethrough?: boolean | null; + /** + * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Subscript** attribute. + + - `false`: None of the text has the **Subscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + subscript?: boolean | null; + /** + * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Superscript** attribute. + + - `false`: None of the text has the **Superscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + superscript?: boolean | null; + /** + * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; } - /** An interface for updating data on the `Margins` object, for use in `margins.set({ ... })`. */ - interface MarginsUpdateData { + /** An interface for updating data on the `TextFrame` object, for use in `textFrame.set({ ... })`. */ + interface TextFrameUpdateData { /** - * Specifies the bottom margin in points. + * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - bottom?: number | undefined; + autoSizeSetting?: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; /** - * Specifies the left margin in points. + * Represents the bottom margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - left?: number | undefined; + bottomMargin?: number; /** - * Specifies the right margin in points. + * Represents the left margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - right?: number | undefined; + leftMargin?: number; /** - * Specifies the top margin in points. + * Represents the right margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.9] + * [Api set: PowerPointApi 1.4] */ - top?: number | undefined; - } - /** An interface for updating data on the `ShapeFill` object, for use in `shapeFill.set({ ... })`. */ - interface ShapeFillUpdateData { + rightMargin?: number; /** - * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). + * Represents the top margin, in points, of the text frame. * * @remarks * [Api set: PowerPointApi 1.4] */ - foregroundColor?: string; + topMargin?: number; /** - * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. + * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - transparency?: number; + verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; + /** + * Determines whether lines break automatically to fit text inside the shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + wordWrap?: boolean; } - /** An interface for updating data on the `ShapeFont` object, for use in `shapeFont.set({ ... })`. */ - interface ShapeFontUpdateData { + /** An interface for updating data on the `TextRange` object, for use in `textRange.set({ ... })`. */ + interface TextRangeUpdateData { /** - * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: - - - `true`: All the text has the **All Caps** attribute. - - - `false`: None of the text has the **All Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. + * Gets or sets the length of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.5] */ - allCaps?: boolean | null; + length?: number; /** - * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: - - - `true`: All the text is bold. - - - `false`: None of the text is bold. - - - `null`: Returned if some, but not all, of the text is bold. + * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - bold?: boolean | null; + start?: number; /** - * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. + * Represents the plain text content of the text range. * * @remarks * [Api set: PowerPointApi 1.4] */ - color?: string | null; + text?: string; + } + /** An interface for updating data on the `Hyperlink` object, for use in `hyperlink.set({ ... })`. */ + interface HyperlinkUpdateData { /** - * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Double strikethrough** attribute. - - - `false`: None of the text has the **Double strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. + * Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. + * + * @remarks + * [Api set: PowerPointApi 1.6] + */ + address?: string; + /** + * Specifies the string displayed when hovering over the hyperlink. + * + * @remarks + * [Api set: PowerPointApi 1.6] + */ + screenTip?: string; + } + /** An interface for updating data on the `HyperlinkCollection` object, for use in `hyperlinkCollection.set({ ... })`. */ + interface HyperlinkCollectionUpdateData { + items?: PowerPoint.Interfaces.HyperlinkData[]; + } + /** An interface for updating data on the `Border` object, for use in `border.set({ ... })`. */ + interface BorderUpdateData { + /** + * Represents the line color in the hexadecimal format #RRGGBB (e.g., "FFA500") or as a named HTML color value (e.g., "orange"). * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - doubleStrikethrough?: boolean | null; + color?: string | undefined; /** - * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: - - - `true`: All the text is italicized. - - - `false`: None of the text is italicized. - - - `null`: Returned if some, but not all, of the text is italicized. + * Represents the dash style of the line. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.9] */ - italic?: boolean | null; + dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot" | undefined; /** - * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. + * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.9] */ - name?: string | null; + transparency?: number | undefined; /** - * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. + * Represents the weight of the line, in points. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.9] */ - size?: number | null; + weight?: number | undefined; + } + /** An interface for updating data on the `Margins` object, for use in `margins.set({ ... })`. */ + interface MarginsUpdateData { /** - * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: - - - `true`: All the text has the **Small Caps** attribute. - - - `false`: None of the text has the **Small Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. + * Specifies the bottom margin in points. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - smallCaps?: boolean | null; + bottom?: number | undefined; /** - * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Strikethrough** attribute. - - - `false`: None of the text has the **Strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. + * Specifies the left margin in points. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - strikethrough?: boolean | null; + left?: number | undefined; /** - * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Subscript** attribute. - - - `false`: None of the text has the **Subscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. + * Specifies the right margin in points. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - subscript?: boolean | null; + right?: number | undefined; /** - * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Superscript** attribute. - - - `false`: None of the text has the **Superscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. + * Specifies the top margin in points. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.9] */ - superscript?: boolean | null; + top?: number | undefined; + } + /** An interface for updating data on the `ShapeFill` object, for use in `shapeFill.set({ ... })`. */ + interface ShapeFillUpdateData { /** - * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. + * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). * * @remarks * [Api set: PowerPointApi 1.4] */ - underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; + foregroundColor?: string; + /** + * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + transparency?: number; } /** An interface for updating data on the `TableCell` object, for use in `tableCell.set({ ... })`. */ interface TableCellUpdateData { /** - * Specifies the horizontal alignment of the table cell. Returns `null` if the cell text contains different alignments. + * Specifies the horizontal alignment of the text in the table cell. Returns `null` if the cell text contains different alignments. * * @remarks * [Api set: PowerPointApi 1.9] */ horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; /** - * Specifies the indent level of the table cell. Returns `null` if the cell text contains different indent levels. + * Specifies the indent level of the text in the table cell. Returns `null` if the cell text contains different indent levels. * * @remarks * [Api set: PowerPointApi 1.9] @@ -134803,6 +135000,58 @@ declare namespace PowerPoint { interface TableRowCollectionUpdateData { items?: PowerPoint.Interfaces.TableRowData[]; } + /** An interface for updating data on the `TableStyleSettings` object, for use in `tableStyleSettings.set({ ... })`. */ + interface TableStyleSettingsUpdateData { + /** + * Specifies if the columns show banded formatting in which odd columns are highlighted differently from even ones, to make reading the table easier. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + areColumnsBanded?: boolean; + /** + * Specifies if the rows show banded formatting in which odd rows are highlighted differently from even ones, to make reading the table easier. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + areRowsBanded?: boolean; + /** + * Specifies if the first column contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isFirstColumnHighlighted?: boolean; + /** + * Specifies if the first row contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isFirstRowHighlighted?: boolean; + /** + * Specifies if the last column contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isLastColumnHighlighted?: boolean; + /** + * Specifies if the last row contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isLastRowHighlighted?: boolean; + /** + * Specifies the table style. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + style?: PowerPoint.TableStyle | "NoStyleNoGrid" | "ThemedStyle1Accent1" | "ThemedStyle1Accent2" | "ThemedStyle1Accent3" | "ThemedStyle1Accent4" | "ThemedStyle1Accent5" | "ThemedStyle1Accent6" | "NoStyleTableGrid" | "ThemedStyle2Accent1" | "ThemedStyle2Accent2" | "ThemedStyle2Accent3" | "ThemedStyle2Accent4" | "ThemedStyle2Accent5" | "ThemedStyle2Accent6" | "LightStyle1" | "LightStyle1Accent1" | "LightStyle1Accent2" | "LightStyle1Accent3" | "LightStyle1Accent4" | "LightStyle1Accent5" | "LightStyle1Accent6" | "LightStyle2" | "LightStyle2Accent1" | "LightStyle2Accent2" | "LightStyle2Accent3" | "LightStyle2Accent4" | "LightStyle2Accent5" | "LightStyle2Accent6" | "LightStyle3" | "LightStyle3Accent1" | "LightStyle3Accent2" | "LightStyle3Accent3" | "LightStyle3Accent4" | "LightStyle3Accent5" | "LightStyle3Accent6" | "MediumStyle1" | "MediumStyle1Accent1" | "MediumStyle1Accent2" | "MediumStyle1Accent3" | "MediumStyle1Accent4" | "MediumStyle1Accent5" | "MediumStyle1Accent6" | "MediumStyle2" | "MediumStyle2Accent1" | "MediumStyle2Accent2" | "MediumStyle2Accent3" | "MediumStyle2Accent4" | "MediumStyle2Accent5" | "MediumStyle2Accent6" | "MediumStyle3" | "MediumStyle3Accent1" | "MediumStyle3Accent2" | "MediumStyle3Accent3" | "MediumStyle3Accent4" | "MediumStyle3Accent5" | "MediumStyle3Accent6" | "MediumStyle4" | "MediumStyle4Accent1" | "MediumStyle4Accent2" | "MediumStyle4Accent3" | "MediumStyle4Accent4" | "MediumStyle4Accent5" | "MediumStyle4Accent6" | "DarkStyle1" | "DarkStyle1Accent1" | "DarkStyle1Accent2" | "DarkStyle1Accent3" | "DarkStyle1Accent4" | "DarkStyle1Accent5" | "DarkStyle1Accent6" | "DarkStyle2" | "DarkStyle2Accent1" | "DarkStyle2Accent2" | "DarkStyle2Accent3"; + } /** An interface for updating data on the `ShapeCollection` object, for use in `shapeCollection.set({ ... })`. */ interface ShapeCollectionUpdateData { items?: PowerPoint.Interfaces.ShapeData[]; @@ -134814,334 +135063,493 @@ declare namespace PowerPoint { /** An interface for updating data on the `Tag` object, for use in `tag.set({ ... })`. */ interface TagUpdateData { /** - * Gets the value of the tag. + * Gets the value of the tag. + * + * @remarks + * [Api set: PowerPointApi 1.3] + */ + value?: string; + } + /** An interface for updating data on the `TagCollection` object, for use in `tagCollection.set({ ... })`. */ + interface TagCollectionUpdateData { + items?: PowerPoint.Interfaces.TagData[]; + } + /** An interface for updating data on the `ShapeScopedCollection` object, for use in `shapeScopedCollection.set({ ... })`. */ + interface ShapeScopedCollectionUpdateData { + items?: PowerPoint.Interfaces.ShapeData[]; + } + /** An interface for updating data on the `ShapeLineFormat` object, for use in `shapeLineFormat.set({ ... })`. */ + interface ShapeLineFormatUpdateData { + /** + * Represents the line color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + color?: string; + /** + * Represents the dash style of the line. Returns null when the line isn't visible or there are inconsistent dash styles. See {@link PowerPoint.ShapeLineDashStyle} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot"; + /** + * Represents the line style of the shape. Returns null when the line isn't visible or there are inconsistent styles. See {@link PowerPoint.ShapeLineStyle} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + style?: PowerPoint.ShapeLineStyle | "Single" | "ThickBetweenThin" | "ThickThin" | "ThinThick" | "ThinThin"; + /** + * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). Returns null when the shape has inconsistent transparencies. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + transparency?: number; + /** + * Specifies if the line formatting of a shape element is visible. Returns `null` when the shape has inconsistent visibilities. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + visible?: boolean; + /** + * Represents the weight of the line, in points. Returns `null` when the line isn't visible or there are inconsistent line weights. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + weight?: number; + } + /** An interface for updating data on the `Shape` object, for use in `shape.set({ ... })`. */ + interface ShapeUpdateData { + /** + * Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + height?: number; + /** + * The distance, in points, from the left side of the shape to the left side of the slide. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + left?: number; + /** + * Specifies the name of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + name?: string; + /** + * The distance, in points, from the top edge of the shape to the top edge of the slide. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + top?: number; + /** + * Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + width?: number; + } + /** An interface for updating data on the `BindingCollection` object, for use in `bindingCollection.set({ ... })`. */ + interface BindingCollectionUpdateData { + items?: PowerPoint.Interfaces.BindingData[]; + } + /** An interface for updating data on the `CustomProperty` object, for use in `customProperty.set({ ... })`. */ + interface CustomPropertyUpdateData { + /** + * The value of the custom property. + If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + value?: boolean | Date | number | string; + } + /** An interface for updating data on the `CustomPropertyCollection` object, for use in `customPropertyCollection.set({ ... })`. */ + interface CustomPropertyCollectionUpdateData { + items?: PowerPoint.Interfaces.CustomPropertyData[]; + } + /** An interface for updating data on the `DocumentProperties` object, for use in `documentProperties.set({ ... })`. */ + interface DocumentPropertiesUpdateData { + /** + * The author of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + author?: string; + /** + * The category of the presentation. * * @remarks - * [Api set: PowerPointApi 1.3] + * [Api set: PowerPointApi 1.7] */ - value?: string; - } - /** An interface for updating data on the `TagCollection` object, for use in `tagCollection.set({ ... })`. */ - interface TagCollectionUpdateData { - items?: PowerPoint.Interfaces.TagData[]; - } - /** An interface for updating data on the `ShapeScopedCollection` object, for use in `shapeScopedCollection.set({ ... })`. */ - interface ShapeScopedCollectionUpdateData { - items?: PowerPoint.Interfaces.ShapeData[]; - } - /** An interface for updating data on the `ShapeLineFormat` object, for use in `shapeLineFormat.set({ ... })`. */ - interface ShapeLineFormatUpdateData { + category?: string; /** - * Represents the line color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). + * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - color?: string; + comments?: string; /** - * Represents the dash style of the line. Returns null when the line isn't visible or there are inconsistent dash styles. See {@link PowerPoint.ShapeLineDashStyle} for details. + * The company of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot"; + company?: string; /** - * Represents the line style of the shape. Returns null when the line isn't visible or there are inconsistent styles. See {@link PowerPoint.ShapeLineStyle} for details. + * The keywords of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - style?: PowerPoint.ShapeLineStyle | "Single" | "ThickBetweenThin" | "ThickThin" | "ThinThick" | "ThinThin"; + keywords?: string; /** - * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). Returns null when the shape has inconsistent transparencies. + * The manager of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - transparency?: number; + manager?: string; /** - * Specifies if the line formatting of a shape element is visible. Returns `null` when the shape has inconsistent visibilities. + * The revision number of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - visible?: boolean; + revisionNumber?: number; /** - * Represents the weight of the line, in points. Returns `null` when the line isn't visible or there are inconsistent line weights. + * The subject of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - weight?: number; - } - /** An interface for updating data on the `BulletFormat` object, for use in `bulletFormat.set({ ... })`. */ - interface BulletFormatUpdateData { + subject?: string; /** - * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. + * The title of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - visible?: boolean | null; + title?: string; } - /** An interface for updating data on the `ParagraphFormat` object, for use in `paragraphFormat.set({ ... })`. */ - interface ParagraphFormatUpdateData { + /** An interface for updating data on the `SlideCollection` object, for use in `slideCollection.set({ ... })`. */ + interface SlideCollectionUpdateData { + items?: PowerPoint.Interfaces.SlideData[]; + } + /** An interface for updating data on the `SlideScopedCollection` object, for use in `slideScopedCollection.set({ ... })`. */ + interface SlideScopedCollectionUpdateData { + items?: PowerPoint.Interfaces.SlideData[]; + } + /** An interface for updating data on the `SlideMasterCollection` object, for use in `slideMasterCollection.set({ ... })`. */ + interface SlideMasterCollectionUpdateData { + items?: PowerPoint.Interfaces.SlideMasterData[]; + } + /** An interface describing the data returned by calling `presentation.toJSON()`. */ + interface PresentationData { /** - * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. + * Gets the ID of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; + id?: string; + title?: string; } - /** An interface for updating data on the `TextRange` object, for use in `textRange.set({ ... })`. */ - interface TextRangeUpdateData { + /** An interface describing the data returned by calling `customXmlPart.toJSON()`. */ + interface CustomXmlPartData { /** - * Gets or sets the length of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. + * The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - length?: number; + id?: string; /** - * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. + * The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - start?: number; + namespaceUri?: string; + } + /** An interface describing the data returned by calling `customXmlPartScopedCollection.toJSON()`. */ + interface CustomXmlPartScopedCollectionData { + items?: PowerPoint.Interfaces.CustomXmlPartData[]; + } + /** An interface describing the data returned by calling `customXmlPartCollection.toJSON()`. */ + interface CustomXmlPartCollectionData { + items?: PowerPoint.Interfaces.CustomXmlPartData[]; + } + /** An interface describing the data returned by calling `bulletFormat.toJSON()`. */ + interface BulletFormatData { /** - * Represents the plain text content of the text range. + * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. * * @remarks * [Api set: PowerPointApi 1.4] */ - text?: string; + visible?: boolean | null; } - /** An interface for updating data on the `TextFrame` object, for use in `textFrame.set({ ... })`. */ - interface TextFrameUpdateData { + /** An interface describing the data returned by calling `paragraphFormat.toJSON()`. */ + interface ParagraphFormatData { /** - * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. + * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - autoSizeSetting?: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; + horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; + } + /** An interface describing the data returned by calling `shapeFont.toJSON()`. */ + interface ShapeFontData { /** - * Represents the bottom margin, in points, of the text frame. + * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: + + - `true`: All the text has the **All Caps** attribute. + + - `false`: None of the text has the **All Caps** attribute. + + - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - bottomMargin?: number; + allCaps?: boolean | null; /** - * Represents the left margin, in points, of the text frame. + * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: + + - `true`: All the text is bold. + + - `false`: None of the text is bold. + + - `null`: Returned if some, but not all, of the text is bold. * * @remarks * [Api set: PowerPointApi 1.4] */ - leftMargin?: number; + bold?: boolean | null; /** - * Represents the right margin, in points, of the text frame. + * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. * * @remarks * [Api set: PowerPointApi 1.4] */ - rightMargin?: number; + color?: string | null; /** - * Represents the top margin, in points, of the text frame. + * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Double strikethrough** attribute. + + - `false`: None of the text has the **Double strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - topMargin?: number; + doubleStrikethrough?: boolean | null; /** - * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. + * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: + + - `true`: All the text is italicized. + + - `false`: None of the text is italicized. + + - `null`: Returned if some, but not all, of the text is italicized. * * @remarks * [Api set: PowerPointApi 1.4] */ - verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; + italic?: boolean | null; /** - * Determines whether lines break automatically to fit text inside the shape. + * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. * * @remarks * [Api set: PowerPointApi 1.4] */ - wordWrap?: boolean; - } - /** An interface for updating data on the `Shape` object, for use in `shape.set({ ... })`. */ - interface ShapeUpdateData { + name?: string | null; /** - * Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. * * @remarks * [Api set: PowerPointApi 1.4] */ - height?: number; + size?: number | null; /** - * The distance, in points, from the left side of the shape to the left side of the slide. + * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: + + - `true`: All the text has the **Small Caps** attribute. + + - `false`: None of the text has the **Small Caps** attribute. + + - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - left?: number; + smallCaps?: boolean | null; /** - * Specifies the name of this shape. + * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Strikethrough** attribute. + + - `false`: None of the text has the **Strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - name?: string; + strikethrough?: boolean | null; /** - * The distance, in points, from the top edge of the shape to the top edge of the slide. + * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Subscript** attribute. + + - `false`: None of the text has the **Subscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - top?: number; + subscript?: boolean | null; /** - * Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Superscript** attribute. + + - `false`: None of the text has the **Superscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + superscript?: boolean | null; + /** + * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - width?: number; - } - /** An interface for updating data on the `BindingCollection` object, for use in `bindingCollection.set({ ... })`. */ - interface BindingCollectionUpdateData { - items?: PowerPoint.Interfaces.BindingData[]; + underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; } - /** An interface for updating data on the `CustomProperty` object, for use in `customProperty.set({ ... })`. */ - interface CustomPropertyUpdateData { + /** An interface describing the data returned by calling `textFrame.toJSON()`. */ + interface TextFrameData { /** - * The value of the custom property. - If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - value?: boolean | Date | number | string; - } - /** An interface for updating data on the `CustomPropertyCollection` object, for use in `customPropertyCollection.set({ ... })`. */ - interface CustomPropertyCollectionUpdateData { - items?: PowerPoint.Interfaces.CustomPropertyData[]; - } - /** An interface for updating data on the `DocumentProperties` object, for use in `documentProperties.set({ ... })`. */ - interface DocumentPropertiesUpdateData { + autoSizeSetting?: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; /** - * The author of the presentation. + * Represents the bottom margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - author?: string; + bottomMargin?: number; /** - * The category of the presentation. + * Specifies if the text frame contains text. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - category?: string; + hasText?: boolean; /** - * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. + * Represents the left margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - comments?: string; + leftMargin?: number; /** - * The company of the presentation. + * Represents the right margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - company?: string; + rightMargin?: number; /** - * The keywords of the presentation. + * Represents the top margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - keywords?: string; + topMargin?: number; /** - * The manager of the presentation. + * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - manager?: string; + verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; /** - * The revision number of the presentation. + * Determines whether lines break automatically to fit text inside the shape. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - revisionNumber?: number; + wordWrap?: boolean; + } + /** An interface describing the data returned by calling `textRange.toJSON()`. */ + interface TextRangeData { /** - * The subject of the presentation. + * Gets or sets the length of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.5] */ - subject?: string; + length?: number; /** - * The title of the presentation. + * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.5] */ - title?: string; - } - /** An interface for updating data on the `SlideCollection` object, for use in `slideCollection.set({ ... })`. */ - interface SlideCollectionUpdateData { - items?: PowerPoint.Interfaces.SlideData[]; - } - /** An interface for updating data on the `SlideScopedCollection` object, for use in `slideScopedCollection.set({ ... })`. */ - interface SlideScopedCollectionUpdateData { - items?: PowerPoint.Interfaces.SlideData[]; - } - /** An interface for updating data on the `SlideMasterCollection` object, for use in `slideMasterCollection.set({ ... })`. */ - interface SlideMasterCollectionUpdateData { - items?: PowerPoint.Interfaces.SlideMasterData[]; - } - /** An interface describing the data returned by calling `presentation.toJSON()`. */ - interface PresentationData { + start?: number; /** - * Gets the ID of the presentation. + * Represents the plain text content of the text range. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.4] */ - id?: string; - title?: string; + text?: string; } - /** An interface describing the data returned by calling `customXmlPart.toJSON()`. */ - interface CustomXmlPartData { + /** An interface describing the data returned by calling `hyperlink.toJSON()`. */ + interface HyperlinkData { /** - * The ID of the custom XML part. + * Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.6] */ - id?: string; + address?: string; /** - * The namespace URI of the custom XML part. + * Specifies the string displayed when hovering over the hyperlink. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.6] */ - namespaceUri?: string; - } - /** An interface describing the data returned by calling `customXmlPartScopedCollection.toJSON()`. */ - interface CustomXmlPartScopedCollectionData { - items?: PowerPoint.Interfaces.CustomXmlPartData[]; - } - /** An interface describing the data returned by calling `customXmlPartCollection.toJSON()`. */ - interface CustomXmlPartCollectionData { - items?: PowerPoint.Interfaces.CustomXmlPartData[]; + screenTip?: string; } /** An interface describing the data returned by calling `placeholderFormat.toJSON()`. */ interface PlaceholderFormatData { @@ -135161,23 +135569,6 @@ declare namespace PowerPoint { */ type?: PowerPoint.PlaceholderType | "Unsupported" | "Date" | "SlideNumber" | "Footer" | "Header" | "Title" | "Body" | "CenterTitle" | "Subtitle" | "VerticalTitle" | "VerticalBody" | "Content" | "Chart" | "Table" | "OnlinePicture" | "SmartArt" | "Media" | "VerticalContent" | "Picture" | "Cameo"; } - /** An interface describing the data returned by calling `hyperlink.toJSON()`. */ - interface HyperlinkData { - /** - * Specifies the URL target of the hyperlink. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - address?: string; - /** - * Specifies the string displayed when hovering over the hyperlink. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - screenTip?: string; - } /** An interface describing the data returned by calling `hyperlinkCollection.toJSON()`. */ interface HyperlinkCollectionData { items?: PowerPoint.Interfaces.HyperlinkData[]; @@ -135247,164 +135638,29 @@ declare namespace PowerPoint { */ top?: number | undefined; } - /** An interface describing the data returned by calling `shapeFill.toJSON()`. */ - interface ShapeFillData { - /** - * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - foregroundColor?: string; - /** - * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - transparency?: number; - /** - * Returns the fill type of the shape. See {@link PowerPoint.ShapeFillType} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - type?: PowerPoint.ShapeFillType | "NoFill" | "Solid" | "Gradient" | "Pattern" | "PictureAndTexture" | "SlideBackground"; - } - /** An interface describing the data returned by calling `shapeFont.toJSON()`. */ - interface ShapeFontData { - /** - * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: - - - `true`: All the text has the **All Caps** attribute. - - - `false`: None of the text has the **All Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - allCaps?: boolean | null; - /** - * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: - - - `true`: All the text is bold. - - - `false`: None of the text is bold. - - - `null`: Returned if some, but not all, of the text is bold. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - bold?: boolean | null; - /** - * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - color?: string | null; - /** - * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Double strikethrough** attribute. - - - `false`: None of the text has the **Double strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - doubleStrikethrough?: boolean | null; - /** - * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: - - - `true`: All the text is italicized. - - - `false`: None of the text is italicized. - - - `null`: Returned if some, but not all, of the text is italicized. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - italic?: boolean | null; - /** - * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - name?: string | null; - /** - * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - size?: number | null; - /** - * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: - - - `true`: All the text has the **Small Caps** attribute. - - - `false`: None of the text has the **Small Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - smallCaps?: boolean | null; - /** - * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Strikethrough** attribute. - - - `false`: None of the text has the **Strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - strikethrough?: boolean | null; + /** An interface describing the data returned by calling `shapeFill.toJSON()`. */ + interface ShapeFillData { /** - * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Subscript** attribute. - - - `false`: None of the text has the **Subscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. + * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - subscript?: boolean | null; + foregroundColor?: string; /** - * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Superscript** attribute. - - - `false`: None of the text has the **Superscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. + * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - superscript?: boolean | null; + transparency?: number; /** - * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. + * Returns the fill type of the shape. See {@link PowerPoint.ShapeFillType} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - underline?: PowerPoint.ShapeFontUnderlineStyle | "None" | "Single" | "Double" | "Heavy" | "Dotted" | "DottedHeavy" | "Dash" | "DashHeavy" | "DashLong" | "DashLongHeavy" | "DotDash" | "DotDashHeavy" | "DotDotDash" | "DotDotDashHeavy" | "Wavy" | "WavyHeavy" | "WavyDouble" | null; + type?: PowerPoint.ShapeFillType | "NoFill" | "Solid" | "Gradient" | "Pattern" | "PictureAndTexture" | "SlideBackground"; } /** An interface describing the data returned by calling `tableCell.toJSON()`. */ interface TableCellData { @@ -135424,14 +135680,14 @@ declare namespace PowerPoint { */ columnIndex?: number; /** - * Specifies the horizontal alignment of the table cell. Returns `null` if the cell text contains different alignments. + * Specifies the horizontal alignment of the text in the table cell. Returns `null` if the cell text contains different alignments. * * @remarks * [Api set: PowerPointApi 1.9] */ horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; /** - * Specifies the indent level of the table cell. Returns `null` if the cell text contains different indent levels. + * Specifies the indent level of the text in the table cell. Returns `null` if the cell text contains different indent levels. * * @remarks * [Api set: PowerPointApi 1.9] @@ -135528,6 +135784,58 @@ declare namespace PowerPoint { interface TableRowCollectionData { items?: PowerPoint.Interfaces.TableRowData[]; } + /** An interface describing the data returned by calling `tableStyleSettings.toJSON()`. */ + interface TableStyleSettingsData { + /** + * Specifies if the columns show banded formatting in which odd columns are highlighted differently from even ones, to make reading the table easier. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + areColumnsBanded?: boolean; + /** + * Specifies if the rows show banded formatting in which odd rows are highlighted differently from even ones, to make reading the table easier. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + areRowsBanded?: boolean; + /** + * Specifies if the first column contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isFirstColumnHighlighted?: boolean; + /** + * Specifies if the first row contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isFirstRowHighlighted?: boolean; + /** + * Specifies if the last column contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isLastColumnHighlighted?: boolean; + /** + * Specifies if the last row contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isLastRowHighlighted?: boolean; + /** + * Specifies the table style. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + style?: PowerPoint.TableStyle | "NoStyleNoGrid" | "ThemedStyle1Accent1" | "ThemedStyle1Accent2" | "ThemedStyle1Accent3" | "ThemedStyle1Accent4" | "ThemedStyle1Accent5" | "ThemedStyle1Accent6" | "NoStyleTableGrid" | "ThemedStyle2Accent1" | "ThemedStyle2Accent2" | "ThemedStyle2Accent3" | "ThemedStyle2Accent4" | "ThemedStyle2Accent5" | "ThemedStyle2Accent6" | "LightStyle1" | "LightStyle1Accent1" | "LightStyle1Accent2" | "LightStyle1Accent3" | "LightStyle1Accent4" | "LightStyle1Accent5" | "LightStyle1Accent6" | "LightStyle2" | "LightStyle2Accent1" | "LightStyle2Accent2" | "LightStyle2Accent3" | "LightStyle2Accent4" | "LightStyle2Accent5" | "LightStyle2Accent6" | "LightStyle3" | "LightStyle3Accent1" | "LightStyle3Accent2" | "LightStyle3Accent3" | "LightStyle3Accent4" | "LightStyle3Accent5" | "LightStyle3Accent6" | "MediumStyle1" | "MediumStyle1Accent1" | "MediumStyle1Accent2" | "MediumStyle1Accent3" | "MediumStyle1Accent4" | "MediumStyle1Accent5" | "MediumStyle1Accent6" | "MediumStyle2" | "MediumStyle2Accent1" | "MediumStyle2Accent2" | "MediumStyle2Accent3" | "MediumStyle2Accent4" | "MediumStyle2Accent5" | "MediumStyle2Accent6" | "MediumStyle3" | "MediumStyle3Accent1" | "MediumStyle3Accent2" | "MediumStyle3Accent3" | "MediumStyle3Accent4" | "MediumStyle3Accent5" | "MediumStyle3Accent6" | "MediumStyle4" | "MediumStyle4Accent1" | "MediumStyle4Accent2" | "MediumStyle4Accent3" | "MediumStyle4Accent4" | "MediumStyle4Accent5" | "MediumStyle4Accent6" | "DarkStyle1" | "DarkStyle1Accent1" | "DarkStyle1Accent2" | "DarkStyle1Accent3" | "DarkStyle1Accent4" | "DarkStyle1Accent5" | "DarkStyle1Accent6" | "DarkStyle2" | "DarkStyle2Accent1" | "DarkStyle2Accent2" | "DarkStyle2Accent3"; + } /** An interface describing the data returned by calling `table.toJSON()`. */ interface TableData { /** @@ -135590,538 +135898,772 @@ declare namespace PowerPoint { * Gets the unique ID of the Slide Master. * * @remarks - * [Api set: PowerPointApi 1.3] + * [Api set: PowerPointApi 1.3] + */ + id?: string; + /** + * Gets the unique name of the Slide Master. + * + * @remarks + * [Api set: PowerPointApi 1.3] + */ + name?: string; + } + /** An interface describing the data returned by calling `tag.toJSON()`. */ + interface TagData { + /** + * Gets the unique ID of the tag. The `key` is unique within the owning `TagCollection` and always stored as uppercase letters within the document. + * + * @remarks + * [Api set: PowerPointApi 1.3] + */ + key?: string; + /** + * Gets the value of the tag. + * + * @remarks + * [Api set: PowerPointApi 1.3] + */ + value?: string; + } + /** An interface describing the data returned by calling `tagCollection.toJSON()`. */ + interface TagCollectionData { + items?: PowerPoint.Interfaces.TagData[]; + } + /** An interface describing the data returned by calling `slide.toJSON()`. */ + interface SlideData { + /** + * Gets the unique ID of the slide. + * + * @remarks + * [Api set: PowerPointApi 1.2] + */ + id?: string; + /** + * Returns the zero-based index of the slide representing its position in the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + index?: number; + } + /** An interface describing the data returned by calling `shapeScopedCollection.toJSON()`. */ + interface ShapeScopedCollectionData { + items?: PowerPoint.Interfaces.ShapeData[]; + } + /** An interface describing the data returned by calling `shapeGroup.toJSON()`. */ + interface ShapeGroupData { + /** + * Gets the unique ID of the shape group. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + id?: string; + } + /** An interface describing the data returned by calling `shapeLineFormat.toJSON()`. */ + interface ShapeLineFormatData { + /** + * Represents the line color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + color?: string; + /** + * Represents the dash style of the line. Returns null when the line isn't visible or there are inconsistent dash styles. See {@link PowerPoint.ShapeLineDashStyle} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot"; + /** + * Represents the line style of the shape. Returns null when the line isn't visible or there are inconsistent styles. See {@link PowerPoint.ShapeLineStyle} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + style?: PowerPoint.ShapeLineStyle | "Single" | "ThickBetweenThin" | "ThickThin" | "ThinThick" | "ThinThin"; + /** + * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). Returns null when the shape has inconsistent transparencies. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + transparency?: number; + /** + * Specifies if the line formatting of a shape element is visible. Returns `null` when the shape has inconsistent visibilities. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + visible?: boolean; + /** + * Represents the weight of the line, in points. Returns `null` when the line isn't visible or there are inconsistent line weights. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + weight?: number; + } + /** An interface describing the data returned by calling `shape.toJSON()`. */ + interface ShapeData { + /** + * Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + height?: number; + /** + * Gets the unique ID of the shape. + * + * @remarks + * [Api set: PowerPointApi 1.3] + */ + id?: string; + /** + * The distance, in points, from the left side of the shape to the left side of the slide. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + left?: number; + /** + * Returns the level of the specified shape. + + - A level of 0 means the shape isn't part of a group. + + - A level of 1 means the shape is part of a top-level group. + + - A level greater than 1 indicates the shape is a nested group. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + level?: number; + /** + * Specifies the name of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + name?: string; + /** + * The distance, in points, from the top edge of the shape to the top edge of the slide. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + top?: number; + /** + * Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + type?: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox"; + /** + * Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + width?: number; + /** + * Returns the z-order position of the shape, with 0 representing the bottom of the order stack. Every shape on a slide has a unique z-order, but + each slide also has a unique z-order stack, so two shapes on separate slides could have the same z-order number. + * + * @remarks + * [Api set: PowerPointApi 1.8] + */ + zOrderPosition?: number; + } + /** An interface describing the data returned by calling `binding.toJSON()`. */ + interface BindingData { + /** + * Represents the binding identifier. + * + * @remarks + * [Api set: PowerPointApi 1.8] */ id?: string; /** - * Gets the unique name of the Slide Master. + * Returns the type of the binding. See `BindingType` for details. * * @remarks - * [Api set: PowerPointApi 1.3] + * [Api set: PowerPointApi 1.8] */ - name?: string; + type?: PowerPoint.BindingType | "Shape"; } - /** An interface describing the data returned by calling `tag.toJSON()`. */ - interface TagData { + /** An interface describing the data returned by calling `bindingCollection.toJSON()`. */ + interface BindingCollectionData { + items?: PowerPoint.Interfaces.BindingData[]; + } + /** An interface describing the data returned by calling `customProperty.toJSON()`. */ + interface CustomPropertyData { /** - * Gets the unique ID of the tag. The `key` is unique within the owning `TagCollection` and always stored as uppercase letters within the document. + * The string that uniquely identifies the custom property. * * @remarks - * [Api set: PowerPointApi 1.3] + * [Api set: PowerPointApi 1.7] */ key?: string; /** - * Gets the value of the tag. + * The type of the value used for the custom property. * * @remarks - * [Api set: PowerPointApi 1.3] + * [Api set: PowerPointApi 1.7] */ - value?: string; + type?: PowerPoint.DocumentPropertyType | "Boolean" | "Date" | "Number" | "String"; + /** + * The value of the custom property. + If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + value?: boolean | Date | number | string; } - /** An interface describing the data returned by calling `tagCollection.toJSON()`. */ - interface TagCollectionData { - items?: PowerPoint.Interfaces.TagData[]; + /** An interface describing the data returned by calling `customPropertyCollection.toJSON()`. */ + interface CustomPropertyCollectionData { + items?: PowerPoint.Interfaces.CustomPropertyData[]; } - /** An interface describing the data returned by calling `slide.toJSON()`. */ - interface SlideData { + /** An interface describing the data returned by calling `documentProperties.toJSON()`. */ + interface DocumentPropertiesData { /** - * Gets the unique ID of the slide. + * The author of the presentation. * * @remarks - * [Api set: PowerPointApi 1.2] + * [Api set: PowerPointApi 1.7] */ - id?: string; + author?: string; /** - * Returns the zero-based index of the slide representing its position in the presentation. + * The category of the presentation. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] */ - index?: number; - } - /** An interface describing the data returned by calling `shapeScopedCollection.toJSON()`. */ - interface ShapeScopedCollectionData { - items?: PowerPoint.Interfaces.ShapeData[]; - } - /** An interface describing the data returned by calling `shapeGroup.toJSON()`. */ - interface ShapeGroupData { + category?: string; /** - * Gets the unique ID of the shape group. + * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.7] */ - id?: string; - } - /** An interface describing the data returned by calling `shapeLineFormat.toJSON()`. */ - interface ShapeLineFormatData { + comments?: string; /** - * Represents the line color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). + * The company of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - color?: string; + company?: string; /** - * Represents the dash style of the line. Returns null when the line isn't visible or there are inconsistent dash styles. See {@link PowerPoint.ShapeLineDashStyle} for details. + * The creation date of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - dashStyle?: PowerPoint.ShapeLineDashStyle | "Dash" | "DashDot" | "DashDotDot" | "LongDash" | "LongDashDot" | "RoundDot" | "Solid" | "SquareDot" | "LongDashDotDot" | "SystemDash" | "SystemDot" | "SystemDashDot"; + creationDate?: Date; /** - * Represents the line style of the shape. Returns null when the line isn't visible or there are inconsistent styles. See {@link PowerPoint.ShapeLineStyle} for details. + * The keywords of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - style?: PowerPoint.ShapeLineStyle | "Single" | "ThickBetweenThin" | "ThickThin" | "ThinThick" | "ThinThin"; + keywords?: string; /** - * Specifies the transparency percentage of the line as a value from 0.0 (opaque) through 1.0 (clear). Returns null when the shape has inconsistent transparencies. + * The last author of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - transparency?: number; + lastAuthor?: string; /** - * Specifies if the line formatting of a shape element is visible. Returns `null` when the shape has inconsistent visibilities. + * The manager of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - visible?: boolean; + manager?: string; /** - * Represents the weight of the line, in points. Returns `null` when the line isn't visible or there are inconsistent line weights. + * The revision number of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - weight?: number; - } - /** An interface describing the data returned by calling `bulletFormat.toJSON()`. */ - interface BulletFormatData { + revisionNumber?: number; /** - * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. + * The subject of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - visible?: boolean | null; - } - /** An interface describing the data returned by calling `paragraphFormat.toJSON()`. */ - interface ParagraphFormatData { + subject?: string; /** - * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. + * The title of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - horizontalAlignment?: PowerPoint.ParagraphHorizontalAlignment | "Left" | "Center" | "Right" | "Justify" | "JustifyLow" | "Distributed" | "ThaiDistributed" | null; + title?: string; } - /** An interface describing the data returned by calling `textRange.toJSON()`. */ - interface TextRangeData { + /** An interface describing the data returned by calling `slideCollection.toJSON()`. */ + interface SlideCollectionData { + items?: PowerPoint.Interfaces.SlideData[]; + } + /** An interface describing the data returned by calling `slideScopedCollection.toJSON()`. */ + interface SlideScopedCollectionData { + items?: PowerPoint.Interfaces.SlideData[]; + } + /** An interface describing the data returned by calling `slideMasterCollection.toJSON()`. */ + interface SlideMasterCollectionData { + items?: PowerPoint.Interfaces.SlideMasterData[]; + } + /** + * @remarks + * [Api set: PowerPointApi 1.0] + */ + interface PresentationLoadOptions { /** - * Gets or sets the length of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. - * - * @remarks - * [Api set: PowerPointApi 1.5] + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ - length?: number; + $all?: boolean; /** - * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. + * Gets the properties of the presentation. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - start?: number; + properties?: PowerPoint.Interfaces.DocumentPropertiesLoadOptions; /** - * Represents the plain text content of the text range. + * Gets the ID of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - text?: string; + id?: boolean; + title?: boolean; } - /** An interface describing the data returned by calling `textFrame.toJSON()`. */ - interface TextFrameData { + /** + * Represents a custom XML part object. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + interface CustomXmlPartLoadOptions { /** - * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. - * - * @remarks - * [Api set: PowerPointApi 1.4] + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ - autoSizeSetting?: PowerPoint.ShapeAutoSize | "AutoSizeNone" | "AutoSizeTextToFitShape" | "AutoSizeShapeToFitText" | "AutoSizeMixed"; + $all?: boolean; /** - * Represents the bottom margin, in points, of the text frame. + * The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - bottomMargin?: number; + id?: boolean; /** - * Specifies if the text frame contains text. + * The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - hasText?: boolean; + namespaceUri?: boolean; + } + /** + * A scoped collection of custom XML parts. + A scoped collection is the result of some operation (such as filtering by namespace). + A scoped collection cannot be scoped any further. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + interface CustomXmlPartScopedCollectionLoadOptions { /** - * Represents the left margin, in points, of the text frame. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - leftMargin?: number; + id?: boolean; /** - * Represents the right margin, in points, of the text frame. + * For EACH ITEM in the collection: The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - rightMargin?: number; + namespaceUri?: boolean; + } + /** + * A collection of custom XML parts. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + interface CustomXmlPartCollectionLoadOptions { /** - * Represents the top margin, in points, of the text frame. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - topMargin?: number; + id?: boolean; /** - * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. + * For EACH ITEM in the collection: The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] + */ + namespaceUri?: boolean; + } + /** + * Represents the bullet formatting properties of a text that is attached to the {@link PowerPoint.ParagraphFormat}. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + interface BulletFormatLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ - verticalAlignment?: PowerPoint.TextVerticalAlignment | "Top" | "Middle" | "Bottom" | "TopCentered" | "MiddleCentered" | "BottomCentered"; + $all?: boolean; /** - * Determines whether lines break automatically to fit text inside the shape. + * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. * * @remarks * [Api set: PowerPointApi 1.4] */ - wordWrap?: boolean; + visible?: boolean; } - /** An interface describing the data returned by calling `shape.toJSON()`. */ - interface ShapeData { + /** + * Represents the paragraph formatting properties of a text that is attached to the {@link PowerPoint.TextRange}. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + interface ParagraphFormatLoadOptions { /** - * Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. - * - * @remarks - * [Api set: PowerPointApi 1.4] + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ - height?: number; + $all?: boolean; /** - * Gets the unique ID of the shape. - * - * @remarks - * [Api set: PowerPointApi 1.3] - */ - id?: string; + * Represents the bullet format of the paragraph. See {@link PowerPoint.BulletFormat} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + bulletFormat?: PowerPoint.Interfaces.BulletFormatLoadOptions; /** - * The distance, in points, from the left side of the shape to the left side of the slide. + * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - left?: number; + horizontalAlignment?: boolean; + } + /** + * Represents the font attributes, such as font name, font size, and color, for a shape's TextRange object. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + interface ShapeFontLoadOptions { /** - * Returns the level of the specified shape. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: - - A level of 0 means the shape isn't part of a group. + - `true`: All the text has the **All Caps** attribute. - - A level of 1 means the shape is part of a top-level group. + - `false`: None of the text has the **All Caps** attribute. - - A level greater than 1 indicates the shape is a nested group. + - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. * * @remarks * [Api set: PowerPointApi 1.8] */ - level?: number; + allCaps?: boolean; /** - * Specifies the name of this shape. + * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: + + - `true`: All the text is bold. + + - `false`: None of the text is bold. + + - `null`: Returned if some, but not all, of the text is bold. * * @remarks * [Api set: PowerPointApi 1.4] */ - name?: string; + bold?: boolean; /** - * The distance, in points, from the top edge of the shape to the top edge of the slide. + * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. * * @remarks * [Api set: PowerPointApi 1.4] */ - top?: number; + color?: boolean; /** - * Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. + * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Double strikethrough** attribute. + + - `false`: None of the text has the **Double strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.8] */ - type?: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox"; + doubleStrikethrough?: boolean; /** - * Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: + + - `true`: All the text is italicized. + + - `false`: None of the text is italicized. + + - `null`: Returned if some, but not all, of the text is italicized. * * @remarks * [Api set: PowerPointApi 1.4] */ - width?: number; + italic?: boolean; /** - * Returns the z-order position of the shape, with 0 representing the bottom of the order stack. Every shape on a slide has a unique z-order, but - each slide also has a unique z-order stack, so two shapes on separate slides could have the same z-order number. + * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - zOrderPosition?: number; - } - /** An interface describing the data returned by calling `binding.toJSON()`. */ - interface BindingData { + name?: boolean; /** - * Represents the binding identifier. + * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - id?: string; + size?: boolean; /** - * Returns the type of the binding. See `BindingType` for details. + * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: + + - `true`: All the text has the **Small Caps** attribute. + + - `false`: None of the text has the **Small Caps** attribute. + + - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. * * @remarks * [Api set: PowerPointApi 1.8] */ - type?: PowerPoint.BindingType | "Shape"; - } - /** An interface describing the data returned by calling `bindingCollection.toJSON()`. */ - interface BindingCollectionData { - items?: PowerPoint.Interfaces.BindingData[]; - } - /** An interface describing the data returned by calling `customProperty.toJSON()`. */ - interface CustomPropertyData { - /** - * The string that uniquely identifies the custom property. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - key?: string; - /** - * The type of the value used for the custom property. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - type?: PowerPoint.DocumentPropertyType | "Boolean" | "Date" | "Number" | "String"; - /** - * The value of the custom property. - If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - value?: boolean | Date | number | string; - } - /** An interface describing the data returned by calling `customPropertyCollection.toJSON()`. */ - interface CustomPropertyCollectionData { - items?: PowerPoint.Interfaces.CustomPropertyData[]; - } - /** An interface describing the data returned by calling `documentProperties.toJSON()`. */ - interface DocumentPropertiesData { - /** - * The author of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - author?: string; + smallCaps?: boolean; /** - * The category of the presentation. + * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: + + - `true`: All the text has the **Strikethrough** attribute. + + - `false`: None of the text has the **Strikethrough** attribute. + + - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.8] */ - category?: string; + strikethrough?: boolean; /** - * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. + * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Subscript** attribute. + + - `false`: None of the text has the **Subscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.8] */ - comments?: string; + subscript?: boolean; /** - * The company of the presentation. + * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: + + - `true`: All the text has the **Superscript** attribute. + + - `false`: None of the text has the **Superscript** attribute. + + - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.8] */ - company?: string; + superscript?: boolean; /** - * The creation date of the presentation. + * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - creationDate?: Date; + underline?: boolean; + } + /** + * Represents the text frame of a shape object. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + interface TextFrameLoadOptions { /** - * The keywords of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ - keywords?: string; + $all?: boolean; /** - * The last author of the presentation. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - lastAuthor?: string; + * Represents the text that is attached to a shape in the text frame, and properties and methods for manipulating the text. See {@link PowerPoint.TextRange} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + textRange?: PowerPoint.Interfaces.TextRangeLoadOptions; /** - * The manager of the presentation. + * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - manager?: string; + autoSizeSetting?: boolean; /** - * The revision number of the presentation. + * Represents the bottom margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - revisionNumber?: number; + bottomMargin?: boolean; /** - * The subject of the presentation. + * Specifies if the text frame contains text. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - subject?: string; + hasText?: boolean; /** - * The title of the presentation. + * Represents the left margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.7] - */ - title?: string; - } - /** An interface describing the data returned by calling `slideCollection.toJSON()`. */ - interface SlideCollectionData { - items?: PowerPoint.Interfaces.SlideData[]; - } - /** An interface describing the data returned by calling `slideScopedCollection.toJSON()`. */ - interface SlideScopedCollectionData { - items?: PowerPoint.Interfaces.SlideData[]; - } - /** An interface describing the data returned by calling `slideMasterCollection.toJSON()`. */ - interface SlideMasterCollectionData { - items?: PowerPoint.Interfaces.SlideMasterData[]; - } - /** - * @remarks - * [Api set: PowerPointApi 1.0] - */ - interface PresentationLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * [Api set: PowerPointApi 1.4] */ - $all?: boolean; + leftMargin?: boolean; /** - * Gets the properties of the presentation. + * Represents the right margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - properties?: PowerPoint.Interfaces.DocumentPropertiesLoadOptions; + rightMargin?: boolean; /** - * Gets the ID of the presentation. + * Represents the top margin, in points, of the text frame. * * @remarks - * [Api set: PowerPointApi 1.5] - */ - id?: boolean; - title?: boolean; - } - /** - * Represents a custom XML part object. - * - * @remarks - * [Api set: PowerPointApi 1.7] - */ - interface CustomXmlPartLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * [Api set: PowerPointApi 1.4] */ - $all?: boolean; + topMargin?: boolean; /** - * The ID of the custom XML part. + * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - id?: boolean; + verticalAlignment?: boolean; /** - * The namespace URI of the custom XML part. + * Determines whether lines break automatically to fit text inside the shape. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - namespaceUri?: boolean; + wordWrap?: boolean; } /** - * A scoped collection of custom XML parts. - A scoped collection is the result of some operation (such as filtering by namespace). - A scoped collection cannot be scoped any further. + * Contains the text that is attached to a shape, in addition to properties and methods for manipulating the text. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.4] */ - interface CustomXmlPartScopedCollectionLoadOptions { + interface TextRangeLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * For EACH ITEM in the collection: The ID of the custom XML part. + * Returns a `ShapeFont` object that represents the font attributes for the text range. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + font?: PowerPoint.Interfaces.ShapeFontLoadOptions; + /** + * Represents the paragraph format of the text range. See {@link PowerPoint.ParagraphFormat} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + paragraphFormat?: PowerPoint.Interfaces.ParagraphFormatLoadOptions; + /** + * Gets or sets the length of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.5] */ - id?: boolean; + length?: boolean; /** - * For EACH ITEM in the collection: The namespace URI of the custom XML part. + * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. + Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.5] */ - namespaceUri?: boolean; + start?: boolean; + /** + * Represents the plain text content of the text range. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + text?: boolean; } /** - * A collection of custom XML parts. + * Represents a single hyperlink. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.6] */ - interface CustomXmlPartCollectionLoadOptions { + interface HyperlinkLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * For EACH ITEM in the collection: The ID of the custom XML part. + * Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.6] */ - id?: boolean; + address?: boolean; /** - * For EACH ITEM in the collection: The namespace URI of the custom XML part. + * Specifies the string displayed when hovering over the hyperlink. * * @remarks - * [Api set: PowerPointApi 1.7] + * [Api set: PowerPointApi 1.6] */ - namespaceUri?: boolean; + screenTip?: boolean; } /** * Represents the properties of a `placeholder` shape. @@ -136150,32 +136692,6 @@ declare namespace PowerPoint { */ type?: boolean; } - /** - * Represents a single hyperlink. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - interface HyperlinkLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * Specifies the URL target of the hyperlink. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - address?: boolean; - /** - * Specifies the string displayed when hovering over the hyperlink. - * - * @remarks - * [Api set: PowerPointApi 1.6] - */ - screenTip?: boolean; - } /** * Represents a collection of hyperlinks. * @@ -136188,7 +136704,7 @@ declare namespace PowerPoint { */ $all?: boolean; /** - * For EACH ITEM in the collection: Specifies the URL target of the hyperlink. + * For EACH ITEM in the collection: Specifies the address of the hyperlink, which can be a URL, a file name or file path, or an email address with the `mailto` URI scheme. * * @remarks * [Api set: PowerPointApi 1.6] @@ -136343,175 +136859,31 @@ declare namespace PowerPoint { * [Api set: PowerPointApi 1.4] */ interface ShapeFillLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - foregroundColor?: boolean; - /** - * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - transparency?: boolean; - /** - * Returns the fill type of the shape. See {@link PowerPoint.ShapeFillType} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - type?: boolean; - } - /** - * Represents the font attributes, such as font name, font size, and color, for a shape's TextRange object. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - interface ShapeFontLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to use the **All Caps** attribute which makes lowercase letters appear as uppercase letters. The possible values are as follows: - - - `true`: All the text has the **All Caps** attribute. - - - `false`: None of the text has the **All Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **All Caps** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - allCaps?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to bold. The possible values are as follows: - - - `true`: All the text is bold. - - - `false`: None of the text is bold. - - - `null`: Returned if some, but not all, of the text is bold. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - bold?: boolean; - /** - * Specifies the HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` contains text fragments with different colors. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - color?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to use the **Double strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Double strikethrough** attribute. - - - `false`: None of the text has the **Double strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Double strikethrough** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - doubleStrikethrough?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to italic. The possible values are as follows: - - - `true`: All the text is italicized. - - - `false`: None of the text is italicized. - - - `null`: Returned if some, but not all, of the text is italicized. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - italic?: boolean; - /** - * Specifies the font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it's the Latin font name. Returns `null` if the `TextRange` contains text fragments with different font names. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - name?: boolean; - /** - * Specifies the font size in points (e.g., 11). Returns `null` if the `TextRange` contains text fragments with different font sizes. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - size?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to use the **Small Caps** attribute which makes lowercase letters appear as small uppercase letters. The possible values are as follows: - - - `true`: All the text has the **Small Caps** attribute. - - - `false`: None of the text has the **Small Caps** attribute. - - - `null`: Returned if some, but not all, of the text has the **Small Caps** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] - */ - smallCaps?: boolean; - /** - * Specifies whether the text in the `TextRange` is set to use the **Strikethrough** attribute. The possible values are as follows: - - - `true`: All the text has the **Strikethrough** attribute. - - - `false`: None of the text has the **Strikethrough** attribute. - - - `null`: Returned if some, but not all, of the text has the **Strikethrough** attribute. - * - * @remarks - * [Api set: PowerPointApi 1.8] + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ - strikethrough?: boolean; + $all?: boolean; /** - * Specifies whether the text in the `TextRange` is set to use the **Subscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Subscript** attribute. - - - `false`: None of the text has the **Subscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Subscript** attribute. + * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - subscript?: boolean; + foregroundColor?: boolean; /** - * Specifies whether the text in the `TextRange` is set to use the **Superscript** attribute. The possible values are as follows: - - - `true`: All the text has the **Superscript** attribute. - - - `false`: None of the text has the **Superscript** attribute. - - - `null`: Returned if some, but not all, of the text has the **Superscript** attribute. + * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type doesn't support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. * * @remarks - * [Api set: PowerPointApi 1.8] + * [Api set: PowerPointApi 1.4] */ - superscript?: boolean; + transparency?: boolean; /** - * Specifies the type of underline applied to the font. Returns `null` if the `TextRange` contains text fragments with different underline styles. See {@link PowerPoint.ShapeFontUnderlineStyle} for details. + * Returns the fill type of the shape. See {@link PowerPoint.ShapeFillType} for details. * * @remarks * [Api set: PowerPointApi 1.4] */ - underline?: boolean; + type?: boolean; } /** * Represents a table. @@ -136568,14 +136940,14 @@ declare namespace PowerPoint { */ columnIndex?: boolean; /** - * Specifies the horizontal alignment of the table cell. Returns `null` if the cell text contains different alignments. + * Specifies the horizontal alignment of the text in the table cell. Returns `null` if the cell text contains different alignments. * * @remarks * [Api set: PowerPointApi 1.9] */ horizontalAlignment?: boolean; /** - * Specifies the indent level of the table cell. Returns `null` if the cell text contains different indent levels. + * Specifies the indent level of the text in the table cell. Returns `null` if the cell text contains different indent levels. * * @remarks * [Api set: PowerPointApi 1.9] @@ -136674,14 +137046,14 @@ declare namespace PowerPoint { */ columnIndex?: boolean; /** - * For EACH ITEM in the collection: Specifies the horizontal alignment of the table cell. Returns `null` if the cell text contains different alignments. + * For EACH ITEM in the collection: Specifies the horizontal alignment of the text in the table cell. Returns `null` if the cell text contains different alignments. * * @remarks * [Api set: PowerPointApi 1.9] */ horizontalAlignment?: boolean; /** - * For EACH ITEM in the collection: Specifies the indent level of the table cell. Returns `null` if the cell text contains different indent levels. + * For EACH ITEM in the collection: Specifies the indent level of the text in the table cell. Returns `null` if the cell text contains different indent levels. * * @remarks * [Api set: PowerPointApi 1.9] @@ -136843,6 +137215,67 @@ declare namespace PowerPoint { */ rowIndex?: boolean; } + /** + * Represents the available table style settings. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + interface TableStyleSettingsLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Specifies if the columns show banded formatting in which odd columns are highlighted differently from even ones, to make reading the table easier. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + areColumnsBanded?: boolean; + /** + * Specifies if the rows show banded formatting in which odd rows are highlighted differently from even ones, to make reading the table easier. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + areRowsBanded?: boolean; + /** + * Specifies if the first column contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isFirstColumnHighlighted?: boolean; + /** + * Specifies if the first row contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isFirstRowHighlighted?: boolean; + /** + * Specifies if the last column contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isLastColumnHighlighted?: boolean; + /** + * Specifies if the last row contains special formatting. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + isLastRowHighlighted?: boolean; + /** + * Specifies the table style. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + style?: boolean; + } /** * Represents a table. * @@ -136854,6 +137287,13 @@ declare namespace PowerPoint { Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; + /** + * Gets the table style settings. + * + * @remarks + * [Api set: PowerPointApi 1.9] + */ + styleSettings?: PowerPoint.Interfaces.TableStyleSettingsLoadOptions; /** * Gets the number of columns in the table. * @@ -137394,175 +137834,6 @@ declare namespace PowerPoint { */ weight?: boolean; } - /** - * Represents the bullet formatting properties of a text that is attached to the {@link PowerPoint.ParagraphFormat}. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - interface BulletFormatLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * Specifies if the bullets in the paragraph are visible. Returns `null` if the {@link PowerPoint.TextRange} includes text fragments with different bullet visibility values. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - visible?: boolean; - } - /** - * Represents the paragraph formatting properties of a text that is attached to the {@link PowerPoint.TextRange}. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - interface ParagraphFormatLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * Represents the bullet format of the paragraph. See {@link PowerPoint.BulletFormat} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - bulletFormat?: PowerPoint.Interfaces.BulletFormatLoadOptions; - /** - * Represents the horizontal alignment of the paragraph. Returns 'null' if the 'TextRange' includes text fragments with different horizontal alignment values. See {@link PowerPoint.ParagraphHorizontalAlignment} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - horizontalAlignment?: boolean; - } - /** - * Contains the text that is attached to a shape, in addition to properties and methods for manipulating the text. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - interface TextRangeLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * Returns a `ShapeFont` object that represents the font attributes for the text range. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - font?: PowerPoint.Interfaces.ShapeFontLoadOptions; - /** - * Represents the paragraph format of the text range. See {@link PowerPoint.ParagraphFormat} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - paragraphFormat?: PowerPoint.Interfaces.ParagraphFormatLoadOptions; - /** - * Gets or sets the length of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the available text from the starting point. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - length?: boolean; - /** - * Gets or sets zero-based index, relative to the parent text frame, for the starting position of the range that this `TextRange` represents. - Throws an `InvalidArgument` exception when set with a negative value or if the value is greater than the length of the text. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - start?: boolean; - /** - * Represents the plain text content of the text range. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - text?: boolean; - } - /** - * Represents the text frame of a shape object. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - interface TextFrameLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * Represents the text that is attached to a shape in the text frame, and properties and methods for manipulating the text. See {@link PowerPoint.TextRange} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - textRange?: PowerPoint.Interfaces.TextRangeLoadOptions; - /** - * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - autoSizeSetting?: boolean; - /** - * Represents the bottom margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - bottomMargin?: boolean; - /** - * Specifies if the text frame contains text. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - hasText?: boolean; - /** - * Represents the left margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - leftMargin?: boolean; - /** - * Represents the right margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - rightMargin?: boolean; - /** - * Represents the top margin, in points, of the text frame. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - topMargin?: boolean; - /** - * Represents the vertical alignment of the text frame. See {@link PowerPoint.TextVerticalAlignment} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - verticalAlignment?: boolean; - /** - * Determines whether lines break automatically to fit text inside the shape. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - wordWrap?: boolean; - } /** * Represents a single shape in the slide. *